Вопрос или проблема
После добавления следующих модулей в директорию /etc/rsyslog.d/ rsyslog продолжает быстро записывать логи на диск, что приводит к быстрому увеличению размеров файлов messages и command.log с объемными записями.
Вот обновленная конфигурация:
[root@rockey2 rsyslog.d]# cat /etc/rsyslog.d/cmd.conf
$ModLoad imfile
$InputFilePollInterval 1
$InputFileName /var/log/command
$InputFileTag secure-logs
$InputFileStateFile secure-state
$InputFileFacility local6
$InputRunFileMonitor
local6.* @@192.168.56.103
[root@rockey2 rsyslog.d]# cat /etc/rsyslog.d/message.conf
$ModLoad imfile
$InputFilePollInterval 1
$InputFileName /var/log/messages
$InputFileTag messages-logs
$InputFileStateFile messages-state
$InputFileFacility local6
$InputRunFileMonitor
local6.* @@192.168.56.103
Файл cmd.conf захватывает каждую команду, выполненную на системе Linux, как определено в PROMPT_COMMAND. Кроме того, в файле rsyslog.conf я добавил следующую конфигурацию:
local6.* /var/log/commands.log
Когда я удаляю файл message.conf, rsyslog продолжает вставлять обычные логи. Однако после добавления логов сообщений rsyslog генерирует чрезмерное количество логов.
Вот пример из файла command.log:
Dec 26 05:21:10 rockey2 messages-logs Dec 26 05:21:10 rockey2 messages-logs Dec 26 05:21:10 rockey2 messages-logs Dec 26 05:21:09 rockey2 messages-logs Dec 26 05:21:09 rockey2 messages-logs Dec 26 05:21:09 rockey2 messages-logs Dec 26 05:21:09 rockey2 messages-logs Dec 26 05:21:09 rockey2 messages-logs Dec 26 05:21:08 rockey2 messages-logs Dec 26 05:21:08 rockey2 messages-logs Dec 26 05:21:08 rockey2 messages-logs Dec 26 05:21:08 rockey2 messages-logs Dec 26 05:20:58 rockey2 messages-logs Dec 26 05:20:57 rockey2 messages-logs Dec 26 05:20:57 rockey2 messages-logs Dec 26 05:20:57 rockey2 messages-logs Dec 26 05:20:57 rockey2 messages-logs Dec 26 05:20:57 rockey2 messages-logs Dec 26 05:20:57 rockey2 messages-logs Dec 26 05:20:57 rockey2 messages-logs Dec 26 05:20:57 rockey2 messages-logs Dec 26 05:20:56 rockey2 messages-logs Dec 26 05:20:56 rockey2 messages-logs Dec 26 05:20:56 rockey2 messages-logs Dec 26 05:20:56 rockey2 messages-logs Dec 26 05:20:56 rockey2 messages-logs Dec 26 05:20:56 rockey2 messages-logs Dec 26 05:20:56 rockey2 messages-logs Dec 26 05:20:56 rockey2 messages-logs Dec 26 05:20:56 rockey2 messages-logs Dec 26 05:20:55 rockey2 messages-logs Dec 26 05:20:55 rockey2 messages-logs Dec 26 05:20:55 rockey2 messages-logs Dec 26 05:20:55 rockey2 messages-logs Dec 26 05:20:55 rockey2 messages-logs Dec 26 05:20:55 rockey2 messages-logs Dec 26 05:20:55 rockey2 messages-logs Dec 26 05:20:55 rockey2 messages-logs Dec 26 05:20:55 rockey2 messages-logs Dec 26 05:20:54 rockey2 messages-logs Dec 26 05:20:54 rockey2 messages-logs Dec 26 05:20:54 rockey2 messages-logs Dec 26 05:20:54 rockey2 messages-logs Dec 26 05:20:54 rockey2 messages-logs Dec 26 05:20:54 rockey2 messages-logs Dec 26 05:20:54 rockey2 messages-logs Dec 26 05:20:54 rockey2 messages-logs Dec 26 05:20:54 rockey2 messages-logs Dec 26 05:20:53 rockey2 messages-logs Dec 26 05:20:53 rockey2 messages-logs Dec 26 05:20:53 rockey2 messages-logs Dec 26 05:20:53 rockey2 messages-logs Dec 26 05:20:53 rockey2 messages-logs Dec 26 05:20:53 rockey2 messages-logs Dec 26 05:20:53 rockey2 messages-logs Dec 26 05:20:53 rockey2 messages-logs Dec 26 05:20:53 rockey2 messages-logs Dec 26 05:20:53 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:52 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:51 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:50 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:49 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:48 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:47 rockey2 messages-logs Dec 26 05:20:37 rockey2 messages-logs Dec 26 05:20:37 rockey2 messages-logs Dec 26 05:20:37 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:36 rockey2 messages-logs Dec 26 05:20:35 rockey2 messages-logs Dec 26 05:20:35 rockey2 messages-logs De
А вот пример из файла логов сообщений:
Dec 26 05:21:42 rockey2 messages-logs Dec 26 05:21:42 rockey2 messages-logs
Dec 26 05:21:32 rockey2 messages-logs Dec 26 05:21:31 rockey2 messages-logs Dec 26 05:21:31 rockey2 messages-logs Dec 26 05:21:31 rockey2 messages-logs Dec 26 05:21:30 rockey2 messages-logs
Dec 26 05:21:30 rockey2 messages-logs Dec 26 05:21:30 rockey2 messages-logs Dec 26 05:21:29 rockey2 messages-logs Dec 26 05:21:29 rockey2 messages-logs Dec 26 05:21:29 rockey2 messages-logs
Dec 26 05:21:29 rockey2 messages-logs Dec 26 05:21:29 rockey2 messages-logs Dec 26 05:21:29 rockey2 messages-logs Dec 26 05:21:28 rockey2 messages-logs Dec 26 05:21:28 rockey2 messages-logs Dec 26 05:21:28 rockey2 messages-logs Dec 26 05:21:28 rockey2 messages-logs Dec 26 05:21:28 rockey2 messages-logs Dec 26 05:21:28 rockey2 messages-logs Dec 26 05:21:27 rockey2 messages-logs Dec 26 05:21:27 rockey2 messages-logs Dec 26 05:21:27 rockey2 messages-logs Dec 26 05:21:27
rockey2 messages-logs Dec 26 05:21:27 rockey2 messages-logs Dec 26 05:21:26 rockey2 messages-logs Dec 26 05:21:26 rockey2 messages-logs Dec 26 05:21:26 rockey2 messages-logs Dec 26 05:21:26 rockey2 messages-logs
Dec 26 05:21:26 rockey2 messages-logs Dec 26 05:21:26 rockey2 messages-logs Dec 26 05:21:25 rockey2 messages-logs Dec 26 05:21:25 rockey2 messages-logs Dec 26 05:21:25 rockey2 messages-logs Dec 26 05:21:25 rockey2 messages-logs Dec 26 05:21:25 rockey2 messages-logs Dec 26 05:21:25 rockey2 messages-logs Dec 26 05:21:25 rockey2 messages-logs Dec 26 05:21:24 rockey2 messages-logs Dec 26 05:21:24 rockey2 messages-logs Dec 26 05:21:24 rockey2 messages-logs Dec 26 05:21:24 rockey2 messages-logs Dec 26 05:21:24 rockey2 messages-logs Dec 26 05:21:23 rockey2 messages-logs
Dec 26 05:21:23 rockey2 messages-logs Dec 26 05:21:23 rockey2 messages-logs Dec 26 05:21:22 rockey2 messages-logs Dec 26 05:21:22 rockey2 messages-logs
Dec 26 05:21:22 rockey2 messages-logs
Кроме того, я запустил команду проверки конфигурации:
[root@rockey2 log]# rsyslogd -N1
rsyslogd: версия 8.2310.0-4.el9, проверка конфигурации (уровень 1), главная конфигурация /etc/rsyslog.conf
rsyslogd: модуль 'imfile' уже в этой конфигурации, не может быть добавлен [v8.2310.0-4.el9 попробуйте https://www.rsyslog.com/e/2221 ]
На стороне сервера как файлы messages, так и command.log быстро увеличиваются, несмотря на то, что у меня нет настроенных модулей в файле rsyslog.conf на стороне сервера:
# Сохерить сообщения загрузки также в boot.log
local7.* /var/log/boot.log
local6.* /var/log/commands.log
:syslogtag, isequal, "messages-logs:" /var/log/remote/%HOSTNAME%-messages.log
& stop
$template remote-incoming-logs, "/var/log/remote/%HOSTNAME%.log"
*.* ?remote-incoming-logs
Может кто-нибудь помочь мне решить эту проблему на машине с Linux?
Ответ или решение
Избыточная запись логов в rsyslog после настройки модулей
После добавления модулей в директорию /etc/rsyslog.d/
, ваша система начала испытывать значительные проблемы с избыточной записью логов в файлы, такие как messages
и command.log
. Это явление может вызвать быстрое заполнение дискового пространства и затруднить работу системы. Ниже мы рассмотрим возможные причины происходящего и предложим решения для устранения данной проблемы.
Анализ конфигурации
Конфигурация модулей
Ваша конфигурация следит за файлами логов, и за каждую секунду ($InputFilePollInterval 1
) проверяет файл на новые записи. Вот фрагменты конфигурации:
$ModLoad imfile
$InputFilePollInterval 1
$InputFileName /var/log/command
$InputFileTag secure-logs
$InputFileStateFile secure-state
$InputFileFacility local6
$InputRunFileMonitor
Хотя это позволяет быстро обрабатывать логи, слишком низкий интервал опроса может приводить к значительным задержкам и многократному повторному чтению уже обработанных записей, что в свою очередь и вызывает избыточность записей в логах.
Проблема с дублированием логов
Судя по приведенным вами примерам из логов, сообщения в них дублируются, что свидетельствует о том, что один и тот же лог может обрабатываться несколько раз. Для решения этой проблемы, вам следует:
- Увеличить интервал опроса с 1 секунды до более подходящего значения, например, 5 или 10 секунд.
- Убедиться, что файлы состояния (
$InputFileStateFile
) корректно сохраняются и обрабатываются.
Конфликт настроек
Ошибка, которая возникает при проверке конфигурации:
rsyslogd: module 'imfile' already in this config, cannot be added
указывает на то, что попытка повторной загрузки модуля imfile
вызывает проблему. Это может привести к конфликтам в обработке логов.
Рекомендации по конфигурации
-
Убедитесь, что модули загружаются только один раз. Проверьте, чтобы строка
$ModLoad imfile
была только в одном конфигурационном файле, например вcmd.conf
илиmessage.conf
, но не в обоих. -
Убедитесь, что в конфигурационных файлах, которые отправляют логи на удалённый сервер (
@@192.168.56.103
), нет связи с дублирующими записями. Это можно сделать, добавив условие& stop
для предотвращения дальнейшей обработки.
Тестирование конфигурации
После внесенных изменений всегда проверяйте конфигурацию с помощью команды:
rsyslogd -N1
Это позволит вам убедиться, что конфигурация корректна и не вызывает конфликтов.
Мониторинг и диагностика
Используйте инструменты мониторинга, такие как GoAccess
или Logwatch
, для анализа логов и выявления других возможных аномалий в работе системы. Это поможет вам определить, являются ли излишние записи результатом ошибок команд или пользователи системы дублируют команды по ошибке.
Заключение
Решение проблемы избыточной записи логов в rsyslog
требует внимательной настройки конфигурации. Следуя нашим рекомендациям, вы сможете значительно уменьшить объем записываемых логов и оптимизировать использование ресурсов серверов. Если проблема сохраняется, рассмотрите возможность детального анализа логов и работы системы, что может помочь в выявлении коренной причины избыточности.