Логгирование
Journalctl
sudo journalctl | Просмотреть системный журнал |
sudo journalctl -u ssh | Логи конкретной службы |
sudo journalctl -f | Последние логи (как tail -f) |
sudo journalctl -p err | Только ошибки |
Journalctl по умолчанию сохраняет логи в ОП
Rsyslog
Rsyslog нужен:
- нужны обычные текстовые файлы /var/log/auth.log, /var/log/syslog;
- необходима ротацию логов через logrotate;
- нужно отправлять логи на внешний syslog-сервер (например, в SIEM).
Установка:
sudo apt install rsyslog
sudo systemctl enable --now rsyslog
Настройка
/etc/rsyslog.conf | Основной файл настроек. Дополнительные файлы настроек подключаются в алфавитном порядке из /etc/rsyslog.d/*.conf |
/etc/rsyslog.d/50-default.conf | Создается при установке. Базовые правила. Можно комментировать. Например
|
Рекомендованные файлы | |
10-base.conf | Базовые глобальные настройки
|
20-remote.conf | Отправка логов на удалённый сервер
|
30-ssh.conf | Логи от sshd
|
40-sudo.conf | Логи sudo
|
99-local.conf | Локальные мелкие правки, фильтры, формат вывода |
Для изменения формата сообщений изменяем файл sudo nano /etc/rsyslog.conf
$template RFC3164fmt,"<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag%%msg%\n" #добавляем шаблон
auth,authpriv.* /var/log/auth.log;RFC3164fmt #привязываем шаблон к лог файлу
Приоритет syslog считается по формуле facility * 8 + severity. Facility имеет заданные значения, и определяет к какому типу относится событие. Например, facility #0 относится к событиям ядра, а #4 - к событиям систем безопасности.
Severity отвечает за уровень критичности событий, где 0 это максимум(emergency), а уровень 7 - малоинформативные данные, используемые для отладки(debug).
В нашем примере число 38 получается за счет facility 4 и severity 6 (info).
No comments to display
No comments to display