博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何用zabbix 监控 tomcat
阅读量:5925 次
发布时间:2019-06-19

本文共 2415 字,大约阅读时间需要 8 分钟。

监控是比较容易调通的,就是zabbix 默认的 jmx tomcat和 jmx catalina模板存在不小的问题。最终的监控项什么的可能不全,只能自行去查找。

tomcat大致分布:

代理端: java-gateway服务

客户端: catalina.sh修改
web端: JMX interfaces 调通(跟Agent interfaces同级别的东西)
一. 安装 配置 java-gateway
本文java-gate-way是安装在 proxy上。

一般分为两种情况:

如果之前编译安装的 有加入 --enable-java,没啥好讲究的,直接配置一下 sbin/zabbix_java/settings.sh 和 zabbix_proxy.conf 文件
如果之前编译没有加java选项,你可以重新编译一下,但是不安装即可;(不建议这么做)你还可以随便在另外一个地方 编译安装一份新的出来,然后把编译安装出来的 zabbix_java整个目录拷过来即可,反正是没什么区别的。

  1. 配置 settings.sh
    整个文件生效的字段如下:

LISTEN_IP="0.0.0.0"

LISTEN_PORT=10052
PID_FILE="/zabbix/zabbix/zabbix_java.pid"
START_POLLERS=30
TIMEOUT=30
2.配置 zabbix_proxy.conf
java相关的配置如下:

JavaGateway=xx.xx.xx.xx

JavaGatewayPort=10052
StartJavaPollers=2
3.启动java gateway
javagateway 启动与关闭 用的就是 zabbix_java 下的 startup.sh 和 shutdown.sh
启动的话,切换到对应目录下 ./startup.sh 即可
如果启动成功会生成/zabbix/zabbix/zabbix_java.pid 这个保存进程号的文件,可 ps -ef 看是否有这个进程。

二.调试客户端

修改配置文件 catalina.sh 添加如下字段 这里的port就是 java agent的通讯端口,hostname最好填本机IP 。

export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=168.192.10.95"

重启 tomcat 重启tomcat 即可

三.web端配置

主机添加 jmx interfaces 点开被监控的主机,配置 他的 JMX interfaces,填上本机ip 和 12345端口即可。

关联模板 当JMX 按钮已经绿了,就是通了, 给他关联两个默认的模板 Apache Tomcat JMX 和 Generic Java JMX

四. 模板里的监控项调试

Zabbix的模板并不能和 tomcat完全容纳,只能一点点的调试(大多数时候 tomcat的启动端口都不是用8080,很多都是不符合的)

1.下载调试工具

下载 cmdline-jmxclient-0.10.3.jar 到 代理端

  1. 执行命令的方法
    java -jar cmdline-jmxclient-0.10.3.jar - 168.192.10.95:12345 + key(注意此处的- 168.192.10.95中间有个空格,ip是之前的hostname,这个测试对 命令格式要求比较高,不能错一点)

下面举一些具体的执行例子:(列举的都是 很明显要调整的,没涉及到的还需自行测试,方法反正是这个方法)

(1) java -jar cmdline-jmxclient-0.10.3.jar - 168.192.10.95:12345
这条命令 输出的是 整个 模板里的 监控项 键名 键值 参数 格式之类。可以这样说,只有这里面有的,zabbix才能正常监控。
(2)java -jar cmdline-jmxclient-0.10.3.jar - 168.192.10.95:12345| grep type=Manager
如何用zabbix 监控 tomcat
如何用zabbix 监控 tomcat如何用zabbix 监控 tomcat
给出这条语句是发现 默认模板里的 和这个有非常明显的区别, 默认模板里的是 path=/ 而图片里的为 context=/

(3)java -jar cmdline-jmxclient-0.10.3.jar - 168.192.10.95:12345|grep -i globalrequestprocessor

如何用zabbix 监控 tomcat
如何用zabbix 监控 tomcat如何用zabbix 监控 tomcat
上面是关于 tomcat 端口的,这里跟默认的模板里存在的端口监控项也会有非常大的区别

(4)java-jarcmdline-jmxclient-0.10.3.jar-168.192.10.95:12345"Catalina:name=\"ajp-bio-7007\",type=GlobalRequestProcessor" bytesReceived

上面这条命令也是很典型的,这里的格式 代表的也是模板里的 key的格式,这些都是一一对应的。
key值里遇到name=ajp-bio-7007 这种也是需要这样反义的。

转载于:https://blog.51cto.com/14164498/2403500

你可能感兴趣的文章
Kibana
查看>>
小菜学设计模式——观察者模式
查看>>
mysql-普通查询(General Query)慢查询(Slow Query)相关日志配置
查看>>
SpringMVC异常处理流程
查看>>
指定特定的内容为首页
查看>>
安装程序无法创建新的系统分区也无法定位现有分区的解决方法
查看>>
什么是事件冒泡?如何用jquery/js阻止事件冒泡?阻止冒泡有什么作用?小生来抛个砖。...
查看>>
也可以改为while(input[0])或while(cin&&input[0])
查看>>
nginx对websocket的支持及uliweb chatroom的测试
查看>>
中小企业SaaS型软件BI的发展前景
查看>>
算法分析笔记
查看>>
go方法的深入探究(7.21增补)
查看>>
本文主要总结关于mysql的优化(将会持续更新)
查看>>
Mac怎么不能拷贝文件到U盘
查看>>
FirewallD is not running
查看>>
linux ubuntu deepin apache2 rewrite
查看>>
如何像Uber一样给工程师派单,解放外包生产力?
查看>>
源码免杀处理的技巧与tips
查看>>
Groove list操作-转数组,collect,each等
查看>>
spring boot微服务通用部署启动脚本
查看>>