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。
相关推荐
用户7771298509124 小时前
封装、继承、多态
java
Ysx4 小时前
比"本地全绿"更可怕的坑:"交付了"不等于"生效了"
java·后端
2301_786756604 小时前
2026 JCR 秋季数据重载解读:影响因子为什么会变?附期刊影响力数据批量追踪方案
java·服务器·前端
用户7771298509124 小时前
代码的命名规范有哪些?
java
旋律4144 小时前
为什么需要命名规范?有哪些命名规范?
java
2301_786756605 小时前
中科院分区表停发后,期刊评价的技术逻辑:从期刊超越指数到多指标选刊方案
java·数据库·windows
Wx-bishekaifayuan5 小时前
springboot铜仁非遗之家76938-计算机课程设计、毕业设计
java·spring boot·后端·spring·django·课程设计·旅游
顽疲5 小时前
java vue springboot 养老系统源码详解:退住 care_out 审批结算与腾床事务实践
java·vue.js·spring boot·vue养老·springboot养老·java养老
geats人山人海5 小时前
java 7异常
android·java·开发语言
斯内普吖5 小时前
(开源)线上花店系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源