Как настроить 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