红联Linux门户
Linux帮助

Nagios监控websphere插件安装

发布时间:2014-12-11 11:35:09来源:deccmtd作者:linux人

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;  

结合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