我是靠谱客的博主 漂亮小熊猫,最近开发中收集的这篇文章主要介绍zabbix监控nginx的进程和7种状态,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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种状态所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部