linux--zabbix(使用JMX监控tomcat)

本文详细介绍如何在Zabbix中配置Java Gateway以监控Tomcat应用服务器。从安装JDK、Tomcat,到设置Tomcat远程监控,再到Zabbix-server与Java Gateway的配置,最后在Web界面完成监控设置。

zabbix-server通过zabbix-java-gateway 监控tomcat:8888

client–>webui–>zabbix-server–>zabbix jmx:10052–>tomcat:8888

在server2上

下载tomcat和jdlk,解压,作软链接方便更新。

rpm -ivh jdk-8u121-linux-x64.rpm
tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/
cd /usr/local/
ln -s apache-tomcat-8.5.24 tomcat

让tomcat支持监控

vim /usr/local/tomcat/bin/catalina.sh
CATALINA_OPTS='-Dcom.sun.management.jmxremote    #开启远程监控
-Dcom.sun.management.jmxremote.port=8888      #远程监控端口
-Dcom.sun.management.jmxremote.ssl=false    #远程ssl验证为false
-Dcom.sun.management.jmxremote.authenticate=false'

在这里插入图片描述

cd /usr/local/tomcat/bin/
./startup.sh     启动

在server1上

安装zabbix-java-gateway
开启服务并设置服务开机自启动,并查看端口

yum install zabbix-java-gateway-4.4.1-1.el7.x86_64.rpm -y
systemctl start zabbix-java-gateway
systemctl enable zabbix-java-gateway
netstat -antlp | grep 10052

在这里插入图片描述
编辑zabbix-server的配置文件,添加javagateway的相关信息,重启服务

vim /etc/zabbix/zabbix_server.conf 
systemctl restart zabbix-server

在这里插入图片描述

vim /etc/zabbix/zabbix_java_gateway.conf
systemctl restart zabbix-java-gateway

在这里插入图片描述在这里插入图片描述

在web界面进行设置
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
正在监控tomcat

在这里插入图片描述

### 配置 Zabbix 监控 Tomcat 服务器的 JMX 指标 要使用 Zabbix 监控 TomcatJMX 指标,需要完成以下几个关键步骤: #### 安装和配置 Zabbix Java Gateway Zabbix Java Gateway 是一个独立的服务,负责与远程的 JMX 应用程序进行通信。首先,在 Zabbix Server 上安装 `zabbix-java-gateway` 包,并对其进行必要的配置。 ```bash # 安装 zabbix-java-gateway yum install -y zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm # 编辑 zabbix_java_gateway.conf 文件 vim /etc/zabbix/zabbix_java_gateway.conf # 确保配置文件中包含以下内容: # LISTEN_IP=0.0.0.0 # LISTEN_PORT=10052 # START_POLLERS=5 ``` 接着,在 Zabbix Server 的主配置文件 `zabbix_server.conf` 中指定 Java Gateway 的地址和端口,并设置启动的 Java Poller 数量: ```bash # 编辑 zabbix_server.conf 文件 vim /etc/zabbix/zabbix_server.conf # 添加或修改如下行: JavaGateway=172.25.254.1 JavaGatewayPort=10052 StartJavaPollers=5 ``` 最后,重启 Zabbix Server 服务以应用更改: ```bash systemctl restart zabbix-server ``` #### 配置 Tomcat 启用 JMX 远程监控 为了能够通过 JMX监控 Tomcat,需要在启动时添加特定的 JVM 参数。这些参数通常放置于 `catalina.sh`(Linux)或者 `catalina.bat`(Windows)脚本文件中。 ```bash # 编辑 catalina.sh 文件 vim /data/tomcat/tomcat-8080/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=<Agent端IP>" ``` 这里需要注意替换 `<Agent端IP>` 为实际运行 Tomcat 的主机 IP 地址。此外,如果安全性是考虑因素,则应该启用认证和 SSL 加密选项。 #### 复制必要的 JAR 包到 Tomcat 目录 确保将用于 JMX 远程监控的相关 JAR 包复制到 Tomcat 的相应目录下,以便支持 JMX 功能。 ```bash # 复制 catalina-jmx-remote.jar 到 lib 目录 cp catalina-jmx-remote.jar /data/tomcat/tomcat-8080/lib/ # 复制 cmdline-jmxclient-0.10.3.jar 到 bin 目录 cp cmdline-jmxclient-0.10.3.jar /data/tomcat/tomcat-8080/bin/ ``` #### 创建 Zabbix 主机并关联 JMX 监控项 登录到 Zabbix Web 界面,创建一个新的主机条目代表你的 Tomcat 服务器,并且选择合适的群组。然后,在该主机上创建新的监控项,类型选择为 "JMX agent" 并正确填写 JMX URL、用户名和密码(如果启用了安全机制)。对于每个想要监控的 MBean 属性,都需要单独创建监控项。 例如,若想监控 Tomcat 内存池中的某个具体指标,可以使用如下的 JMX 查询语句: ``` jmx["Catalina<type=ThreadPool,name=*",currentThreadCount] ``` 根据具体的监控需求调整 MBean 名称和属性。 #### 启动 Zabbix Java Gateway 确认所有配置无误后,启动 Zabbix Java Gateway 服务,并检查其状态确保没有错误发生。 ```bash # 启动 zabbix-java-gateway service zabbix-java-gateway start # 或者使用 systemctl (取决于系统) systemctl start zabbix-java-gateway # 检查监听端口 ss -tunlp | grep 10052 ``` 完成以上步骤之后,Zabbix 应该已经能够开始收集来自 TomcatJMX 指标了。定期检查日志文件可以帮助诊断可能出现的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值