https://www.zabbix.com/cn按照官方向导,分别安装主控端zabbix server和被控端zabbix agent2数据库mysql(8.0以上)请自行提前安装zabbix 相比 prometheus,只需要一个agent而不是多个
vi /etc/zabbix/zabbix_agent2.confHostname= #被监控主机的名称Server= #zabbix server的ip地址Include=/etc/zabbix/zabbix_agent2.d/plugins.d/*.conf #自定义监控项的目录位置
vi /etc/nginx/conf.d/zabbix.confserver { listen 8080;
login
#如果web页面登录报错,刷新等一会再次登录即可!apache: http://host/zabbixnginx: http://host:portuser: Admin password: zabbix
monitor
1、添加被监控主机
被监控的nginx主机(192.168.190.8)[root@rocky ~]# curl -v http://127.0.0.1/nginx_status* Trying 127.0.0.1...* TCP_NODELAY set* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)> GET /nginx_status HTTP/1.1> Host: 127.0.0.1> User-Agent: curl/7.61.1> Accept: */*>< HTTP/1.1 200 OK< Server: nginx/1.14.1< Date: Fri, 20 Mar 2026 16:30:36 GMT< Content-Type: text/plain< Content-Length: 97< Connection: keep-alive<Active connections: 1server accepts handled requests 6 6 6Reading: 0 Writing: 1 Waiting: 0* Connection #0 to host 127.0.0.1 left intact
#如果没有返回上面的提示修改如下vi /etc/nginx/nginx.conf server { location /nginx_status { stub_status on; # 安全建议:只允许本地或监控服务器访问 allow 127.0.0.1; allow 192.168.0.0/16; # 替换为你的监控服务器IP deny all; } }nginx -tsystemctl reload nginxcurl -v http://127.0.0.1/nginx_status
被监控的mysql主机(192.168.190.8)cd /etc/zabbix/zabbix_agent2.d/plugins.dmkdir -p /usr/local/script_zabbix/tee jiankong.conf <<eof#定义监控项,可以在仪表盘明确显示出来(文本或图形)!#单独定义可以触发的监控项,注意取值必须是数字!UserParameter=nginx_tx,/usr/local/script_zabbix/nginx_tx.sheof
UserParameter=key,cmdUserParameter=固定写法,自定义键值key表示键值名字,命名最好就是单词+".”(点)cmd表示命令或脚本
vi /usr/local/script_zabbix/nginx_tx.sh#!/bin/bashsystemctl status nginx >& /dev/nullif [ $? -eq 0 ] then echo 1 else echo 0fichmod +x /usr/local/script_zabbix/nginx_tx.sh
#测试自定义的监控项(被监控主机上执行)systemctl restart zabbix-agent2zabbix_agent2 -t nginx_tx[root@rocky ~]# zabbix_agent2 -t nginx_txnginx_tx [s|1]
整理后的仪表盘