Иосиф Правец
Руководитель отдела разработки 1С в Техномарин · 06.04 · ред.
Легковесный мониторинг с Monit
Пост выходного дня про мониторинг Потребовалось мне внезапно мониторить определённые процессы на роутере с OpenWRT и перезапускать их, если упали. Первая мысль была — просто в cron добавить принудительный перезапуск раз в N минут. Но это вариант с дурным запахом, прямо скажем. Ибо: • будут лишние перезапуски, когда не надо • будет задержка запуска, когда сервис реально упал К счастью, беглый поиск познакомил меня с отличным легковесным решением для мониторинга — Monit. Что может мониторить: 🔹 существование процесса (по PID или регулярке) 🔹 сетевые порты 🔹 ответы сервисов (HTTP, SMTP, SSH) 🔹 потребление ресурсов процессом 🔹 файловую систему (наличие файлов, каталогов, права, место) 🔹 контрольные суммы MD5 🔹 код возврата скриптов/программ Что может делать при срабатывании: 🔸 перезапустить процесс 🔸 отправить уведомление на почту 🔸 выполнить кастомный скрипт 🔸 выждать время (на случай самовосстановления) 🔸 работать с ФС (монтирование и т.д.) Плюшки: ✓ Лёгкий — идеально для роутеров ✓ Гибкий — условия и действия комбинируются ✓ Простой — конфиг в одном файле Пример конфига для Nginx:
check process nginx with pidfile /var/run/nginx.pid start program = "/etc/init.d/nginx start" stop program = "/etc/init.d/nginx stop" if failed port 80 protocol http then restart
Итог: Если нужно простое и эффективное решение для мониторинга — Monit рулит. 📩 Мои контакты: 🔹 Телеграм-канал 🔹 Сайт-визитка 🔹 Профиль в Сетке
еще контент автора
еще контент автора
Иосиф Правец
Руководитель отдела разработки 1С в Техномарин · 06.04 · ред.
войдите, чтобы увидеть
и подписаться на интересных профи