LINUX.ORG.RU
ФорумAdmin

Как можно исключить некоторые колонки, которые генерирует rsyslog?

 ,


0

1

Всем привет.

В /etc/nginx/nginx.conf добавил формат лога

log_format grafana '$remote_addr - $remote_user [$time_local] "$request" $status $bytes_sent "$http_referer" "$http_user_agent"';

А в vhost mysite.ru добавил access_log /home/httpd-logs/iqhost.ru.access.log grafana;

Всё отлично, теперь формат логов в access.log такой

114.119.141.93 - - [14/Sep/2020:10:29:21 +0300] "GET /getimage/224/ HTTP/1.1" 200 1514 "-" "Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+http://aspiegel.com/petalbot)"

Но… если логи перенаправлять через rsyslog, то этот rsyslog подставляет свои три колонки (дата, хост, тег) и лог становится таким Sep 14 10:04:02 mysite.ru nginx_access_mysite: 5.255.253.147 - - [14/Sep/2020:10:04:02 +0300] "GET /?yclid=7710547526903176844 HTTP/1.1" 200 9219 "-" "Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots yabs01)"

Как сделать, чтобы rsyslog не добавлял свои колонки?

Из-за этого Clickhouse считает, что нет нужных ему колонок. Уже голова кипит.

Конфиг /etc/nginx/nginx.conf в строку 26 добавил формат лога https://pastebin.com/FJMhfzFH

Конфиг vhostа https://pastebin.com/m6rQ4f7i в строку 10 добавил «access_log syslog:server=192.168.10.120,tag=nginx_access_mysite,facility=local1».

Не хотите попробовать syslog-ng ?

source from-local { system(); internal(); };

filter      nginx { program('^nginx$'); };

template    nginx { template("$MSG\n"); };
destination nginx { file('/var/log/nginx.log' template(nginx)); };

log { source(from-local); filter(nginx); destination(nginx); flags(final); };
spirit ★★★★★
()
Ответ на: комментарий от spirit

Увы, уже все хосты настроил rsyslogом и переход будет означать работу по новой.

Ваше решение для syslog-ng или rsyslog?

yatakoi
() автор топика
Ответ на: комментарий от yatakoi

Сделал )

Надеюсь кому-нибудь поможет.

В /etc/rsyslog.conf на принимающем хосте добавить шаблон.

$template noTimestampFormat,«%msg%\n» $ActionFileDefaultTemplate noTimestampFormat

Он исключит всё, кроме тела сообщения.

yatakoi
() автор топика
Последнее исправление: yatakoi (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.