172 похожих чатов

Коллеги, приветствую. С syslog-ng кто-то имел дело? Как сделать так чтобы

сообщение:
Jun 17 17:38:02 server2.test nginx: test.ru 192.168.1.121 - [17/Jun/2019:17:38:02 +0300] UNIX-TIME-1560782282.938 "GET / HTTP/1.1" 200
упала в файл по пути /var/log/test.ru/nginx_ac.log ?

Т.е. смысл в том чтобы в зависимсоти от доменного имени (в данном случае это test.ru) лог складывался в папку с названием доменного имени ?

4 ответов

14 просмотров

nginx нельзя пячить ? Только на уровне сислога ?

Если все доменные имена известны заранее, то напиши filter с regexp’ом, и разнеси по разным destination’ам. Экстрактить поле из лога и использовать в качестве параметра конфига syslog-ng не умеет.

Можете втащить в syslog-ng кастомный parser на python’е, но имхо это медленно. Но работать будет. Из кастомного парсера можно забрать переменные и использовать их в destination.

Mike-Pulman Автор вопроса

Для всех кто холиварил тут и нес пургу вот выкладываю решение: Всего-то надо было задействовать штатный парсер: parser p_nginx_ac_ssl { csv-parser(columns("WEB.APP_HOSTNAME", "WEB.SOURCE_IP", "WEB.TRASH") flags(escape-double-char,strip-whitespace,greedy) delimiters(" ") ); }; И далее в пути куда складывать файлы логов указать переменную WEB.APP_HOSTNAME. Мне же тут с пеной у рта советовали прибивать гвоздями доменные имена, поднимать ансиблы чтобы добавлять в конфиг сислога новые домены, писать самодельные парсеры на питоне и т.д.! Но решение было простое, проблема в том что мне пришлось потратить значительное количество времени на вычитывание документации по syslog-ng, потому и задал сюда вопрос чтобы меня навели на правильный курс. Но нет.... это рашн комьюнити детка!

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта