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 ответов

7 просмотров

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, потому и задал сюда вопрос чтобы меня навели на правильный курс. Но нет.... это рашн комьюнити детка!

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Какое виндузовое сообщение приходит TTabSheet, что риэлайняться контролы на нем, даже у которых парент другой? Ситуация: открываю форму - кнопок нет, перелистываю на другой т...
Катерина Свиридова
5
Карта сайта