README.md

Linux System Monitor

Bash-скрипт для мониторинга параметров системы Linux с автозапуском через cron.

Описание

Скрипт выполняет настраиваемую проверку ключевых метрик системы и сохраняет результаты в текстовый файл.

Запуск

Дать права на выполнение

chmod +x monitor_sys.sh

Запустить (вручную)

./monitor_sys.sh

Настройка автоматического запуска (через cron)

Открыть планировщик задач

crontab -e

Добавить строку для запуска каждые 30 минут

*/30 * * * * /home/ilya/Desktop/monitor_sys.sh

Параметры мониторинга

1. Диски

  • Использование корневого раздела (/)
  • Пороги срабатывания:
    • WARNING: >80%
    • CRITICAL: >90%

2. Память

  • Общая и доступная память (через /proc/meminfo)
  • Расчет процентного использования с порогами:
    • WARNING >85%
    • CRITICAL >95%

3. Процессор

  • Load average (загрузка системы)
  • Количество ядер CPU

4. Сеть

  • Доступность интернета (ping 8.8.8.8)
  • Статус подключения

5. Службы

  • SSH сервер
  • Cron демон

6. Логи

  • Критические ошибки в системных логах за последние 10 минут

7. Системная информация

  • Аптайм системы
  • Количество активных пользователей
  • Версия дистрибутива

Выходные данные

Результаты сохраняются в файл:

/home/ilya/Desktop/monitor_result.txt

Особенности реализации

  • Автоматическое определение окружения: цветной вывод в терминал, чистый текст в файл
  • Обработка ошибок: проверка доступности команд и файлов
  • Кросс-дистрибутивность: работает на Ubuntu, Debian, CentOS
  • Минимальные зависимости: только стандартные утилиты Linux

Используемые команды Linux

  • df, free, uptime - сбор метрик
  • systemctl - управление службами
  • journalctl - работа с логами
  • grep, awk, sed - обработка текста
  • ping, hostname, who - сеть и системная информация

Пример вывода

========================================
МОНИТОРИНГ СИСТЕМЫ: VM_SERV
Время: Wed Dec 28 14:30:01 UTC 2025
========================================
=== ДИСКИ ===
14:30:01 - OK: Диск / заполнен на 45%
=== ПАМЯТЬ ===
14:30:01 - OK: Память заполнена на 32%
=== CPU ===
14:30:01 - Загрузка: 0.12 (ядер: 4)
=== СЕТЬ ===
14:30:01 - ✓ Интернет работает
=== СЛУЖБЫ ===
14:30:01 - ✓ ssh работает
14:30:01 - ✓ cron работает
=== ЛОГИ ===
14:30:01 - Ошибок в логах нет
=== ИНФОРМАЦИЯ ===
14:30:01 - Аптайм: up 2 days, 3 hours
14:30:01 - Пользователи: 1
14:30:01 - Система: Ubuntu-Server 22.04 LTS
========================================

Расширение функциональности

Скрипт можно дополнить по своему настроению:

  • Уведомлениями в Telegram/Email
  • Мониторингом Docker-контейнеров
  • Проверкой свободного места в других разделах
  • Отслеживанием температуры CPU
  • Экспортом метрик в формате Prometheus
Описание

Автоматизированная система мониторинга Linux-системы сo сбором метрик, анализом логов и гибкой системой уведомлений. Работает как демон systemd или по расписанию cron. Можно проапгрейдить под свои задачи.

Конвейеры
0 успешных
0 с ошибкой