本文所有Zabbix监控配置信息基于Zabbix 3.4.14,其他版本未验证。
zabbix 3.4官方中文手册:https://www.zabbix.com/documentation/3.4/zh/manual
监控TOMCAT
- 依赖:Zabbix Agent、Tomcat需启用JMX
- 详细步骤:
1.zabbix客户端启用主动模式
2.Tomcat启用JMX
修改catalina.sh文件,以启用JMX支持
cd ${TOMCAT_HOME}/bin/catalina.sh
....
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=12345 -Djava.rmi.server.hostname=192.168.0.1"
....
拷贝JMX所需jar包tomcat-catalina-jmx-remote-8.0.48.jar到${TOMCAT_HOME}/lib/文件夹中,重启tomcat服务即可。
catalina-jmx-remote-${version}.jar包可前往tomcat官网或者maven仓库下载(需下载与tomcat版本对应的jar包) 点击跳转到下载地址
3.新建监控主机并配置
点击该主机中的模板,链接zabbix客户端(主动式)模板。
4.添加tomcat监控项
Zabbix自带模板中Template App Apache Tomcat JMX模板用于远程监控tomcat,但由于默认为8080、8443、8009端口,无法满足特殊化要求,此处不建议直接链接该模板。可通过复制监控项和触发器的模式,修改为所需特定端口监控项。
在模板Template App Apache Tomcat JMX中选择需要的监控项,点击“复制”并选择目标(被监控的主机)后完成复制
在被监控的主机中点击“监控项”进行监控项列表,点击某一个需要修改的监控项名称进入详情页面,进行修改。
键值中name默认未区分io方式, 实际使用时需要明确io方式,此处从http-8080修改为http-nio-18080。Linux环境下,tomcat8默认为nio。为确保解析正确,建议name的值用引号包裹,即name=\"http-nio-18080\"
5.添加tomcat监控的触发器
从模板Template App Apache Tomcat JMX中选择需要的触发器,复制到被监控主机即可。
6.添加tomcat监控的图形
从模板Template App Apache Tomcat JMX中选择需要的图形,复制到被监控主机即可。效果如下:
- 具体可监控项/触发器/图形请参见Template App Apache Tomcat JMX模板
- 注意事项:
1.确保需要的监控项或者触发器状态为已启用,不被支持的监控可以停用。
2.出现不支持的监控项或触发器,可能有两个原因。一个是IP或者端口配置不正确,二是JVM环境暂时不支持该项监控(若要支持,需调整环境配置)。可借助cmdline-jmxclient-0.10.3.jar查询能监控的项。
3.tomcat监控建议采用主动式监控。