hwl198212 发表于 2015-11-23 10:31:48

Nagios监控websphere插件安装


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=
  


  安装:
  

# cd /usr/local/src/tarbag/
#tar zxvf check_was-0.4-bin.tar.gz -C /usr/local/nagios/libexec/check_was
#cd /usr/local/nagios/libexec/check_was/
  修改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
  

# 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
  测试
  

# ./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=/usr/local/nagios/libexec/check_was/check_was -s sessions -w 200 -c 400 -p mtw -n mtw*
command=/usr/local/nagios/libexec/check_was/check_was -s heapsize -w 80 -c 90 -p mtw
command=/usr/local/nagios/libexec/check_was/check_was -s connectionpool -w 80 -c 90 -p mtw
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n WebContainer
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n ORB.thread.pool
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n SoapConnectorThreadPool
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n HAManager.thread.pool
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n MessageListenerThreadPool
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtw -n DRSThreadPool
command=/usr/local/nagios/libexec/check_was/check_was -s sessions -w 200 -c 400 -p mtc -n mtc*
command=/usr/local/nagios/libexec/check_was/check_was -s heapsize -w 80 -c 90 -p mtc
command=/usr/local/nagios/libexec/check_was/check_was -s connectionpool -w 80 -c 90 -p mtc
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n WebContainer
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n ORB.thread.pool
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n SoapConnectorThreadPool
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n HAManager.thread.pool
command=/usr/local/nagios/libexec/check_was/check_was -s threadpool -w 80 -c 90 -p mtc -n MessageListenerThreadPool
command=/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
页: [1]
查看完整版本: Nagios监控websphere插件安装