zoukankan      html  css  js  c++  java
  • 4.服务器添加脚本和配置文件

    客户端添加脚本

    [root@zabbix /opt/zabbixsh 16:28:31&&123]#pwd
    /opt/zabbixsh
    [root@zabbix /opt/zabbixsh 16:28:39&&124]#ls
    chk_disk.sh
    
    脚本内容:
    #!/bin/bash
    
    #使用UserParameter=disk.all,/usr/local/zabbix/scripts/chk_disk.sh check_disk  #返回0严重 返回1警告 返回2 OK
    ##使用UserParameter=disk.all.inode,/usr/local/zabbix/scripts/chk_disk.sh  check_disk_inode #返回0严重 返回1警告 返回2 OK
    
    DEBUG=0
    function check_disk(){
        row=`df -Ph |wc -l`
        (( DEBUG )) && echo $row
        n=()
        for i in `seq 2 $row`
        do
            (( DEBUG )) && echo $i
            ava=`df -Ph |sed -n "$i"p|awk '{print $4}'`
            u_per=`df -Ph |sed -n "$i"p|sed -n "s/\%//"p|awk '{print $5}'`
            p_p=`df -h -P|sed -n "$i"p|awk '{print $6}'`
            ((DEBUG)) && echo "ava ${ava} , u_per ${u_per} , p_p ${p_p}"
            if [ ! -n "$(echo $u_per| sed -n "/^[0-9]+$/p")" ]
                then
                    continue
            fi
            if [ "$u_per" -gt "94"  ];then
                n[$i]=0
            elif [ "$u_per" -gt "89" ];then
                n[$i]=1
            else
                n[$i]=2
            fi
        done
        echo ${n[*]} | sed "s/ /
    /g" | sort -n | head -n1 
    }
    
    function check_disk_inode(){
        row=`df -iPh |wc -l`
        n=()
        for i in `seq 2 $row`
        do
            ava=`df -iPh |sed -n "$i"p|awk '{print $4}'`
            u_per=`df -iPh |sed -n "$i"p|sed -n "s/\%//"p|awk '{print $5}'`
            p_p=`df -ih -P|sed -n "$i"p|awk '{print $6}'`
            ((DEBUG)) && echo "ava ${ava} , u_per ${u_per} , p_p ${p_p}"
            if [ ! -n "$(echo $u_per| sed -n "/^[0-9]+$/p")" ]
                then
                    continue
            fi
            if [ "$u_per" -gt "94"  ];then
                n[$i]=0
            elif [ "$u_per" -gt "89" ];then
                n[$i]=1
            else
                n[$i]=2
            fi
        done
        echo ${n[*]} | sed "s/ /
    /g" | sort -n | head -n1
    }
    
    if [ "$1" == "check_disk" ]
        then
            check_disk
    fi
    if [ "$1" == "check_disk_inode" ]
        then
            check_disk_inode
    fi  
    
    if [ "$1" == "" ]
        then
            echo "usage:{check_disk|check_disk_inode}"
    fi

     客户端添加zabbix_agentd配置文件

    [root@zabbix /opt/zabbix/etc/zabbix_agentd.conf.d 16:33:10&&139]#pwd
    /opt/zabbix/etc/zabbix_agentd.conf.d
    [root@zabbix /opt/zabbix/etc/zabbix_agentd.conf.d 16:33:11&&140]#ls
    crond.conf  disk.conf
    
    crond.conf内容:
    UserParameter=crond.ping,/sbin/pidof crond | wc -l
    
    disk.conf内容:
    UserParameter=disk.all,/opt/zabbixsh/chk_disk.sh check_disk
    UserParameter=disk.all.inode,/opt/zabbixsh/chk_disk.sh check_disk_inode

     重启zabbix客户端

    查看不支持项是否已经支持

  • 相关阅读:
    Android(java)学习笔记98:如何让你的GridView不再滚动
    Android(java)学习笔记97:使用GridView以及重写BaseAdapter
    Android(java)学习笔记96:layout_weight使用注意事项
    Android(java)学习笔记95:Android运行时异常"Binary XML file line # : Error inflating class"
    HDU 2669 Romantic
    HDU 2674 N!Again
    二分查找
    HDU 3448 Bag Problem
    HDU 2962 Trucking
    HDU 3732 Ahui Writes Word
  • 原文地址:https://www.cnblogs.com/hanxiaohui/p/8493965.html
Copyright © 2011-2022 走看看