欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年通过nagios监控weblogic服务 .pdf

    • 资源ID:33657254       资源大小:212.47KB        全文页数:9页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年通过nagios监控weblogic服务 .pdf

    通过 Nagios 监控 Weblogic 服务 1. 前言本文主要介绍如何通过Nagios 软件来监控 Weblogic 服务运行状况,其中主要包括Weblogic Server以及 Weblogic JDBC Pool 的运行状态。Nagios 的插件中本身并不提供对于 Weblogic 服务监控的功能,所以要根据Nagios Plugin API编写自己的脚本,扩展其插件,完成我们所需要的功能。对于Weblogic 运行状态信息的获得需通过JMX 。本文参考了 Nagios3 的官方文档中有关 Nagios Plugin部分,以及 Weblogic 官方文档有关 JMX和命令行部分,具体的Weblogic 版本是 8.14。 2.Nagios Plugin API概述作为一个 Nagios 插件,无论你是用脚本(如shell 、perl )还是用c 编译后的可执行程序实现,它必须至少完成两件事,1、退出时有一个返回值。2、至少向标准输出设备(STDOUT)输出一行文本。返回值定义:Plugin Return CodeService StateHost State0 OK UP1 WARNINGUP or DOWN/UNREACHABLE*2 CRITICAL DOWN/UNREACHABLE3 UNKNOWN DOWN/UNREACHABLE输出文本至少要一行,其信息主要反映被监控应用、服务的状态。例如:DISK OK - free space: / 3326 MB (56%); 3. 监控 Weblogic 的实现方法对于 Weblogic 运行状况的获得,我们是通过命令行的方式实现的,通过调用Weblogic的 weblogic.Admin 类实现的。这个类的功能很强大,可以通过它管理和配置Weblogic。以下介绍几个常用的命令写法。1、获得 server 运行状态名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - -mbean $DOMAIN_NAME:Location=$SERVER_NAME,Name=$SERVER_NAME,Type=ServerRuntime”2、获得 JDBC Pool运行状态 -mbean $DOMAIN_NAME:Location=$SERVER_NAME,Name=$POOL_NAME,ServerRuntime=$SERVER_NAME,Type=JDBCConnectionPoolRuntime将黄色标记部分的变量替换成相应真实环境值即可。$URLweblogic 的 URL ,例如 t3:/192.168.1.2:7002$USER_NAME用户名$PASS_WORD密码$DOMAIN_NAMEweblogic 域的名称,如 mydomain$SERVER_NAMEServer 名$POOL_NAMEJDBC Pool 名称在运行上述命令前需要设置JAVA_HOME,并且将$JAVA_HOME/bin添加到 PATH 中,将weblogic 的 weblogic81/server/lib/weblogic.jar包添加到 CLASSPATH中。 4. 具体实现的 shell脚本有了监控的方法,根据Nagios Plugin API规则编写自己的 shell实现脚本。具体的shell 脚本如下:check_wls.sh#!/bin/ksh#check_wls.sh -jdbcpool url username password domainname servername poolname#check_wls.sh -server url username password domainname servernamePROGNAME=basename $0PROGPATH=echo $0 | sed -e s,/*$,REVISION=echo $Revision: 1749 $ | sed -e s/0-9./g. $PROGPATH/utils.shprint_usage() echo Usage: echo $PROGNAME -jdbcpool url username password domainname servername poolname echo $PROGNAME -server url username password domainname servername echo $PROGNAME -help echo $PROGNAME -version名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - print_help() print_revision $PROGNAME $REVISION echo print_usage echo echo Check Weblogic status echo echo -jdbcpool url username password domainname servername poolname echo Check Weblogic JDBC Pool echo -server url username password domainname servername echo Check Weblogic Server if -z $JAVA_HOME then echo Please set JAVA_HOME! exit $STATE_UNKNOWNfiif -z $CLASSPATH then echo Please set CLASSPATH! exit $STATE_UNKNOWNelse echo $CLASSPATH | grep weblogic.jar | wc -l | read N if $N = 0 then echo Please add weblogic.jar to CLASSPATH! exit $STATE_UNKNOWN fifiPATH=$JAVA_HOME/bin:$PATHexport PATHJDBC_TYPE=JDBCConnectionPoolRuntimeSERVER_TYPE=ServerRuntimecmd=$1# Information optionscase $cmd in-help) print_help exit $STATE_OK ;-h) print_help exit $STATE_OK ;-version) print_revision $PROGNAME $REVISION名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - exit $STATE_OK ;-V) print_revision $PROGNAME $REVISION exit $STATE_OK ;esaccase $cmd in-server) URL=$2 USER_NAME=$3 PASS_WORD=$4 DOMAIN_NAME=$5 SERVER_NAME=$6 SERVER_INFO=$DOMAIN_NAME:$SERVER_NAME RE=java weblogic.Admin -url $URL -username $USER_NAME -password $PASS_WORD get -mbean $DOMAIN_NAME:Location=$SERVER_NAME,Name=$SERVER_NAME,Type=$SERVER_TYPE printf $RE | grep - | wc -l | read N if $N -lt 1 then #error printf $RE | awk printf $0 | read ERR_INFO echo CRITICAL - $ERR_INFO exit $STATE_CRITICAL fi if $N -ge 1 then HEALTH_STATE= RUN_STATE= #HealthState State printf $RE | while read NAME VALUE do #PoolState WaitingForConnectionCurrentCount State #echo NAME:$NAME VALUE:$VALUE case $NAME in HealthState:) HEALTH_STATE=$VALUE ; State:) RUN_STATE=$VALUE ; esac done #echo HEALTH_STATE:$HEALTH_STATE #echo RUN_STATE:$RUN_STATE名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - HEALTH_STATE_INFO=$HEALTH_STATE echo $HEALTH_STATE_INFO | awk -F, print $1 | awk -F: print $2 | read HEALTH_STATE #echo HEALTH_STATE:$HEALTH_STATE #HEALTH_OK HEALTH_WARN HEALTH_CRITICAL HEALTH_FAILED if $RUN_STATE != RUNNING then echo CRITICAL - $SERVER_INFO State is $RUN_STATE exit $STATE_CRITICAL fi case $HEALTH_STATE in EALTH_OK) ; HEALTH_WARN) echo WARN - $SERVER_INFO HealthState is $HEALTH_STATE_INFO exit $STATE_WARNING ; HEALTH_CRITICAL) echo CRITICAL - $SERVER_INFO HealthState is $HEALTH_STATE_INFO exit $STATE_CRITICAL ; HEALTH_FAILED) echo FAILED - $SERVER_INFO HealthState is $HEALTH_STATE_INFO exit $STATE_CRITICAL ; esac fi echo OK - $SERVER_INFO State is $RUN_STATE,HealthState is $HEALTH_STATE_INFO exit $STATE_OK ;-jdbcpool) URL=$2 USER_NAME=$3 PASS_WORD=$4 DOMAIN_NAME=$5 SERVER_NAME=$6 POOL_NAME=$7 POOL_INFO=$DOMAIN_NAME:$SERVER_NAME:$POOL_NAME RE=java weblogic.Admin -url $URL -username $USER_NAME -password $PASS_WORD GET -mbean $DOMAIN_NAME:Location=$SERVER_NAME,Name=$POOL_NAME,ServerRuntime=$SERVER_NAME,Type=$JDBC_TYPE printf $RE | grep - | wc -l | read N if $N -lt 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - then #error printf $RE | awk printf $0 | read ERR_INFO echo CRITICAL - $ERR_INFO exit $STATE_CRITICAL fi if $N -ge 1 then POOL_STATE= WAIT_CNT= RUN_STATE= printf $RE | while read NAME VALUE do #PoolState WaitingForConnectionCurrentCount State #echo NAME:$NAME VALUE:$VALUE case $NAME in PoolState:) POOL_STATE=$VALUE ; WaitingForConnectionCurrentCount:) WAIT_CNT=$VALUE ; State:) RUN_STATE=$VALUE ; esac done #echo POOL_STATE:$POOL_STATE #echo WAIT_CNT:$WAIT_CNT #echo RUN_STATE:$RUN_STATE if $POOL_STATE != true then echo CRITICAL - $POOL_INFO PoolState is $POOL_STATE exit $STATE_CRITICAL fi if $RUN_STATE != Running then echo CRITICAL - $POOL_INFO State is $RUN_STATE exit $STATE_CRITICAL fi if $WAIT_CNT -gt 0 then echo WARNING - $POOL_INFO WaitingForConnectionCurrentCount is $WAIT_CNT exit $STATE_WARNING fi else #error printf $RE | awk printf $0 | read ERR_INFO名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - echo CRITICAL - $ERR_INFO exit $STATE_CRITICAL fi echo OK - $POOL_INFO State is $RUN_STATE,PoolState is $POOL_STATE,WaitingForConnectionCurrentCount is $WAIT_CNT exit $STATE_OK ;*) print_usage exit $STATE_UNKNOWN ;esac 5. 配置 Weblogic 监控将 check_wls.sh 上传到 Nagios 软件的 libexec 目录下,并创建一个ln 文件check_wls。$ ln -s ./check_wls.sh ./check_wls在 nrpe 的配置文件中增加相关的命令定义。Weblogic 的具体配置信息如下,$URLt3:/172.17.1.2:7001$USER_NAMEweblogic$PASS_WORDweblogic$DOMAIN_NAMEmydomain$SERVER_NAMEmyserver$POOL_NAMEmypool编辑 nrpe.cfg文件,增加如下内容,$ vi ./nrpe.cfg. . . . . . . . . . . .#check weblogic check_wlscommandcheck_wls_server_myserver=/usr/local/nagios/libexec/check_wls -server t3:/172.2.10.2:7001 weblogic weblogic mydomain myservercommandcheck_wls_jdbcpool_mypool=/usr/local/nagios/libexec/check_wls -jdbcpool t3:/172.2.10.2:7001 weblogic weblogic mydomain myserver mypool在 nrpe 的启动脚本中添加环境变量(CLASSPATH、JAVA_HOME). . . . . . . . . . . .JAVA_HOME=/data/bea/bea/jdk142_05export JAVA_HOMECLASSPATH=/data/bea/bea/weblogic81/server/lib/weblogic.jarexport CLASSPATH. . . . . . . . . . . .名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 编辑监控主机的 nagios.cfg文件,添加如下内容。$ vi ./nagios.cfg. . . . . . . . . . . .# Define a host for the local machinedefine host use linux-box ; Name of host template to use ; This host definition will inherit all variables that are defined ; in (or inherited by) the linux-server host template definition. host_name sol_172.2.10.2 alias sol_172.2.10.2 address 172.2.10.2 #the check_wls_server_myserver on the remote host.define service use generic-service host_name sol_172.2.10.2 service_description Weblogic Server myserver check_command check_nrpe!check_wls_server_myserver #the check_wls_jdbcpool_mypool on the remote host.define service use generic-service host_name sol_172.2.10.2 service_description Weblogic JDBCPool mypool check_command check_nrpe!check_wls_jdbcpool_mypool 验证配置是否正确。重启监控主机上的 nagios 服务以及 远程主机上的 nrpe 服务。通过 IE 观察监控情况。图 5.1就此配置工作完成。 6. 结语名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 本文介绍了一 种通过 Nagios 监控 Weblogic 应用的实现方式, 按照 Nagios Plugin API规则编写自己的 Shell 脚本实现 该功能,并 简单的描述了配置过程,提供了Shell 源码。希望大家指正。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -

    注意事项

    本文(2022年通过nagios监控weblogic服务 .pdf)为本站会员(H****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开