Перенаправление вывода системного журнала для определенных процессов в конкретный файл
Я должен признать, что был полным новичком системного журнала. Я не касался этого до сих пор, но я использую его результаты ежедневно, как и большинство из нас:)
В настоящее время у меня есть проблема с демоном 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