Мониторинг доступности портов + Cacti

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
100matolog
ст. сержант
Сообщения: 309
Зарегистрирован: 2008-05-30 12:11:16
Откуда: kiev
Контактная информация:

Мониторинг доступности портов + Cacti

Непрочитанное сообщение 100matolog » 2009-12-28 15:12:56

Мониторю сервера при помощи Cacti, но , не часто но иногда грохается апача или мускуль (изза кривого кода) на серверах.
Какти то начинает пустой график рисовать но алярма ни какого не выдает. На ихнем(какти) форуме посоветовали прикрутить плагин 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   
В переменную считывается содержимое файлика с содержимым следующего формата - IP:#port
Не подскажете - как привести скрипт к виду - если порт "звонится" то что бы он выдавал в консоль 1.Если нет - то 0.
Заранее благодарю

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Мониторинг доступности портов + Cacti

Непрочитанное сообщение terminus » 2009-12-28 15:50:35

http://oss.oetiker.ch/smokeping/
http://oss.oetiker.ch/smokeping/probe/E ... tp.en.html

---

а чтобы не быть жестоким:

Код: Выделить всё

#!/bin/sh
                                                                                                                                                           
for a in `cat ./servers`
do 

nc -w 5 `echo $a | sed 's/:/" "/g'`

  if [ $? -eq 0]
  then
    echo "1"
  else
    echo "0"
  fi

done
                                                                                                                                                                                                                               
exit   
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.