Nagios监控websphere插件安装

本文介绍如何使用Nagios插件检查WebSphere Application Server的内部状态,包括JVM堆内存、JDBC连接池、线程池、活跃会话等,并详细说明了配置、安装、测试及与Nagios集成的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Plugin for Nagios which allows monitoring the internals of WebSphere Application Server.

Start here: InitialConfiguration

Currently, the following items are currently possible to monitor:

下载地址:http://code.google.com/p/nagios-was/downloads/detail?name=check_was-0.4-bin.tar.gz&can=2&q=


安装:

[root@localhost etc]# cd /usr/local/src/tarbag/
[root@localhost tarbag]#tar zxvf check_was-0.4-bin.tar.gz -C /usr/local/nagios/libexec/check_was
[root@localhost tarbag]#cd /usr/local/nagios/libexec/check_was/

修改check_was程序:

[root@localhost check_was]# vi check_was
#!/bin/sh
PLUGIN_HOME=/usr/local/nagios/libexec/check_was
JAVA_HOME=/opt/IBM/WebSphere/AppServer/java       \\这个java是websphere的java不是系统的java.
WAS_HOME=/opt/IBM/WebSphere/AppServer
$JAVA_HOME/bin/java -Dplugin.home="$PLUGIN_HOME" -cp $PLUGIN_HOME/check_was-0.4.jar:$WAS_HOME/runtimes/com.ibm.ws.admin.client_6.1.0.jar:$WAS_HOME/runtimes/com.ibm.ws.webservices.thinclient_6.1.0.jar:$WAS_HOME/plugins/com.ibm.ws.security.crypto_6.1.0.jar com.googlecode.nagioswas.Run  $*  2> /dev/null

JAVA_HOME指定错误的话会报错:

ERROR - ADMC0053E: 启用 SOAP 连接器安全性时,系统无法创建连接到端口 8881 上的主机 localhost 的 SOAP 连接器。

修改check_was.servers

[root@localhost check_was]# vi check_was.servers 
mtw.hostname=localhost
mtw.port=8881
mtw.username=admin
mtw.password=admin
mtw.securityenabled=true
mtw.truststore=/opt/IBM/WebSphere/AppServer/profiles/server01/etc/trust.p12
mtw.keystore=/opt/IBM/WebSphere/AppServer/profiles/server01/etc/key.p12
mtw.truststorepassword=WebAS    \\这个是默认Key的密码.
mtw.keystorepassword=WebAS

mtc.hostname=localhost
mtc.port=8882
mtc.username=admin
mtc.password=admin
mtc.securityenabled=true
mtc.truststore=/opt/IBM/WebSphere/AppServer/profiles/server02/etc/trust.p12
mtc.keystore=/opt/IBM/WebSphere/AppServer/profiles/server02/etc/key.p12
mtc.truststorepassword=WebAS
mtc.keystorepassword=WebAS

测试 

[root@localhost check_was]# ./check_was -s connectionpool -w 80 -c 90 -p mtw
OK - connection pool size: Oracle JDBC Driver 1/10 (10.0%)|oraclejdbcdriver=10.0%;80;90; 
结合nagios:

修改websphere主机的nrpe.cfg

command[check_mtw_session]=/usr/local/nagios/libexec/check_was/check_was -s sessions -w 200 -c 400 -p mtw -n mtw*
command[check_mtw_jvm]=/usr/local/nagios/libexec/check_was/check_was -s heapsize -w 80 -c 90 -p mtw
command[check_mtw_jdbc]=/usr/local/nagios/libexec/check_was/check_was -s connectionpool -w 80 -c 90 -p mtw
command[check_mtw_threadpool_WebContainer]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n WebContainer
command[check_mtw_threadpool_ORB.thread.pool]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n ORB.thread.pool
command[check_mtw_threadpool_SoapConnectorThreadPool]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n SoapConnectorThreadPool
command[check_mtw_threadpool_HAManager.thread.pool]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n HAManager.thread.pool
command[check_mtw_threadpool_MessageListenerThreadPool]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n MessageListenerThreadPool
command[check_mtw_threadpool_DRSThreadPool]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n DRSThreadPool

