Мониторинг адаптека на ESXi за 5 минут.

Только было  я обрадовался, что Microsemi починили CIM-адаптер для подключения MaxView к ESXi, как не тут-то было… обнаружилась бага в этом CIM которая убивает var раздел на гипервизоре. В результате CIM решено было удалить, а мониторинг организовать на классическом arcconf.

И так, у нас где-то на просторах интернета есть какая-нибудь впс’ка которая по задумке должна мониторить наши ESXi в датацентрах, допилить к ней мониторинг массивов без CIM проще простого, надо:

  • Добавить нашу впс-ку в исключения фаервола от ESXi.
  • Прописать ключ нашей впс-ки в ESXi, следуя этой кб-шки https://kb.vmware.com/s/article/1002866
  • Закатать скрипт test_adaptec.sh на баше:

#!/bin/sh

server=”$1″
user=”root”
tmp_dir=”/tmp”
mailto=”почта на которую шлем мыло”
mailfrom=”почта от которой шлем мыло”

 

# Забираем конфиг с контроллера
ssh -l $user $server “/opt/pmc/arcconf GETCONFIG 1 LD” > $tmp_dir/tmp_adaptec_$server.log

# проверяем наличие поля
num_of_match=`cat $tmp_dir/tmp_adaptec_$server.log | grep “Status of Logical Device” | wc -l`
if [ “$num_of_match” = “0” ]; then
echo Cannot grab data from disk array | mail -a “From: “$mailfrom -s $server” Cannot grab data from disk array” $mailto
fi

# проверяем чтобы все массивы были Optimal
cat $tmp_dir/tmp_adaptec_$server.log | grep “Status of Logical Device” | awk -F’:’ ‘{print $2}’ | tr -d ‘[:blank:]’ | while read test_string ; do
if [ “$test_string” != “Optimal” ]; then
echo array has fail!
ssh -l $user $server “/opt/pmc/arcconf GETCONFIG 1” > $tmp_dir/adaptec_$server.log
fi
done

# Если какой-то не Optimal, отправляем письмо с полным конфигом
if test -f “$tmp_dir/adaptec_$server.log”; then
echo “$FILE exist”
mail -a “From: “$mailfrom -s $server” Disk array has FAIL!!!” $mailto < $tmp_dir/adaptec_$server.log
rm $tmp_dir/adaptec_$server.log
fi

#сохраняем состояние массивов… для аналов истории…
ssh -l $user $server “/opt/pmc/arcconf GETCONFIG 1” > /root/adaptec_$server.last.log

 

  • Ну и на последок закатать все это в крон:

# m h dom mon dow user command
0 * * * * root /root/test_adaptec.sh esxi.example.com

Добавить комментарий