34543 发表于 2015-11-10 09:41:43

zabbix监控dell服务器脚本及方式key值

#!/bin/bash
function CheckChassis ()
{
OMREPORTPATH="/opt/dell/srvadmin/bin/"
TRIGGER=`"$OMREPORTPATH"omreport chassis | grep -i "$1" | awk {'print $1'}`;
echo "$TRIGGER";
}

function CheckRaidStatus ()
{
OMREPORTPATH="/opt/dell/srvadmin/bin/"
"$OMREPORTPATH"omreport storage vdisk | grep '^ID' | \
      while read LINE
                do
                        read -a VDISKIDALL <<<$LINE;
                        VDISKID="${VDISKIDALL}";
                        VDISKIDSTATUS=`"$OMREPORTPATH"omreport storage vdisk | grep -1 "$VDISKID" | grep -i "status" | awk {'print $3'}`;
                        VDISKTYPE=`"$OMREPORTPATH"omreport storage vdisk | grep -6 "$VDISKID" | grep -i "layout" | awk {'print $3'}`;
                        if [[ "$VDISKIDSTATUS" != "Ok" ]]
                              then
                                        TRIGGER="$VDISKID--$VDISKTYPE--$VDISKIDSTATUS";
                                        echo "$TRIGGER";
                        fi
                done;
}

function CheckStorage ()
{
OMREPORTPATH="/opt/dell/srvadmin/bin/"
"$OMREPORTPATH"omreport storage pdisk controller=0 | grep '^ID' | \
      while read LINE
                do
                        read -a PDISKIDALL <<<$LINE;
                        PDISKID="${PDISKIDALL}";
                        PDISKIDSTATUS=`"$OMREPORTPATH"omreport storage pdisk controller=0 | grep -1 "$PDISKID" | grep -i "status" | awk {'print $3'}`;
                        if [[ "$PDISKIDSTATUS" != "Ok" ]]
                              then
                                        TRIGGER="$PDISKID--$PDISKIDSTATUS";
                                        echo "$TRIGGER";
                        fi
                done;
}


case "$1" in
      fans)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
      intrusion)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
      memory)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
      supplies)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
      management)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
      processors)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
      temperatures)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
      voltages)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
      hardware)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
      batteries)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
      storage)
                TRIGGERVALUE=`CheckStorage`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                        TRIGGERVALUE="Ok";
                fi
                echo $TRIGGERVALUE;;
      raid)
                TRIGGERVALUE=`CheckRaidStatus`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                        TRIGGERVALUE="Ok";
                fi
                echo $TRIGGERVALUE;;
      *)
                TRIGGERVALUE=`CheckChassis $1`;
                if [ -z "$TRIGGERVALUE" ]
                        then
                              TRIGGERVALUE="UNKNOWN";
                fi
                echo "$TRIGGERVALUE";;
esac;



UserParameter=custom.dell.osma.check[*],/etc/zabbix/dell-osma-check.sh $1

页: [1]
查看完整版本: zabbix监控dell服务器脚本及方式key值