Задать вопрос

Посоветуйте легковесный мониторинг HTTP

Посоветуйте, пожалуйста, легковесный мониторинг HTTP.
Нужно мониторить несколько HTTP-локаций (HTML/JSON/XML/etc) и выводить это все красиво на одной странице.
Не SaaS.

Основной критерий — чтобы настраивался на мониторинг 2-3 локаций с нуля не больше чем за полчаса (без предварительного знакомства с этой программой).

Желательно, но не обязательно, и не в ущерб основному вышеприведенному критерию:
  • Возможность проверять ответы на POST-запросы.
  • Проверка на возвращаемый определенный статус-код HTTP, а не просто 200/не200 (400,401,403,404,409,500 используются точно и хочется их различать).
  • Небольшое количество фич — плюс. Или как вариант небольшое количество по-умолчанию включенных фич.


Уточню зачем это нужно: времени на настройку нормального мониторинга пока нет, но какой-то минимум (работает/неработает) хочется отслеживать уже сейчас.
  • Вопрос задан
  • 7263 просмотра
Подписаться 4 Оценить 1 комментарий
Решения вопроса 2
DevMan
@DevMan
sitemonitoring.sourceforge.net
Правда не умеет POST, но умеет различать HTTP-коды, проста и бесплатна.
Ответ написан
nochkin
@nochkin
Можно сделать достаточно простой скрипт, который через, например, curl -I будет это делать по разным линкам и выводить список неисправных если что-то не так (например, ругаться когда ошибка 500 или нет ответа).
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Setrino
@Setrino
Если вы на Маке есть замечательный тул — Integrity
Ответ написан
tryvia
@tryvia
Примерная логика, с уведомлением о состоянии на почтовый ящик.
Нужны будут libwww-perl.

Билдинг какой-то html таблицы можно построить исходя из следующего.
#/bin/bash
html=/var/www/servers_state.html
serverlist=(ip1 ip2 ip3 ip4)
while true
do
echo '<table width="40%" border="0" cellspacing="0" cellpadding="5" >' > $html
for ip in "${serverlist[@]}"
do
state=$(HEAD localhost $ip |sed -n 1p)
echo "<tr><td>$ip</td><td>$state</td>/tr>" >> $html
if ( "$state" != "200 OK" )
then
echo "Something is wrong with $ip" |mail -s "Invalid responce from $ip" your_mail@your_domain.com
fi
done
echo "</table>" >> html
sleep 60
done


Этот скрипт будет запущен постоянно и будет проверять сервера из списка каждые 60 секунд. Будет билдить хтмл и слать письмо, если что-то сломалось.
Возможно допустил какие-то ошибки в написании. Но общая логика сводится к тому, что для проверки состояния не обязательно нужны какие-то сторонние тулзы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы