Мониторинг доступности портов + Cacti
Добавлено: 2009-12-28 15:12:56
Мониторю сервера при помощи Cacti, но , не часто но иногда грохается апача или мускуль (изза кривого кода) на серверах.
Какти то начинает пустой график рисовать но алярма ни какого не выдает. На ихнем(какти) форуме посоветовали прикрутить плагин THOLD который умеет слать алярм по пороговым значениям. Но он к сожалению не подошел так как когда апач или иной сервис вылетает и не отдается по снмп - он(плагин) не сигналит.
Решил нарисовать скрипт который периодически будет проверять наличие 80 или иного порта.
Нарыл в инете похожий скрипт и решил переделать для своих нужд - но к сожалению с башем не владах.
Что имеется
В переменную считывается содержимое файлика с содержимым следующего формата - IP:#port
Не подскажете - как привести скрипт к виду - если порт "звонится" то что бы он выдавал в консоль 1.Если нет - то 0.
Заранее благодарю
Какти то начинает пустой график рисовать но алярма ни какого не выдает. На ихнем(какти) форуме посоветовали прикрутить плагин THOLD который умеет слать алярм по пороговым значениям. Но он к сожалению не подошел так как когда апач или иной сервис вылетает и не отдается по снмп - он(плагин) не сигналит.
Решил нарисовать скрипт который периодически будет проверять наличие 80 или иного порта.
Нарыл в инете похожий скрипт и решил переделать для своих нужд - но к сожалению с башем не владах.
Что имеется
Код: Выделить всё
#!/usr/local/bin/bash
for a in $(<servers); do nmap `echo $a | sed -e 's/:/ -p /'` | grep -q "/tcp *open " || echo $a; done > /var/test/serverlist;
DATENOW=$(date +%d-%m-%Y_%T)
if (!( [ -z $(cat /var/test/serverlist) ])); then
echo $DATENOW >> /var/test/log.check
cat /var/test/serverlist >> /var/test/log.check
mail maxim@della.ua< /var/test/serverlist
fi
exit Код: Выделить всё
aНе подскажете - как привести скрипт к виду - если порт "звонится" то что бы он выдавал в консоль 1.Если нет - то 0.
Заранее благодарю