Найти в Дзене
Уроки Linux

🛠️ Как сделать автоматическую проверку состояния сервера с помощью systemd

🛠️ Как сделать автоматическую проверку состояния сервера с помощью systemd Привет, друзья! 🚀 Хотите, чтобы ваш сервер сам разбираться с проблемами и уведомлять вас в режиме реального времени? Сегодня расскажу, как использовать возможности systemd для автоматизации мониторинга — без лишних скриптов и сторонних сервисов. Плюсы такого подхода: - мгновенные уведомления при сбоях; - автоматический перезапуск зависших служб; - детальный лог ошибок прямо в systemd. Для начала создадим unit-файл с описанием задачи. Например, чтобы следить за nginx: - создаем сервис- таймер: sudo systemctl edit --full nginx-monitor.timer и вставляем: Unit Description=Проверка nginx каждые 5 минут Timer OnBootSec=5min OnUnitActiveSec=5min Install WantedBy=timers.target - а далее сервис: bash sudo systemctl edit --full nginx-monitor.service с содержимым: [Unit] Description=Проверка статуса nginx [Service] Type=oneshot ExecStart=/bin/bash -c 'systemctl is-active nginx || systemctl restart nginx &&

🛠️ Как сделать автоматическую проверку состояния сервера с помощью systemd

Привет, друзья! 🚀 Хотите, чтобы ваш сервер сам разбираться с проблемами и уведомлять вас в режиме реального времени? Сегодня расскажу, как использовать возможности systemd для автоматизации мониторинга — без лишних скриптов и сторонних сервисов.

Плюсы такого подхода:

- мгновенные уведомления при сбоях;

- автоматический перезапуск зависших служб;

- детальный лог ошибок прямо в systemd.

Для начала создадим unit-файл с описанием задачи. Например, чтобы следить за nginx:

- создаем сервис- таймер:

sudo systemctl edit --full nginx-monitor.timer

и вставляем:

Unit

Description=Проверка nginx каждые 5 минут

Timer

OnBootSec=5min

OnUnitActiveSec=5min

Install

WantedBy=timers.target

- а далее сервис:

bash

sudo systemctl edit --full nginx-monitor.service

с содержимым:

[Unit]

Description=Проверка статуса nginx

[Service]

Type=oneshot

ExecStart=/bin/bash -c 'systemctl is-active nginx || systemctl restart nginx && systemctl status nginx > /var/log/nginx-monitor.log && mail -s "Nginx down" your_email@example.com < /dev/null'

Теперь активируем таймер:

sudo systemctl enable --now nginx-monitor.timer

Вы получите автоматические проверки, исправления и уведомления. Всё просто и эффективно!

Как думаете, стоит ли дополнить уведомления отправкой в Slack или Telegram? |

Больше полезных статей ты найдешь в нашем телеграм-канале https://t.me/LinuxSkill, а вакансии для системных администраторов — в боте https://t.me/gradeliftbot

📩 Завтра: Как настроить Fail2Ban за 5 минут!

Включи 🔔 чтобы не пропустить!