/pingmon

PingMon sandbox

Primary LanguageRuby

PingMon

Пингалка хостов. Собрана из хвороста, еловых шишек и подорожника. Работает на:

  • EventMachine
  • Sinatra

Состоит из мастер и воркер демонов.

Мастер предоставляет интерфейс для запуска и остановки пинга хостов, а так же статистики по хосту

curl -X POST /watch -F 'host=8.8.8.8' # Добавили хост
curl -X DELETE /watch/8.8.8.8 # Удалили хост
curl /host/8.8.8.8/statistic?from=_timestamp_&to=_timestamp_

Воркер общается с мастером через вебсокеты, получая от мастера команды запуска и остановки пинга хостов. Предполагается, что если вебсокет соединение с воркером развалилось - то значит воркер умер и нужно перераспределить его хосты на по оставшимся воркерам. При появлении нового хоста отдаём его воркеру посвободнее.

Запуск

docker-compose up