Как настроить rsyslog для фильтрации логов героку, отправленных через сток?

Я хотел бы отправить свои логи heroku на удаленную Linux-машину и отфильтровать их в отдельный файл в / var / log /

На стороне геройки я дал следующую команду:

heroku drains:add syslog://my_linux_ip:514

На моей машине с Ubuntu я отредактировал /etc/rsyslog.conf и раскомментировал эти строки:

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

Теперь я увижу вывод логов герои в /var/log/messages

Он помечен с именем хоста d.d423cb4b.......

Как мне получить все сообщения heroku, которые нужно собрать в / var / log / heroku?

2 ответа

Решение

Просто добавьте эту строку в ваш rsyslog.conf

if $hostname startswith 'd.d423cb4b' then /var/log/heroku
& ~

Очевидно, вам нужно сопоставить d.d423cb4b с реальным именем хоста, которое вы наблюдали в своих собственных журналах.

Строка & ~ указывает, что rsyslog не должен дублировать этот вывод в любом другом журнале. Итак, вы должны увидеть ваш вывод в /var/log/heroku и больше нигде.

Вы можете использовать эти энтерии, чтобы флиртовать их логи на основе динамов

ID dyno -d.2a2f9970-dc14-43d8-b893-26a70293c437

hostname, contains, "d.2a2f9970-dc14-43d8-b893-26a70293c437" /var/log/heroku/appname/appname_all.log
if ($hostname contains 'd.2a2f9970-dc14-43d8-b893-26a70293c437' and $syslogtag contains 'heroku[web.1]') then /var/log/heroku/appname/appname_Memory_cpu_dyno1.log
if ($hostname contains 'd.2a2f9970-dc14-43d8-b893-26a70293c437' and $syslogtag contains 'heroku[web.2]') then /var/log/heroku/appname/appname_Memory_cpu_dyno2.log
if ($hostname contains 'd.2a2f9970-dc14-43d8-b893-26a70293c437' and $syslogtag contains 'heroku[web.3]') then /var/log/heroku/appname/appname_Memory_cpu_dyno3.log
if ($hostname contains 'd.2a2f9970-dc14-43d8-b893-26a70293c437' and $syslogtag contains 'heroku[web.4]') then /var/log/heroku/appname/appname_Memory_cpu_dyno4.log
if ($hostname contains 'd.2a2f9970-dc14-43d8-b893-26a70293c437' and $syslogtag contains 'heroku[router]') then /var/log/heroku/appname/router_appname.log
Другие вопросы по тегам