Чтобы фильтровать сообщения rsyslog по имени программы с использованием условия «startswith», можно использовать несколько методов. Вот некоторые из них:
-
Использование файла конфигурации rsyslog:
- Откройте файл конфигурации rsyslog, который обычно находится по адресу
/etc/rsyslog.confили/etc/rsyslog.d/. - Найдите раздел, в котором определены правила журнала.
- Добавьте новое правило в следующем формате:
if $programname startswith 'prefix' then { # Actions to perform for matching messages }Замените
'prefix'нужным префиксом названия программы, которую вы хотите фильтровать. - Сохраните файл конфигурации и перезапустите службу rsyslog, чтобы изменения вступили в силу.
- Откройте файл конфигурации rsyslog, который обычно находится по адресу
-
Использование шаблонов rsyslog:
- Откройте файл конфигурации rsyslog.
- Определите новый шаблон, включающий префикс названия программы, которую вы хотите фильтровать.
$template MyTemplate, "%msg:1:32% %msg:34:$:%"Замените
32длиной префикса имени программы, которую вы хотите фильтровать. - Добавьте новое правило, которое использует шаблон и фильтрует сообщения по префиксу:
if $programname == 'prefix' then { action(type="omfile" template="MyTemplate" file="/path/to/logfile") }Замените
'prefix'на желаемый префикс имени программы и/path/to/logfileна фактический путь к файлу журнала.
-
Использование фильтров на основе свойств rsyslog:
- Откройте файл конфигурации rsyslog.
- Добавьте новый фильтр на основе свойств, соответствующий префиксу названия программы:
:programname, startswith, "prefix" /path/to/logfileЗамените
'prefix'на желаемый префикс имени программы и/path/to/logfileна фактический путь к файлу журнала.