Simplemon - мониторинг сайта и сервера на bash

Simplemon - мониторинг сайта и сервера на bash

88788 Совместимость: Linux; Bash, cron, curl; sendmail или mail для уведомлений

Simplemon - мониторинг сайта и сервера на bash

Простой мониторинг сайта и сервера на bash. Без зависимостей, без базы, без агентов: один скрипт и две строки в cron.

Проверяет:

- доступность сайта, HTTP-код и время ответа (по умолчанию каждые 5 минут);
- свободное место на диске (по умолчанию раз в час).

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

Важно понимать

Скрипт работает на том же сервере, который контролирует. Он видит все сбои, при которых сервер жив, а сайт или сервисы лежат: упал веб-сервер или PHP, кончилось место на диске, база не отвечает, сайт отдает ошибки. Полную смерть сервера (диск, сеть, хостинг) он не увидит - для этого нужен внешний наблюдатель.

Требования

- Linux с bash, cron, curl;
- sendmail или mail (пакет mailutils) для отправки писем. Для надежной доставки лучше настроить msmtp через внешний SMTP.

Установка

bash

sudo cp simplemon.sh /usr/local/bin/simplemon.sh
sudo chmod +x /usr/local/bin/simplemon.sh
sudo mkdir -p /var/lib/simplemon

Откройте скрипт и заполните блок НАСТРОЙКИ: адрес сайта, email для уведомлений, пороги.

Cron

*/5 * * * * /usr/local/bin/simplemon.sh http
7 * * * * /usr/local/bin/simplemon.sh disk

Тест

На минуту остановите веб-сервер

sudo systemctl stop nginx


Должно прийти письмо о сбое. После запуска - письмо о восстановлении.

simplemon.zip9.35 KbСкачиваний: 2

Обсуждение

Пока никто не оставил комментарий

Оставить комментарий
Кликните на изображение чтобы обновить код, если он неразборчив