Zabbix 分布式监控搭建实战:基于 Proxy 实现 MySQL、Java、Nginx 监控

本文详细讲解如何通过 Zabbix Proxy 搭建分布式监控体系,实现 MySQL、Java、Nginx 三类服务器的监控配置。内容涵盖 Zabbix Proxy 的部署与接入、客户端 zabbix-agent2 的主动注册配置、服务器端自动注册动作的创建,以及主机发现后的模板关联与宏参数设置,并附有完整的配置文件示例与操作截图,帮助读者快速搭建基于 Proxy 的分布式监控体系。

服务器的配置

  1. Zabbix-Server 的安装与配置:详见 Zabbix 第一篇文章。
  2. Zabbix-Proxy 的安装与配置:详见 Zabbix 上一篇文章。
  3. 将 proxy 加入 zabbix-server 中:
  • 左侧菜单:管理->proxy,右侧右上角:创建proxy。
  • Proxy名称:与proxy配置文件中hostname一致,模式:主动式,Proxy地址:proxy的IP。

客户端配置

  1. MySQL 数据库配置

客户端配置自动注册:

  • 安装配置zabbix-agent2:略。
  • 配置主动注册,修改以下四项:
bash 复制代码
Server=192.168.19.129				# proxy的IP
ServerActive=192.168.19.129
Hostname=MySQL Server				# 自定义主机名称
HostMetadata=MySQL Agent		# 自定义元数据
  • 重启zabbix-agent2。

服务器端配置自动注册:

  • 左侧菜单:告警->动作->自动注册动作,右侧右上角:创建动作。
  • 名称:自定义,条件:点击添加->(类型:主机元数据,操作者:包含,值:MySQL)。
  • 操作:点击添加->(类型:与模板关联,模板:Template OS Linux by Zabbix agent,Template DB MySQL by Zabbix agent2)。

主机发现后操作:

  • 左侧菜单:配置->主机,右侧->点击Mysql服务器名称。
  • 页面上方:宏->继承以及主机宏
  • 填写宏信息(mysql的连接参数):{KaTeX parse error: Expected 'EOF', got '}' at position 10: MYSQL.DSN}̲->tcp://localho...MYSQL.USER}->root,{$MYSQL.PASSWORD}->root。
  1. Java服务器的配置:

客户端配置自动注册:

  • 安装配置zabbix-agent2:略。
  • 配置主动注册,修改以下四项:
bash 复制代码
Server=192.168.19.129				# proxy的IP
ServerActive=192.168.19.129
Hostname=Java Server						# 自定义主机名称
HostMetadata=Java Agent				# 自定义元数据
  • 重启zabbix-agent2。

服务器端配置自动注册:

  • 左侧菜单:告警->动作,右侧右上角:创建动作。
  • 名称:自定义,条件:点击添加->(类型:主机元数据,操作者:包含,值:Java)。
  • 操作:点击添加->(类型:与模板关联,模板:Template OS Linux by Zabbix agent)。

主机发现后操作:

  • 左侧菜单:配置->主机,右侧->点击Java服务器名称。
  • 页面上方:主机->接口栏点击"添加"->类型:JMX,后面填写Java服务器IP。
  • 页面上方:模板->添加模板:Template App Generic Java JMX。

proxy启动gateway:

bash 复制代码
systemctl start zabbix-java-gateway

客户端运行Java程序:

bash 复制代码
java -Djava.rmi.server.hostname=192.168.19.131 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=12345 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.registry.ssl=false \
-jar zabbix-jmx-demo-1.0.0.jar
  1. Nginx服务器的配置:

客户端配置自动注册:

  • 安装配置zabbix-agent2:略。
  • 配置主动注册,修改以下四项:
bash 复制代码
Server=192.168.19.129					# proxy的IP
ServerActive=192.168.19.129
Hostname=Nginx Server					# 自定义主机名称
HostMetadata=Nginx Agent			# 自定义元数据
  • 重启zabbix-agent2。

客户端nginx的配置:

  • 增加返回nginx状态的访问路径,配置文件/etc/nginx/conf.d/default.conf中增加:
bash 复制代码
vim /etc/nginx/nginx.conf
bash 复制代码
location /nginx_status{
  stub_status on;
  access_log  off;
}
  • 重载 nginx。
bash 复制代码
nginx -s reload

服务器端配置自动注册:

  • 左侧菜单:告警->动作,右侧右上角:创建动作。
  • 名称:自定义,条件:点击添加->(类型:主机元数据,操作者:包含,值:Nginx)。
  • 操作:点击添加->(类型:与模板关联,模板:Template OS Linux by Zabbix agent,Template App Nginx by Zabbix agent)。

主机发现后操作:

  • 左侧菜单:配置->主机,右侧->点击Nginx服务器名称。
  • 页面上方:宏->继承以及主机宏
  • 填写宏信息(nginx的访问参数):{KaTeX parse error: Expected 'EOF', got '}' at position 23: ...TUB_STATUS.HOST}̲->localhost, ...NGINX.STUB_STATUS.PATH}->nginx_status。
相关推荐
奶油话梅糖2 小时前
打开项目 0.9 秒、内存只有 IDEA 的 1/12:OpenIDEA 用 Rust 把 IntelliJ IDEA 重造了一遍
java·rust·github·intellij-idea
vipxieliang2 小时前
语言对比卡:PHP vs Go vs Java 的优缺点、适用场景与「为什么选 PHP」
java·go·php
Rain的Java大神之路2 小时前
公交App上“还有2站,约5分钟”怎么实现?90%的人答错这道大厂面试题:GPS漂移、ETA不准、10万QPS热点读全拆透(附完整代码)
java·后端·面试
挖掘狂人2 小时前
MySQL 深分页优化:limit 100000, 10 慢在哪,怎么救
后端·sql·mysql
codigger2 小时前
MySQL 深分页优化:limit 100000, 10 慢在哪,怎么救
数据库·sql·mysql·程序员
golang学习记2 小时前
IDEA 2026.3 远程开发迎来重磅升级
java·ide·intellij-idea·远程开发
天天被压力3 小时前
【A股分钟级高频数据完全手册 #04】指数分钟级行情数据接口:沪深指数Pro版最新分时取数
java·人工智能·python
敲代码的小小酥3 小时前
谈SpringMVC与Spring WebFlux的区别与适用场景
java·后端·spring
天天被压力3 小时前
【A股分钟级高频数据完全手册 #03】股票历史1分钟K线数据接口怎么用:Pro版批量拉取与本地缓存
java·人工智能·python
apcipot_rain3 小时前
C++转Java日记(02)
java·开发语言·c++