概述
zabbix3.4实现nginx性能状态监控
一、状态监控介绍
背景:nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态监控去分析出现的问题。
实现对nginx的性能监控,首先需要配置nginx_status,具体配置过程请参考如下:
博客:https://blog.csdn.net/m0_37814112/article/details/80696052
Accepts(接受)、Handled(已处理)、Requests(请求数)是一直在增加的计数器
Active(活跃)、Waiting(等待)、Reading(读)、Writing(写)随着请求量而增减
二、nginx性能状态监控脚本
[root@host-47-98-97-124 scripts]# vi /usr/local/zabbix/scripts/nginx-status.sh
#!/bin/bash
#Filename:nginx-status.sh
#Author:zhangjunchao
function Active {
/usr/bin/curl -s "http://47.98.97.124/nginx-status" 2>/dev/null | awk 'NR==1{print $3}'
}
function accepts {
/usr/bin/curl -s "http://47.98.97.124/nginx-status" 2>/dev/null| awk 'NR==3{print $1}'
}
function handled {
/usr/bin/curl -s "http://47.98.97.124/nginx-status" 2>/dev/null| awk 'NR==3{print $2}'
}
function requests {
/usr/bin/curl -s "http://47.98.97.124/nginx-status" 2>/dev/null| awk 'NR==3{print $3}'
}
function Reading {
/usr/bin/curl -s "http://47.98.97.124/nginx-status" 2>/dev/null| awk 'NR==4{print $2}'
}
function Writing {
/usr/bin/curl -s
"http://47.98.97.124/nginx-status" 2>/dev/null| awk 'NR==4{print $4}'
}
function Waiting {
/usr/bin/curl -s
"http://47.98.97.124/nginx-status" 2>/dev/null| awk 'NR==4{print $6}'
}
if [ $# -ne 1 ];then
echo "please input one arguement"
fi
case $1 in
Active)
Active
;;
accepts)
accepts
;;
handled)
handled
;;
requests)
requests
;;
Reading)
Reading
;;
Writing)
Writing
;;
Waiting)
Waiting
;;
*)
echo "Usage $0: {Active | Reading | Writing | Waiting | accepts | handled |requests }"
;;
esac
[root@host-47-98-97-124 scripts]# chmod +x
/usr/local/zabbix/scripts/nginx-status.sh
三、编辑userparameter_mysql.conf
[root@host-47-98-97-124 zabbix_agentd.conf.d]# cat userparameter_mysql.conf
UserParameter=mysql.status[*],/usr/local/zabbix/scripts/chk-mysql.sh $1(已有的)
UserParameter=nginx.status[*],/usr/local/zabbix/scripts/nginx-status.sh $1(要添加的)<==
四、重启zabbix_agentd服务
[root@host-47-98-97-124 ~]# pkill zabbix
[root@host-47-98-97-124 ~]# /usr/local/zabbix/sbin/zabbix_agentd
五、添加监控nginx状态item
扩展:如何对多台主机的nginx进行监控?
当然,一台台的创建item也可以的,但是如果几千台呢?这样操作的话相当麻烦,随意可以有两种方案
第一种:在一个已经存有的模板中,添加nginx item
第二种:重新创建一个模板,将nginx item创建,然后所有的主机导入模板
在这里,我选择的是第一种方案,由于之前对三台主机的mysql的状态做了监控,导入了mysql监控模板,所以这里我直接在mysql的
监控模板里添加nginx的item。
Configuration—>Templates—>Item 27
最后
以上就是能干大山为你收集整理的zabbix3.4实现nginx性能状态监控的全部内容,希望文章能够帮你解决zabbix3.4实现nginx性能状态监控所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复