zabbix-基于Java Gateway监控Tomcat
环境准备
zabbix server:192.168.61.111 配置文件指定java gateway地址和端口连接gateway 10052端口获取数据
java gateway:192.168.64.111 创建主机代理JMX,指定IP+端口收集被监控主机数据
tomcat:192.168.64.112 监听12345端口发送数据给java gateway,同时主动发送其他数据给proxy
zabbix proxy: 192.168.64.112 主动模式下从server获取监控项,同时等待agent获取监控项并收集agent发送数据,存储到本地MySQL,定期发送给server;
同时proxy获取到java监控项,由gateway定期从后端获取监控数据后,发送给proxy,proxy定期发送给server。
server配置文件
[root@zabbix-server ~]# grep "^[a-Z]" /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=512 PidFile=/var/run/zabbix/zabbix_server.pid SocketDir=/var/run/zabbix DBName=zabbix DBUser=zabbix DBPassword=xxxxxxxx DBPort=3306 JavaGateway=192.168.64.111 # 连接java gateway JavaGatewayPort=10052 # 端口 StartJavaPollers=20 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 StatsAllowedIP=127.0.0.1
安装
[root@zabbix-server ~]# yum -y install zabbix-java-gateway.x86_64
修改javagateway配置文件
[root@zabbix-server alertscripts]# grep "^[a-Z]" /etc/zabbix/zabbix_java_gateway.conf LISTEN_IP="0.0.0.0" LISTEN_PORT=10052 # 监听端口 PID_FILE="/var/run/zabbix/zabbix_java.pid" START_POLLERS=20 # 启动进程数量 TIMEOUT=30 # 超时时间
启动
[root@zabbix-server alertscripts]# systemctl start zabbix-java-gateway.service
[root@zabbix-server alertscripts]# systemctl enable zabbix-java-gateway.service
tomcat开启JMX监控,端口为12345
vim catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.64.112 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
启动
[root@master-3 bin]# ./catalina.sh start Using CATALINA_BASE: /usr/local/apache-tomcat-8.5.61 Using CATALINA_HOME: /usr/local/apache-tomcat-8.5.61 Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.5.61/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/apache-tomcat-8.5.61/bin/bootstrap.jar:/usr/local/apache-tomcat-8.5.61/bin/tomcat-juli.jar Using CATALINA_OPTS: -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.64.112 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false Tomcat started.
[root@master-3 bin]# ps -ef |grep tomcat root 30997 1 69 21:47 pts/0 00:00:03 /usr/bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat-8.5.61/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.64.112 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dignore.endorsed.dirs= -classpath /usr/local/apache-tomcat-8.5.61/bin/bootstrap.jar:/usr/local/apache-tomcat-8.5.61/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/apache-tomcat-8.5.61 -Dcatalina.home=/usr/local/apache-tomcat-8.5.61 -Djava.io.tmpdir=/usr/local/apache-tomcat-8.5.61/temp org.apache.catalina.startup.Bootstrap start root 31033 30398 0 21:47 pts/0 00:00:00 grep --color=auto tomcat
[root@master-3 bin]# netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:41071 0.0.0.0:* LISTEN 1100/containerd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 681/rpcbind tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1311/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1079/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1088/cupsd tcp6 0 0 127.0.0.1:8005 :::* LISTEN 30997/java tcp6 0 0 :::35110 :::* LISTEN 30997/java tcp6 0 0 :::35853 :::* LISTEN 30997/java tcp6 0 0 :::111 :::* LISTEN 681/rpcbind tcp6 0 0 :::8080 :::* LISTEN 30997/java tcp6 0 0 :::22 :::* LISTEN 1079/sshd tcp6 0 0 :::12345 :::* LISTEN 30997/java
proxy配置
[root@master-3 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_proxy.conf ProxyMode=0 # 主动模式 Server=192.168.64.111 # server地址 ServerPort=10051 Hostname=zabbix-proxy-active # proxy name ListenPort=10051 LogType=file LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=512 DebugLevel=3 PidFile=/var/run/zabbix/zabbix_proxy.pid SocketDir=/var/run/zabbix DBHost=localhost DBName=zabbix_proxy_active DBUser=proxy DBPassword=xxxxxxxx DBPort=3306 ProxyLocalBuffer=168 ProxyOfflineBuffer=168 HeartbeatFrequency=120 ConfigFrequency=300 DataSenderFrequency=30 StartPollers=5 JavaGateway=192.168.64.111 # java gateway地址 JavaGatewayPort=10052 # 端口 StartJavaPollers=3 # 进程数量 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log CacheSize=256M HistoryCacheSize=128M HistoryIndexCacheSize=128M Timeout=30 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 StatsAllowedIP=127.0.0.1
agent配置
[root@master-3 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_agent2.conf PidFile=/var/run/zabbix/zabbix_agent2.pid LogFile=/var/log/zabbix/zabbix_agent2.log LogFileSize=512 Server=192.168.64.111,192.168.64.112 # 允许获取数据的远端地址,基于被动模式 ServerActive=192.168.64.112 # proxy 地址,主动模式 Hostname=192.168.64.112 Include=/etc/zabbix/zabbix_agent2.d/*.conf ControlSocket=/tmp/agent.sock
添加主机
添加模板
越学越感到自己的无知
分类:
监控 / zabbix
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现