Комментарии 4
Спасибо за статью! Решали эту же проблему в рамках перехода на json формат логов - накидали свой набор полей, подписались, сделали общее решение и подключили во все сервисы. На opentelemetry посмотрю обязательно.
В последнем вопросе - думаю, задумываться над единственностью формата нужно всегда - хоть один сервис, хоть несколько. «Плох тот солдат, что не мечтает стать генералом»
Основная проблема, это когда нужно собирать логи с приложений, которые написали не вы и вот тут самая боль
Да, мы развлекались с 1С ) )
Но можно решить кастрмным адаптером на агенте или на агрегаторе vector.
В схеме с моделью Opentelemetry log model можно вообще по началу без разбора всю строку сообщения как есть класть в поле Body. Мы так делали например, когда срочно надо было собрать логи с LinkerD, а они были еще в plaintext и на json быстро нельзя было перевести.
В нашем алгоритме мы сохраняем сообщение целиком в Body поле и в случае, когда распарсить не удалось.
Вектор документация еще та. Но он имхо лучше чем поделия с словосочетаниями fluent.
Практики SRE: стандартизация логов