服务端配置Zabbix_java_gateway
vim /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/tmp/zabbix_java.pid"
START_POLLERS=5
其中 LISTEN_PORT 和 LISTEN_IP 可以不配置,zabbix_java 会采用默认值。但是 PID_FILE 和 START_POLLERS 必须配置,尤其主意 START_POLLERS,若不配置 zabbix_java 依旧可以启动但是是不工作的。
配置 zabbix_server 或 zabbix_proxy
zabbix_server 或 zabbix_proxy 的配置文件中有以下内容需要配置:
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
这三项都需要配置,其中 StartJavaPollers 会被视为开关性质的参数。0 或者未配置将被系统认为不具有 Java 信息抓取能力。这点在 Zabbix JMX Monitoring Wiki 中未提及,但是实际效果就是这样。同时 Zabbix Proxy 的配置文件解析 中也有介绍此参数的含义。
配置 Tomcat
在 Tomcat 下载页面 Extras 类别中下载JMX Remote jar 二进制包。放在 tomcat/lib 下面,不同版本的Tomcat,JMX也有区别
修改 tomcat server.xml 配置文件,添加以下内容:
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiServerPortPlatform="12346" rmiRegistryPortPlatform="12345"/>
具体参数内容请参考 apache tomcat 文档。
修改 tomcat的server.xml 配置文件,添加以下内容:
Linux下,catalina.bat第二行增加
export CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.0.236 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false"
Windows下, catalina.bat第二行增加
set CATALINA_OPTS=-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.0.236 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
坑:等号两遍不要有空格
添加模板
- Tomcat 6 请使用原生模板
- Tomcat 7 默认使用bio模板
- Tomcat 8 默认使用nio模板
- JMX监控 请使用原生模板
- 如果一台机器有两台Tomcat,就得单建立一个Host了,目前没有遇到,就不研究了。
- 调整端口、协议,请去模板宏中修改。
备注:模板来自于zhujinhe