Zabbix安装部署六————监控nginx

男儿欲遂平生志,六经勤向窗前读。这篇文章主要讲述Zabbix安装部署六————监控nginx相关的知识,希望能为你提供帮助。
一:环境准备,centos7.6zabbix版本3.0.0agent版本3.0.0(两种必须同版本才能实现)
确保firewalld和Selinux关闭
1.nginx配置

vim vim /etc/nginx/conf.d/default.conf

server listen80; server_namelocalhost; location / root/usr/share/nginx/html; indexindex.html index.htm; location /nginx_status stub_status on; access_log off; allow 192.168.3.0/24; allow 127.0.0.1; deny all;

nginx -t nginx -s reload systemctl restart nginx

验证一下
Zabbix安装部署六————监控nginx

文章图片
Zabbix安装部署六————监控nginx

文章图片

2.安装agent,我的zabbix-server是3.0.0版本的,so

wgethttps://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.0-1.el7.x86_64.rpm

yum localinstall zabbix-agent-3.0.0-1.el7.x86_64.rpm

配置agent.conf,更改图中的参数,尽力不要自己编写源文件!
vim /etc/zabbix/zabbix_agentd.conf

Zabbix安装部署六————监控nginx

文章图片

二:编写shell脚本和新建自定义key
1.添加key的conf文件
cd /etc/zabbix/zabbix_agentd.d/ vim nginx_monitor.conf

加上这条,路径就是shell脚本存放的位置,脚本最好做好统一存放位置
UserParameter=nginx_status[*],/bin/bash /tmp/nginx_monitor.sh "$1"

2.去/tmp目录下新建shell脚本,代码直接套
vim /tmp/nginx_monitor.sh

【Zabbix安装部署六————监控nginx】代码如下
#!/bin/bash NGINX_PORT=80 NGINX_COMMAND=$1 nginx_active() /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Active/ print $NFnginx_reading() /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Reading/ print $2nginx_writing() /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Writing/ print $4nginx_waiting() /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Waiting/ print $6nginx_accepts() /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk NR==3 print $1nginx_handled() /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk NR==3 print $2nginx_requests() /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk NR==3 print $3case $NGINX_COMMAND in active) nginx_active; ; ; reading) nginx_reading; ; ; writing) nginx_writing; ; ; waiting) nginx_waiting; ; ; accepts) nginx_accepts; ; ; handled) nginx_handled; ; ; requests) nginx_requests; ; ; *) echo $"USAGE:$0 active|reading|writing|waiting|accepts|handled|requests" esac

重启(开启)zabbix-agent,查看状态是否ok,报错就看日志
systemctl start zabbix-agent systemctl status zabbix-agent

3.Server端验证
[root@zbx-server ~]# zabbix_get -s 192.168.3.206 -p 10050 -k "nginx_status[writing]" 1

Zabbix安装部署六————监控nginx

文章图片

4.web端添加好主机,应用集,监控项,触发器,图形,即可
Zabbix安装部署六————监控nginx

文章图片


    推荐阅读