Size: a a a

Сбор и аналитика системных сообщений

2020 October 18

GG

George Gaál in Сбор и аналитика системных сообщений
Дмитрий
Попробую тогда астер логировать мимо драйвера докера напрямую в хостовый rsyslog, а выхлоп stdout пусть валит куда хочет
И чем тебе это поможет ? Напишешь правила сборки мультилайна в рсилоге?
источник

GG

George Gaál in Сбор и аналитика системных сообщений
Sergey Pechenkó
Потому что контекст (= неявное состояние, "....эта запись ещё не последняя...") выглядит отлично только при показе на экране, во всех остальных случаях являясь полным говном.
+
источник

SP

Sergey Pechenkó in Сбор и аналитика системных сообщений
George Gaál
И чем тебе это поможет ? Напишешь правила сборки мультилайна в рсилоге?
Там искаробочный драйвер сислога же.
источник

GG

George Gaál in Сбор и аналитика системных сообщений
Не совсем догоняю
источник

GG

George Gaál in Сбор и аналитика системных сообщений
Сислог - текстовый протокол, не ?
источник

SP

Sergey Pechenkó in Сбор и аналитика системных сообщений
Да.
Конец записи = "\n".
источник

GG

George Gaál in Сбор и аналитика системных сообщений
Или ты хочешь сказать, что Астер умный и будет в нужные места впихивать «эй, сислог, я ещё не закончил слать сообщение, считай следующий пакет продолжением старого»?
источник

SP

Sergey Pechenkó in Сбор и аналитика системных сообщений
Соответственно, если что умеет в сислог нативно, то оно не фигачит без дела символы "\n" в поток логов.
источник

Д

Дмитрий in Сбор и аналитика системных сообщений
Sergey Pechenkó
Соответственно, если что умеет в сислог нативно, то оно не фигачит без дела символы "\n" в поток логов.
Я потестирую это поведение завтра, надеюсь деды сделали хорошо и мультилайн заработает как надо)
источник

SP

Sergey Pechenkó in Сбор и аналитика системных сообщений
Смотри в строку формата: https://github.com/asterisk/asterisk/blob/master/main/logger.c#L375
источник

SP

Sergey Pechenkó in Сбор и аналитика системных сообщений
Там нет \n
источник

SP

Sergey Pechenkó in Сбор и аналитика системных сообщений
Ну и можно слать в rsyslog JSON опять же
источник

SP

Sergey Pechenkó in Сбор и аналитика системных сообщений
Ибо там вся машинерия под капотом есть необходимая
источник

Д

Дмитрий in Сбор и аналитика системных сообщений
Большое спасибо за помощь, завтра буду тестировать всё это. Полезно общаться с опытными коллегами
источник

SP

Sergey Pechenkó in Сбор и аналитика системных сообщений
источник

AS

Aleksey Shirokikh in Сбор и аналитика системных сообщений
источник

A

Alexander in Сбор и аналитика системных сообщений
Дмитрий
Кстати, как лучше организовать сбор логов из контенеров в EFK?
Сейчас rsyslog собирает логи драйвером syslog (переопределяется у нужных контейнеров) и кидает в центральный fluentd, который пихает в эластик.
Я думал переделать это, потому что мультилайн ломается, да и в целом кажется мне некрасивым решение.  Я думал про несколько вариантов: стандартный драйвер json-log и скармливать файлы из директорий контенеров fluentd/fluent-bit или использовать journald драйвер и кормить из него.
Что лучше рассмотреть или может допилить имеющуюся схему?
Не используй логирование через докер. Во-первых мультилайн у тебя ломается именно там (а, точнее, при передаче через stdio, т.к иной информации о границе лога при передаче через пайп, кроме переноса строки, нет, а это с мультилайном несовместимо), а, во-вторых, оно говно: обрезает длинные строки (что не очень критично, если ты такими вещами не увлекаешься), и, что хуже, выставляет таймстемпы с точностью до секунды (что уже пиздец, т.к. превращает логи в кашу, если они пишутся в хранилище с упорядочеванием по таймстемпу при выводе, типа эластика).

Настрой логирование силами самого приложения (в идеале) или, на худой конец, пусть приложение пишет логи в виде файлов в вольюм, из которого их вычитывает другой контейнер с рсислогом/файлбитом/вектором/etc.
источник

GG

George Gaál in Сбор и аналитика системных сообщений
12 факторов говно, да
источник

A

Alexander in Сбор и аналитика системных сообщений
George Gaál
12 факторов говно, да
Мультилайн говно. Ну и логирование в докере говно тоже.
Но раз уж первое говно очень нужно, то пусть человек хотя бы вторым не измажется.
источник

GG

George Gaál in Сбор и аналитика системных сообщений
Твои предложения - как из стдаут хватать или отказаться от него ?
источник