本文详细讲解如何通过 Zabbix Proxy 搭建分布式监控体系,实现 MySQL、Java、Nginx 三类服务器的监控配置。内容涵盖 Zabbix Proxy 的部署与接入、客户端 zabbix-agent2 的主动注册配置、服务器端自动注册动作的创建,以及主机发现后的模板关联与宏参数设置,并附有完整的配置文件示例与操作截图,帮助读者快速搭建基于 Proxy 的分布式监控体系。
服务器的配置
- Zabbix-Server 的安装与配置:详见 Zabbix 第一篇文章。
- Zabbix-Proxy 的安装与配置:详见 Zabbix 上一篇文章。
- 将 proxy 加入 zabbix-server 中:
- 左侧菜单:管理->proxy,右侧右上角:创建proxy。
- Proxy名称:与proxy配置文件中hostname一致,模式:主动式,Proxy地址:proxy的IP。
客户端配置
- 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。

- 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
- 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。
