2 дня назад
История
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 с ошибкой