zoukankan      html  css  js  c++  java
  • 04:监控Nginx和TCP状态模板制作

    下面主要介绍TCP和Nginx状态监控——做成模板形式:

    一、TCP状态模板制作:

    1、任意一台机器上添加自定义监控项:

    [root@tvm_web1 zabbix_agentd.d]# cat /etc/zabbix/zabbix_agentd.d/monitor_tcp_status.conf         # 路径和文件名(及内容)
    UserParameter=TCP_Status[*],ss -ant |grep -c $1        #  当然你也可以使用netstat(如果不怕超时)                                      
    [root@tvm_web1 zabbix_agentd.d]# 

    2、zabbix的管理界面上进行如下操作:

    二、Nginx状态监控模板制作:

    1、添加自定义监控项和脚本创建脚本(这里请记住使用文件方式——不要每次都去调nginx):

    [root@tvm_web1 zabbix_agentd.d]# cat /etc/zabbix/zabbix_agentd.d/monitor_nginx_status.conf 
    UserParameter=nginx_status[*],/etc/zabbix/zabbix_agentd.d/monitor_nginx_status.sh $1
    [root@tvm_web1 zabbix_agentd.d]# cat /etc/zabbix/zabbix_agentd.d/monitor_nginx_status.sh 
    #!/bin/bash
    NGINX_COMMAND=$1
    CACHEFILE="/tmp/nginx_status.txt"
    CMD="/usr/bin/curl http://127.0.0.1:8000/nginx_status"
    
    if [ ! -f $CACHEFILE ];then
        $CMD > $CACHEFILE 2>/dev/null
    fi
    
    TIMEFLM=`stat -c %Y $CACHEFILE`
    TIMENOW=`date +%s`
    
    if [ `expr $TIMENOW - $TIMEFLM` -gt 60 ];then
        rm -f $CACHEFILE
    fi
    
    if [ ! -f $CACHEFILE ];then
        $CMD > $CACHEFILE 2>/dev/null
    fi
    
    nginx_active(){
        grep 'Active' $CACHEFILE | awk '{print $NF}'
        exit 0;
    }
    
    nginx_reading(){
        grep 'Reading' $CACHEFILE | awk '{print $2}'
        exit 0;
    }
    
    nginx_writing(){
        grep 'Writing' $CACHEFILE | awk '{print $4}'
        exit 0;
    }
    
    nginx_waiting(){
        grep 'Waiting' $CACHEFILE | awk '{print $6}'
        exit 0;
    }
    
    nginx_accepts(){
        awk NR==3 $CACHEFILE | awk '{print $1}'
        exit 0;
    }
    
    nginx_handled(){
        awk NR==3 $CACHEFILE | awk '{print $2}'
        exit 0;
    }
    
    nginx_requests(){
        awk NR==3 $CACHEFILE | awk '{print $3}'
        exit 0;
    }
    
    case $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
    [root@tvm_web1 zabbix_agentd.d]#

    2、创建模板(自定义监控项):

    好了,今天先这样吧

  • 相关阅读:
    UEmacs/PK Keybindings
    ubunut install golang
    vyos ipsec l2tp simple experiment
    Lynx 命令行操作
    Linux开启路由转发功能
    PROTEUS的元器件及模型制作
    5G模拟网自动化测试的需求和挑战
    vyos site-to-site ipsec simple experiment
    kubeadm 搭建 k8s 时用到的常用命令汇总
    html 特殊符号标记
  • 原文地址:https://www.cnblogs.com/zheng-weimin/p/11343703.html
Copyright © 2011-2022 走看看