概述
1、编写shell脚本,传递参数,根据参数返回结果,和之前的tcp的脚本类似。
#!/bin/bash
#this script is used to get nginx connetion status
#nginx status
HOST="10.10.252.211"
PORT="8080"
metric=$1
tmp_file=/tmp/nginx_status.txt
/usr/bin/curl -s http://$HOST:$PORT/status > $tmp_file
case $metric in
pid)
output=`/sbin/pidof nginx | wc -l`
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
active)
output=$(awk 'NR==1{print $3}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
accepts)
output=$(awk 'NR==3{print $1}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
handled)
output=$(awk 'NR==3{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
requests)
output=$(awk 'NR==3{print $3}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
reading)
output=$(awk 'NR==4{print $2}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
writing)
output=$(awk 'NR==4{print $4}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
waiting)
output=$(awk 'NR==4{print $6}' $tmp_file)
if [ "$output" == "" ];then
echo 0
else
echo $output
fi
;;
*)
echo -e "e[033mUsage: sh $0 [pid|active|accepts|handled|requests|reading|writing|waiting]e[0m"
esac
2、在zabbix_agent文件中配置自定义item,自定义监控tcp的item的key
[root@wyl01 zabbix_agentd.d]# cat nginx_status.conf
UserParameter=nginx.status[*],/usr/bin/sh /etc/zabbix/shell/nginx_status.sh $1
3、配置graph图表,将所有的监控项添加到一个图中,方便观察。
最后
以上就是漂亮小熊猫为你收集整理的zabbix监控nginx的进程和7种状态的全部内容,希望文章能够帮你解决zabbix监控nginx的进程和7种状态所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复