Показаны сообщения с ярлыком logstash. Показать все сообщения
Показаны сообщения с ярлыком logstash. Показать все сообщения

среда, 8 сентября 2021 г.

How to collect and manage all of your multi-line logs

https://www.datadoghq.com/blog/multiline-logging-guide/

Рассматривается в контексте elasticsearch, но применимо к любым обработчикам.

Вкратце: при выводе ошибки в несколько строк, их неудобно обрабатывать. Поэтому нужно или перейти на формат json, или применить "log shipper" -- парсеры, которые умеют склеивать сообщения в одно.

logstash, rsyslog, fluentd, syslog-ng, nxlog, datadog

 

пятница, 9 июля 2021 г.

Работаем с логами

 Для начала, очень рекомендую познакомиться с journalctl, это весьма гибкая система, сделанная как замена syslog-у. Главные отличия - кольцевой буфер для логов, что с одной стороны значит "место не может кончиться от жирного лога", с другой - если нам нужны эти логи то нужны ещё сервисы по их извлечению, парсингу, хранению, ротации; а также вместо Local* работаем по именам сервисов

При этом есть и другие удобные плюшки, вида выдачи лога в нужном формате (-o json)

Если нужен вывод в syslog, есть штатные механизмы (но очень редко они сбоят)

Возможен смешанный режим работы, когда часть сервисов пишет в журнал, часть сразу в локальные файлы.

Очень годная статья по journalctl

https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs

По настройке связки

https://www.loggly.com/ultimate-guide/centralizing-with-syslog/

И теперь мы можем использовать journalbeat для выгрузки логов.

четверг, 20 мая 2021 г.

LogStash vs filebeat

 https://logz.io/blog/filebeat-vs-logstash/

Если очень вкратце, они друг друга не заменяют, а дополняют. logstash написан на жаве и весьма тяжёл, при этом filebeat (является частью Beats, подробнее тоже в линке выше) написан на go и потому лёгкий, но не умеет в серьёзную обработку. Поэтому для прода лучше вынести logstash вообще на отдельную машину, и закидывать туда данные через filebeat.

И по настройке - смотрим статью.

Есть и офдока

https://www.elastic.co/guide/en/beats/filebeat/7.0/filebeat-getting-started.html

Но. Иногда можно и отказаться от logstash совсем, используя ingress pipeline и перенеся обработку тех же access_log сразу в elasticsearch.


Итого.

filebeat - сбор и доставка логов (плюс предобработка через фильтры)

logstash - парсит логи в документы

Elasticsearch - хранит и индексирует документы

Kibana - поиск, аггрегирование, показ нужных данных.