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。
相关推荐
小羊没烦恼!4 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里4 天前
java中的继承和多态的区别
java
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕4 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖4 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时4 天前
01-06-A-JVM排查实战详解
java·jvm
小白男神4 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
vipxieliang4 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot