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