Вопрос или проблема
Как перенаправить определённые журналы в каталоге с помощью rsyslog?
Пытаюсь перенаправить следующие логи из /home/ddlog/ms/logs/execution_logs/_abc-xyz-ms_*
в VMware vRealize Log Insight, используя rsyslog. По какой-то причине это, похоже, не работает.
Я пробовал использовать imfile –
# Теперь загрузите внешний лог
$InputFileName /home/ddlog/ms/logs/execution_logs/_abc-xyz-ms_*
$InputFileTag ddlog
$InputFileStateFile ms
$InputFileSeverity debug
$InputFileFacility local7
$InputRunFileMonitor
local7.* @@hostname:514
Закомментировав imfile и обновив rsyslog.conf на
*.* @@remote-host:514
похоже, работает прекрасно, но меня больше беспокоит перенаправление конкретных логов.
Трудно сказать без соответствующего содержимого syslog. Но, на мой взгляд, это могут быть проблемы с разрешениями файла, так как rsyslog снижает разрешения до syslog
, и вы пытаетесь отслеживать путь /home/ddlog/..
.
Если это так, то есть несколько способов обойти это, например, добавив пользователя syslog
в группу пользователя ddlog
.
Ответ или решение
Чтобы перенаправить конкретные логи из директории с использованием rsyslog, убедитесь, что вы правильно сконфигурировали ваш rsyslog.conf
и начали использовать модуль imfile
для сбора логов. Приведенные ниже шаги могут помочь вам правильно настроить систему для передачи логов из /home/ddlog/ms/logs/execution_logs/_abc-xyz-ms_*
в VMware vRealize Log Insight.
-
Убедитесь, что модуль imfile загружен. В начале вашего
rsyslog.conf
добавьте следующее, если это еще не сделано:modules(load="imfile")
-
Настройте параметры сбора логов. Добавьте следующие строки в конфигурацию:
# Загрузка файлового ввода $InputFileName /home/ddlog/ms/logs/execution_logs/_abc-xyz-ms_* $InputFileTag ddlog $InputFileStateFile ms $InputFileSeverity debug $InputFileFacility local7 $InputRunFileMonitor
Данные настройки помогут rsyslog отслеживать файлы, начинающиеся с
_abc-xyz-ms_
. -
Настройте пересылку логов. После конфигурации
imfile
, вам нужно указать, куда отправлять эти логи. Добавьте следующую строку:local7.* @@hostname:514
Убедитесь, что
hostname
заменен на адрес вашего VMware vRealize Log Insight. -
Проверьте разрешения на файлы. Если вы все еще видите, что логи не пересылаются, проблема может заключаться в разрешениях на файлы. У rsyslog может не быть доступа к директории
/home/ddlog
. В этом случае вы можете:-
Добавить пользователя
syslog
в группуddlog
, чтобы предоставить доступ к нужным файлам:sudo usermod -aG ddlog syslog
-
Или изменить разрешения:
sudo chown -R ddlog:ddlog /home/ddlog/ms/logs/execution_logs/ sudo chmod -R 750 /home/ddlog/ms/logs/execution_logs/
-
-
Перезапустите службу rsyslog. После внесения изменений не забудьте перезапустить rsyslog для применения новых настроек:
sudo systemctl restart rsyslog
-
Проверка логов. После перезапуска, проверьте наличие ошибок в системных логах:
sudo tail -f /var/log/syslog
Или используйте файл, связанный с rsyslog, чтобы увидеть, есть ли ошибки при попытке чтения файлов или при их отправке.
Следуя этим шагам, вы должны успешно настроить пересылку конкретных логов из execution_logs
в VMware vRealize Log Insight с помощью rsyslog. Если у вас по-прежнему возникают проблемы, возможно, стоит проверить более детально конфигурацию вашей системы или логи rsyslog на предмет ошибок.