Мониторинг и журналирование — важнейшие аспекты управления и обслуживания Ubuntu Server 22.04. Независимо от того, используете ли вы один сервер или управляете сложной инфраструктурой, эффективные инструменты мониторинга позволяют отслеживать производительность системы, устранять неполадки и обеспечивать надёжность. В этом руководстве рассматривается настройка централизованного журналирования с помощью rsyslog или syslog-ng, пересылка журналов на удалённый сервер журналирования и интеграция Ubuntu Server с популярными платформами мониторинга, такими как Nagios, Zabbix и Prometheus.
01. Введение в Ubuntu Server – SysOSX: AI & Cloud
02. Как настроить первый сервер Ubuntu: руководство для начинающих – SysOSX: AI & Cloud
03. Освоение командной строки Linux для Ubuntu Server – SysOSX: AI & Cloud
05. Основы сетей для Ubuntu Server: полное руководство – SysOSX: AI & Cloud
07.Обновление и установка исправлений для Ubuntu Server: полное руководство – SysOSX: AI & Cloud
08. Защита сервера Ubuntu: практические шаги по усилению защиты – SysOSX: AI & Cloud
09. Аудит и журналирование Ubuntu Server
10. Инструменты мониторинга системы для Ubuntu Server: полное руководство – SysOSX: AI & Cloud
Почему важен мониторинг серверов
В современном цифровом мире, который всегда на связи, 97 % организаций считают мониторинг серверов важнейшим фактором непрерывности бизнеса (IDC, 2024). Для пользователей Ubuntu Server 22.04 эффективный мониторинг:
📊 Предоставляет практические данные для планирования ёмкости
🛠️ Предотвращает 68 % потенциальных сбоев благодаря проактивному обнаружению
📈 Оптимизирует распределение ресурсов за счёт отслеживания использования CPU/RAM/диска
🔍 Обеспечивает быстрое устранение неполадок благодаря централизованному журналированию
Централизованное журналирование на Ubuntu Server
Централизованное журналирование объединяет журналы с нескольких серверов в одном месте, упрощая анализ и устранение неполадок по всей инфраструктуре. Ubuntu Server 22.04 поддерживает такие мощные инструменты журналирования, как rsyslog и syslog-ng.
Освоение централизованного журналирования
rsyslog и syslog-ng: быстрое сравнение
| Функция | rsyslog | syslog-ng |
|---|---|---|
| Поддержка протоколов | UDP/TCP | UDP/TCP/TLS |
| Фильтрация | Базовая | Расширенная |
| Производительность | Высокая | Очень высокая |
| Конфигурация | Простая | Сложная |
Настройка rsyslog для централизованного журналирования
rsyslog — надёжный и широко используемый демон журналирования, предустановленный в Ubuntu Server. Выполните следующие шаги, чтобы настроить его для централизованного журналирования:
- Установите rsyslog (если он ещё не установлен):
sudo apt update && sudo apt install rsyslog
- Отредактируйте файл конфигурации rsyslog:
Откройте/etc/rsyslog.confи раскомментируйте следующие строки, чтобы включить пересылку журналов по UDP или TCP:
# For UDP
#module(load="imudp")
#input(type="imudp" port="514")
# For TCP
#module(load="imtcp")
#input(type="imtcp" port="514")
- Перезапустите службу rsyslog:
sudo systemctl restart rsyslog
- Настройте пересылку журналов:
Чтобы пересылать журналы на удалённый сервер, добавьте следующую строку в/etc/rsyslog.conf:
*.* @@remote-server-ip:514
- Замените
remote-server-ipна IP-адрес вашего сервера журналирования. Используйте@для UDP или@@для TCP.
Настройка syslog-ng для централизованного журналирования
syslog-ng — ещё один надёжный инструмент журналирования с расширенными возможностями фильтрации и журналирования. Вот как его настроить:
- Установите syslog-ng:
sudo apt update && sudo apt install syslog-ng
- Настройте syslog-ng для централизованного журналирования:
Отредактируйте файл конфигурации/etc/syslog-ng/syslog-ng.conf:
source s_local {
system();
internal();
};
destination d_remote {
tcp("remote-server-ip" port(514));
};
log {
source(s_local);
destination(d_remote);
};
- Замените
remote-server-ipна IP-адрес вашего сервера журналирования. - Перезапустите syslog-ng:
sudo systemctl restart syslog-ng
Пересылка журналов на удалённый сервер журналирования
Пересылка журналов на удалённый сервер необходима для централизованного мониторинга в распределённых средах. Оба инструмента rsyslog и syslog-ng поддерживают пересылку журналов по UDP или TCP. Убедитесь, что ваш удалённый сервер журналирования настроен на приём входящих журналов на указанном порту (например, 514).
Настройка удалённого сервера журналирования
На удалённом сервере журналирования убедитесь, что rsyslog или syslog-ng настроен на приём журналов:
- Для
rsyslogдобавьте следующие строки в/etc/rsyslog.conf:
module(load="imtcp")
input(type="imtcp" port="514")
- Для
syslog-ngопределите источник для приёма входящих журналов:
source s_remote {
tcp(port(514));
};
Интеграция Ubuntu Server с платформами мониторинга
Платформы мониторинга, такие как Nagios, Zabbix и Prometheus, предоставляют данные в реальном времени о состоянии, производительности и использовании ресурсов вашего сервера. Вот как можно интегрировать Ubuntu Server 22.04 с этими инструментами.
Nagios: классическое решение
Nagios — мощный инструмент мониторинга, который отслеживает производительность сервера и предупреждает о потенциальных проблемах. Чтобы интегрировать Nagios с Ubuntu Server:
- Установите агент Nagios:
sudo apt update && sudo apt install nagios-nrpe-server nagios-plugins
- Настройте NRPE:
Отредактируйте/etc/nagios/nrpe.cfgчтобы определить команды, которые будет отслеживать Nagios:
command[check_load]=/usr/lib/nagios/plugins/check_load -w 5,4,3 -c 10,8,6
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
- Перезапустите NRPE:
sudo systemctl restart nagios-nrpe-server
Zabbix: мониторинг корпоративного уровня
Zabbix — платформа мониторинга корпоративного уровня с широкими возможностями настройки. Чтобы интегрировать Zabbix с Ubuntu Server:
- Установите агент Zabbix:
sudo apt update && sudo apt install zabbix-agent
- Настройте агент Zabbix:
Отредактируйте/etc/zabbix/zabbix_agentd.confи задайте сервер и имя хоста:
Server=your-zabbix-server-ip
Hostname=UbuntuServer22.04
- Перезапустите агент Zabbix:
sudo systemctl restart zabbix-agent
Prometheus + Grafana: современный стек мониторинга
Prometheus — современный инструмент мониторинга, разработанный для масштабируемости и гибкости. Чтобы интегрировать Prometheus с Ubuntu Server:
- Установите Node Exporter:
Node Exporter — лёгкий агент для предоставления метрик в Prometheus.
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
tar xvf node_exporter-1.7.0.linux-amd64.tar.gz
sudo mv node_exporter-1.7.0.linux-amd64/node_exporter /usr/local/bin/
- Запустите Node Exporter:
sudo nohup /usr/local/bin/node_exporter &
- Настройте Prometheus:
Добавьте сервер Ubuntu в Prometheus, отредактировав файлprometheus.yml:
scrape_configs:
- job_name: 'ubuntu_servers'
scrape_interval: 15s
static_configs:
- targets: ['server1:9100', 'server2:9100']
Идеи панелей Grafana:
- Тепловая карта ресурсов всего кластера
- Прогнозирование места на диске
- Оповещения об обнаружении аномалий
Профессиональные стратегии мониторинга
- Политика хранения журналов
- 7 дней – критически важные системы
- 30 дней – обычные серверы
- 1 год – системы соответствия требованиям
- Лучшие практики порогов оповещений
- 🟢 Предупреждение: использование диска 75 %
- 🔴 Критично: использование диска 90 %
- 📈 Триггеры автомасштабирования: загрузка CPU 70 % в течение длительного времени
- Оптимизация затрат
- Используйте VictoriaMetrics для 10-кратного сжатия хранилища по сравнению с обычным Prometheus
- Реализуйте сэмплирование журналов для записей уровня отладки
Современное решение: многоуровневое управление журналами
Умные команды комбинируют стратегии хранения:
| Уровень | Срок хранения | Тип хранилища | Сценарий использования |
|---|---|---|---|
| Горячий | 7 дней | NVMe/SSD | Активное устранение неполадок |
| Тёплый | 30 дней | HDD/облачное хранилище | Ретроспективный анализ |
| Холодный | от 1 года | Glacier/S3 Deep Archive | Соответствие требованиям/аудиты |
Пример реализации:
# Use logrotate with AWS S3 lifecycle rules
/var/log/nginx/*.log {
daily
rotate 7
compress
postrotate
/usr/bin/aws s3 sync /var/log/nginx/ s3://logs-hot/
find /var/log/nginx/ -type f -mtime +7 -exec aws s3 cp {} s3://logs-cold/ \;
endscript
}
Ключевые факторы пересмотра сроков хранения
- Требования соответствия
- GDPR: до 6 лет для персональных данных
- SOX: 7 лет для финансовых систем
- PCI-DSS: 1 год с 3 месяцами немедленной доступности
- Потребности расследования инцидентов
- APT-атаки часто обнаруживаются спустя 6+ месяцев после взлома (Mandiant M-Trends 2024)
- Стратегии оптимизации затрат
- Сжимайте журналы через 7 дней:
zstd --ultra -22(сжатие более чем на 80 %) - Используйте колоночные форматы (Parquet/ORC) для аналитического хранилища на 60 % меньше
- Сжимайте журналы через 7 дней:
Пересмотренная рекомендация
Для большинства критически важных производственных систем:
- Горячий доступ: 7-14 дней (SSD/NVMe)
- Архив соответствия: от 1 года (холодное хранилище)
- Журналы безопасности: минимум 180 дней (CIS Benchmark v4)
Пример настройки соответствия:
# Auditd rules for PCI-DSS
-a always,exit -F arch=b64 -S all -F path=/var/log/payment.log -F perm=wa -k payment_logs
Часто задаваемые вопросы: мониторинг Ubuntu Server
Q: Как часто следует проверять метрики сервера?
A: – интервалы 15 с для производственных систем
- 1 мин для некритичных рабочих нагрузок
Q: Можно ли отслеживать контейнеры Docker?
A: Да! Используйте:
- cAdvisor для метрик контейнеров
- Prometheus Docker Swarm exporter
Q: Сколько стоит корпоративный мониторинг?
A: Решения с открытым исходным кодом бесплатны. Корпоративные версии:
- Nagios XI: ~$1,995/год
- Zabbix Enterprise: ~$1,700/год
- Grafana Cloud: ~$50+/месяц
Справочный документ:
Syslog-ng: https://syslog-ng.github.io/
Rsyslogd: https://www.rsyslog.com/doc/index.html
Заключение
Мониторинг и журналирование необходимы для поддержания работоспособности и производительности Ubuntu Server. Настроив централизованное журналирование с помощью rsyslog или syslog-ng, пересылку журналов на удалённый сервер и интеграцию с такими платформами, как Nagios, Zabbix и Prometheus, вы сможете получить ценную информацию о своей инфраструктуре и обеспечить бесперебойную работу.
Следите за новостями: Передовые практики аудита и соответствия требованиям для Ubuntu Server
Эффективный мониторинг системы — лишь часть поддержания безопасной и соответствующей требованиям серверной среды. В нашей следующей статье мы подробно рассмотрим Передовые практики аудита и соответствия требованиям для Ubuntu Server, включая обзор стандартов соответствия, таких как PCI-DSS и GDPR, настройку правил аудита с помощью auditctl и создание аудиторских отчётов для выявления подозрительной активности. Не пропустите!
3 thoughts on “11. Centralized Logging for ubuntu server: a must read guide”