Check_MK / Nagios脚本用于监视多路径计数

时间:2017-07-25 14:45:56

标签: bash shell scripting nagios check-mk

我是bash中的noob。

我想创建一个检查,所以如果1路径已经死了我想得到警告信息,超过1路下行严重,没有死路径 - 一切都可以

我会使用此命令及其输出:

powermt display dev=all 

CHECK_DEGRADED=/usr/local/bin/sudo /sbin/powermt display | grep dead| wc -l
 if [ $CHECK_DEGRADED -eq 1 ]; then

status=1
statustxt=WARNING

 else if [ $CHECK_DEGRADED -gt 1 ];  then

status=2
statustxt=CRITICAL


else

status=0
statustxt=OK

 fi 

输出应该类似于:Path处于$ statustxt状态

1 个答案:

答案 0 :(得分:0)

首先欢迎使用Stack Overflow。

  1. 声明一个路径数组
  2. 扫描所有这些
  3. 检查路径是否存在
  4. 如果存在增加计数器
  5. 然后检查计数器的退出状态
  6. 这样的事应该没问题:

    deadPath=0
     declare -a pathArray=(/usr/local/bin/sudo /sbin/powermt display)
     for i in "${pathArray[@]}"
     do
       if [ -d "$i" ]; then
          # Will enter here if path exists
          echo "Path $i Exists"
       else
        deadPath=$[$deadPath+1] 
       fi
    done
    if (( deadPath > 1 )); then
      echo "Critical"
      exit 2
    elif (( deadPath == 1 )); then
      echo "Warning"
      exit 1
    else 
      echo "OK"
      exit 0
    fi