男儿欲遂平生志,六经勤向窗前读。这篇文章主要讲述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
验证一下
文章图片
文章图片
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
文章图片
二:编写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
文章图片
4.web端添加好主机,应用集,监控项,触发器,图形,即可
文章图片
推荐阅读
- Linux主机入侵检测
- RAID硬盘阵列
- GPT分区,ens33没有网卡,Llnux挂载Windows文件夹
- redis数据类型与key操作命令
- 使用 CCleaner 删除未使用的文件和临时文件,以更快地运行 Windows
- Linux之cal命令
- 春运回家路,交通可视化为你保驾护航
- Podman常用命令总结
- redis字符串常用操作命令