Перенаправление вывода системного журнала для определенных процессов в конкретный файл

Я должен признать, что был полным новичком системного журнала. Я не касался этого до сих пор, но я использую его результаты ежедневно, как и большинство из нас:)

В настоящее время у меня есть проблема с демоном gmetad, спамящим мой файл / var / log / messages с сообщениями, подобными следующим:

1 сентября 10:09:49 monitor / usr / sbin / gmetad [31752]: RRD_update (/ var / lib / ganglia / rrds / Machines /SummaryInfo/example.rrd): недопустимая попытка обновления с использованием времени 1314868188 во время последнего обновления составляет 1314868188 (минимум один второй шаг).

Я не слишком беспокоюсь об ошибке, я хочу перенаправить эти сообщения в другой файл журнала (например, /var/log/gmetad.log). Проблема в том, что, похоже, нет никакого способа направить логи gmetad в определенное место в его конфигурации (и документация для этого конкретного программного обеспечения кажется довольно скудной). Поэтому мне было интересно, можно ли использовать "локальный" механизм в системном журнале, чтобы получить эти сообщения и вставить их куда-нибудь еще, чтобы сделать / var / log / messages более чистым.

Кто-нибудь может помочь? У кого-нибудь есть примеры для "местных" объектов?

1 ответ

Какой у вас демон системного журнала? Системный журнал? системный журнал? rsyslog? Синтаксис отличается для каждого демона.

например, в rsyslog, вы можете сделать что-то вроде

local5.*   /var/log/gmetad.log

{вы должны найти средство приложения}

в противном случае вы могли бы сделать что-то вроде

if $msg contains gmetad then /var/log/gmetad.log
Другие вопросы по тегам