Zabbix監控websphere和weblogic


本節內容

  • zabbix java gateway
  • 配置和運行java gateway
  • 配置zabbix server使用java gateway
  • 調整java gateway的日志級別
  • 監控weblogic
  • 監控websphere

 

一、zabbix java gateway

zabbix通過JMX監控應用服務器。注意如果zabbix需要監控JMX應用的程序,在編譯zabbix的時候就需要--enable-java,同時也需要安裝配置好JDK。詳見我之前的博客《zabbix安裝配置》。

JMX(Java Management Extensions,即Java管理擴展)是一個為應用程序、設備、系統等植入管理功能的框架。JMX可以跨越一系列異構操作系統平台、系統體系結構和網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用。

Zabbix已經集成JMX,可以用Zabbix通過JMX監控JVM,TOMCAT,Weblogic,Jboss等。要使用Zabbix監控Weblogic,我們先要了解Zabbix的JMX監控架構,Weblogic的JMX信息,最后才能去實現怎么去配置監控和報警。

Zabbix是使用了一個叫做Java Gateway的應用去監控JMX的。Java Gateway集成在zabbix官方開發發布的。所以需要在編譯安裝zabbix server時,需要添加一個選項--enable-java。這樣安裝zabbix后在/usr/local/zabbix-3.0.1/sbin目錄下會有個zabbix_java目錄,這個目錄里面就是zabbix Java gateway的文件。

 

二、配置和運行java gateway

默認情況下,Java gateway監聽10052端口. 如果你計划使用不同的端口來運行Java gateway,你需要通過setting.sh腳本指定下需要的端口。

啟動:

./startup.sh

關閉:

./shutdown.sh

 

三、配置zabbix server使用java gateway

當前Java gateway已經運行,接下來你需要告訴Zabbix server如何找到Zabbix Java gateway. 因此你需要在 server配置文件 中指定JavaGateway及JavaGateway端口. 如果JMX應用采用Zabbix代理進行監控的話,你需要在 代理配置文件 中指定對應的連接參數。

默認情況下,server並不會派生出任何進程去進行JMX監控。如果你想使用完成JMX監控,你需要指定預派生出來的Java pollers進程數,你也可過同類的方式指定常見的pollers和trappers。

# vim zabbix_server.conf
JavaGateway=172.16.7.151
JavaGatewayPort=10052
StartJavaPollers=5
zabbix_server.conf添加配置

在完成配置后,要重啟server(或代理):

# killall -9 zabbix_server
# ./zabbix_server

 

四、調整java gateway的日志級別

萬一Java gateway出現了若干問題,在前段可以看到的監控項報錯信息並不充分,你也可以通過查看Java gateway日志文件獲得更多信息。

默認情況下,Java gateway將記錄日志到/tmp/zabbix_java.log文件中,log級別為”info”。有時你覺得”info”級別得到的信息並不夠,你需要修改級別為”debug”。你可以通過修改lib/logback.xml將<root>標簽更改為”debug”以獲取日志級別的增加。

<root level="debug">
   <appender-ref ref="FILE" />
</root>

需要注意的是,並不像Zabbix server或proxy那樣,修改完logback.xml並不需要重啟Zabbix Java gateway. 修改后的配置將會自動被加載。當你完成了debugging,你可以將log級別替換為”info”。

 

五、監控weblogic

1.weblogic配置

(1)如果是監控weblogic 的admin server: 編輯WL_DOMAIN_HOME/bin/setDomainEnv.sh,在文件結尾加入下面幾行:

$ cd /opt/Oracle/Middleware/user_projects/domains/ids_domain/bin
$ vim setDomainEnv.sh

添加一句:

JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9997 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

然后在去啟動weblogic。

 

(2)如果是監控受管服務器: 進入weblogic控制台->環境->服務器->”你新增的服務器”->配置->服務器啟動。在“參數”的輸入框內輸入:

-Dcom.sun.management.jmxremote.port=JMX_PORT -Djava.rmi.server.hostname=JMX_HOST -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder

 

最后,進入weblogic控制台->域——>配置->一般信息->高級,啟用 “啟用平台 MBean 服務器” 和 “已使用平台 MBean 服務器”。(最后這步非常重要,很多人發現JMX端口配置了不生效就是沒有做這一步)

 然后重啟AdminServer和受管服務器。

 

2.zabbix server添加監控weblogic主機

點擊配置—>主機—>創建主機。

輸入主機信息,主要注意JMX的端口,點擊添加。

選擇JMX模板。

 

六、監控websphere

1.websphere配置

訪問websphere控制台,點擊 Server Types → WebSphere application servers → WAS_SERVER_NAME → Java and Process Management → Process definition → Java Virtual Machine.

在“Generic JVM arguments”增加下面環境變量:

-Djavax.management.builder.initial=

點擊 Server Types → WebSphere application servers → WAS_SERVER_NAME → Java and Process Management → Process definition → Java Virtual Machine → Custom properties. 增加下面幾個環境變量:

Name: java.rmi.server.hostname
Value: JMX_HOST
Name: com.sun.management.jmxremote
Value: true
Name: com.sun.management.jmxremote.port
Value: JMX_PORT
Name: com.sun.management.jmxremote.ssl
Value: false
Name: com.sun.management.jmxremote.authenticate
Value: false

重啟server。

 

2.zabbix server添加監控websphere主機

點擊配置—>主機—>創建主機。

輸入主機信息,主要注意JMX的端口,點擊添加。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM