Zabbix安装部署六————监控nginx
Posted 亦涵爱吃肉吖c
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix安装部署六————监控nginx相关的知识,希望对你有一定的参考价值。
一:环境准备,centos7.6 zabbix版本3.0.0 agent版本3.0.0(两种必须同版本才能实现)
确保firewalld和Selinux关闭
1.nginx配置
vim vim /etc/nginx/conf.d/default.conf
server
listen 80;
server_name localhost;
location /
root /usr/share/nginx/html;
index index.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
验证一下
2.安装agent,我的zabbix-server是3.0.0版本的,so
wget https://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
二:编写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
代码如下
#!/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 $NF
nginx_reading()
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Reading/ print $2
nginx_writing()
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Writing/ print $4
nginx_waiting()
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Waiting/ print $6
nginx_accepts()
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk NR==3 print $1
nginx_handled()
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk NR==3 print $2
nginx_requests()
/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk NR==3 print $3
case $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
4.web端添加好主机,应用集,监控项,触发器,图形,即可
以上是关于Zabbix安装部署六————监控nginx的主要内容,如果未能解决你的问题,请参考以下文章