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
复制代码

添加主机

 添加模板

 

posted @   不会跳舞的胖子  阅读(510)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示