Система мониторинга серверов и сайтов с помощью тестов perl на iPhone
Есть такие мега штуки, как возможность написе unit тестов на perl, а так же не фреймворк iui, коорый позволяет делать html страницы с нативным интерфейсом айфона. К сожалению, про эти вещи я узнал не так давно, как бы мне хотелось (посыпаю голову пеплом). Я некоторое время думал, где-то применить их и тут подвернулась подходящая задачка (Кроме этого есть еще и чудестный бесплатный набор иконок, котороый я тоже тут заиспользовал).
У меня достаточно большая сетевая инфраструктура на работае + есть несколько машин дома. Я бы хотел иметь возможность, находясь где-то в пути проверить, что сейчас работает, а что нет. У меня есть всякие системы системы мониторинга, .но для их нормального использования мне нужно сидеть за компьютером. Я хотел сделать нечно простое, что просто показывает, что on, а что off. У меня есть iPhone и я решил, что вполне логично сделать нечно для него.
Таким образом родился крохотный проект — bmon — bessarabov’s monitoring system.
Эта штукенция состоит из 2-х частей:
- система мониторинга — запускатеся по crontab выполняет все perl тесты, определяет, что не работает и записывает в файл
- система отображения — perl cgi-bin скрипт, который на основе файлов с результатами работоты тестов формирует html страницу
Не отходя от кассы, вот ссылка на bmon.zip.
В архиве есть дока, там я понятно (я старался) написано, как запускать эту штуку + весь код (там всего ничего) так же достаточно подробно закомментирован.
Хочу подчеркнуть, что это не идеальное творение, но для моих целей подходит идеально =)
Вот пример, как я исползую perl тесты, для проверки:
# Если гугл не пигуется, значит интернет сломался
ok (ping(host => “google.com”, count => 3, size => 1024, timeout => 3 ), “internet is down”);
# Проверяем, работает ли сайт (в случае, если все нормально должен получить статус 200)
$mech->get( “http://example.com” );
is($mech->status(), 200, “example.com is down”);
А вот несколько синшотов:
Еще раз ссылка на эту программу.
Буду рад, если вам эта штуку пригодится, и вдвойне буду рад за любой feedback =)





[...] В конце марта, в качестве небольшой эксперимента я написал крохотную и очень простую систему мониторинга. Про нее я отписывал на своем блоге. [...]