command[check_mtc_session]=/usr/local/nagios/libexec/check_was/check_was -s sessions -w 200 -c 400 -p mtc -n mtc*
command[check_mtc_jvm]=/usr/local/nagios/libexec/check_was/check_was -s heapsize -w 80 -c 90 -p mtc
command[check_mtc_jdbc]=/usr/local/nagios/libexec/check_was/check_was -s connectionpool -w 80 -c 90 -p mtc
command[check_mtc_threadpool_WebContainer]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n WebContainer
command[check_mtc_threadpool_ORB.thread.pool]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n ORB.thread.pool
command[check_mtc_threadpool_SoapConnectorThreadPool]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n SoapConnectorThreadPool
command[check_mtc_threadpool_HAManager.thread.pool]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n HAManager.thread.pool
command[check_mtc_threadpool_MessageListenerThreadPool]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n MessageListenerThreadPool
command[check_mtc_threadpool_DRSThreadPool]=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n DRSThreadPool

修改Nagios 对应websphere的cfg文件:

#SERVER01 MTC

define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTW_SESSIONS
        check_command                   check_nrpe!check_mtw_session
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTW_JVM_Memery
        check_command                   check_nrpe!check_mtw_jvm
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTW_JDBC_ConnectionPools
        check_command                   check_nrpe!check_mtw_jdbc
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTW_threadpool_WebContainer
        check_command                   check_nrpe!check_mtw_threadpool_WebContainer
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTW_threadpool_ORB.thread.pool
        check_command                   check_nrpe!check_mtw_threadpool_ORB.thread.pool
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTW_threadpool_SoapConnectorThreadPool
        check_command                   check_nrpe!check_mtw_threadpool_SoapConnectorThreadPool
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTW_threadpool_HAManager.thread.pool
        check_command                   check_nrpe!check_mtw_threadpool_HAManager.thread.pool
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTW_threadpool_MessageListenerThreadPool
        check_command                   check_nrpe!check_mtw_threadpool_MessageListenerThreadPool
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTW_DRSThreadPool
        check_command                   check_nrpe!check_mtw_threadpool_DRSThreadPool
        notifications_enabled           1
        }
#SERVER02 MTC
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTC_SESSIONS
        check_command                   check_nrpe!check_mtc_session
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTC_JVM_Memery
        check_command                   check_nrpe!check_mtc_jvm
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTC_JDBC_ConnectionPools
        check_command                   check_nrpe!check_mtc_jdbc
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTC_threadpool_WebContainer
        check_command                   check_nrpe!check_mtc_threadpool_WebContainer
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTC_threadpool_ORB.thread.pool
        check_command                   check_nrpe!check_mtc_threadpool_ORB.thread.pool
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTC_threadpool_SoapConnectorThreadPool
        check_command                   check_nrpe!check_mtc_threadpool_SoapConnectorThreadPool
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTC_threadpool_HAManager.thread.pool
        check_command                   check_nrpe!check_mtc_threadpool_HAManager.thread.pool
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTC_threadpool_MessageListenerThreadPool
        check_command                   check_nrpe!check_mtc_threadpool_MessageListenerThreadPool
        notifications_enabled           1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.100.99
        service_description             WAS_MTC_DRSThreadPool
        check_command                   check_nrpe!check_mtc_threadpool_DRSThreadPool
        notifications_enabled           1
        }

重启nagios跟nrpe客户端



check_was可以监控的内容:

MonitorLiveSessions:
check_was -s sessions -w 200 -c 400 -p <server name> -n <host name>
可以查看某一个JVM的全部sessions也可以指定某一个应用的session 加上-n 应用名

MonitorJvmHeapsize:
check_was -s heapsize -w 80 -c 90 -p <server name>

MonitorJdbcConnectionPools  数据库连接池:
check_was -s connectionpool -w 80 -c 90 -p <server name> -n <connection pool name>

MonitorThreadPools : 线程:
check_was -s threadpool -w 80 -c 90 -p <server name> -n <thread pool name>
线程池数据
WebContainer
ORB.thread.pool 
MessageListenerThreadPool  
SoapConnectorThreadPool
WebContainer
HAManager.thread.pool
DRSThreadPool


资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值