пятница, 17 ноября 2017 г.

SCOM. Мониторинг перезагрузки Linux-серверов по uptime

Каждые 15 минут опрашиваем группу Linux-сервера командой  cat /proc/uptime | cut -d'.' -f1
Получаем значение uptime в секундах и сравниваем с порогом. Если аптайм меньше 30 минут, то шлем алерт.

https://stefanroth.net/2012/10/21/scom-2012-linux-two-state-monitor-with-script-in-script/



Создаем монитор, когда создаем монитор, создаем MP




Создаем MP, выбираем группу всех Linux серверов

 

 Как часто запускать скрипт








Какую команду будем выполнять на линукс-сервере
cat /proc/uptime | cut -d'.' -f1











Ошибка, если аптайм меньше 1859 секунд (30 минут)

Но!! Paramert name и Value идут как String, чтобы сделать их Integer, смотри ниже
 

Если аптайм станет больше 1859 секунд, то монитор закроется




Делаем так
Пишем в alert description
Возможно, зафиксирована перезагрузка сервера. Проверьте uptime сервера.

Uptime is $Data/Context///*[local-name()="StdOut"]$ seconds
Не ошибаемся с кавычками.
 

 
Идем в Administration - Management Packs - Export Management Pack наш.
Открываем его блокнотом
В четырех местах меняем String на Integer в таких строчках <XPathQuery Type="String">//*[local-name()="StdOut"]
Если этого не сделать, то строка будет сравниваться со строкой, а нам нужно сравнить число с числом (секунды текущего аптайма с секундами порога)

Теперь при перезагрузке сервера будет появляться монитор, и через 30 минут аптайма закрываться.
Как настроить рассылку писем при срабатывании монитора, примерно указано в этой статье: