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客户端

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

  • 相关阅读:
    GeneXus笔记本—城市级联下拉
    GeneXus笔记本—获取当月的最后一天
    GeneXus笔记本——创建一个知识库 哈哈哈哈!
    GeneXus笔记本——入门篇
    Android Studio 学习笔记1.1 创建自己的第一个安卓项目并且打包APK
    初入Android Studio的我
    随笔
    在Azuer创建自己的Linux_VM
    获得自己电脑的SSH公匙
    数据库内连接、外连接以及左右连接的区别
  • 原文地址:https://www.cnblogs.com/hanxiaohui/p/8493965.html
Copyright © 2011-2022 走看看