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。
相关推荐
zhanghaha13141 小时前
Python进阶教程:28_queue 队列模块 零基础超详细教程
java·开发语言·python
司小豆1 小时前
第七课:DeepSeek Harness 服务与依赖注入
java·服务器·开发语言·github·ai编程
许彰午1 小时前
24-MyBatisHelper与autoCount
java·低代码·架构
CRMEB系统商城1 小时前
汽车养护连锁的数字化底座CRMEB 多门店系统实战方案
java·开发语言·小程序·开源·汽车
青禾8371 小时前
一文入门 MySQL + MongoDB + Redis:三大数据库核心知识
数据库·mysql·mongodb
学编程就要猛2 小时前
使用Spring AI配置聊天大模型实现人机交互(初阶)
java·spring ai·advisor·chatclient·chatmodel
代码不停2 小时前
子序列问题
java·算法
计算机学姐2 小时前
基于SpringBoot的高校爱心慈善管理系统
java·vue.js·spring boot·后端·spring·tomcat·mybatis
神明不懂浪漫2 小时前
【第一章】MySQL简介
数据库·经验分享·笔记·mysql·oracle