Plugin for Nagios which allows monitoring the internals of WebSphere Application Server.
Start here: InitialConfiguration
Currently, the following items are currently possible to monitor:
- MonitorJvmHeapsize
- MonitorJdbcConnectionPools
- MonitorThreadPools
- MonitorLiveSessions
下载地址: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=yaoshi
- mtw.password=www.yaoshi.com
- 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=yaoshi
- mtc.password=www.yaoshi.com
- 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;
修改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