欢迎访问IT教程网

zabbix监控nginx服务器连接数

Linux admin 377℃ 0评论

nginx.conf 相关配置 ,开启status

location /status {
       stub_status on;
       access_log off;
          allow 127.0.0.1;
       deny all;
  }

相关脚本如下

[root@localhost zabbix_agentd.d]# cat nginx_status.sh 
#!/bin/bash
#this script is used to get nginx connetion status
#nginx status
 
HOST="127.0.0.1"
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"
 

agent相关配置

[root@localhost zabbix_agentd.d]# pwd
/etc/zabbix/zabbix_agentd.d
[root@localhost zabbix_agentd.d]# cat nginx_status.conf 
UserParameter=nginx.status[*],/usr/bin/sh /etc/zabbix/zabbix_agentd.d/nginx_status.sh $1

重启agent

相关模板下载  zbx_tcp_templates.xml

本文固定链接:IT教程网 » zabbix监控nginx服务器连接数
本站内容除特别标注外均为原创,欢迎转载,但请保留出处!

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址