Как стать автором
Обновить

Комментарии 7

Пару лет назад пробовал подружить php, otel collector с плагинов cumulative и prometheus. Помню что было не легко найти информацию как в коллектор подключаются плагины. А ещё cumulative как-то неправильно работал с метриками.

Вопрос - а зачем? Почему не позволить пхп жить в контейнере и пуллом не собирать метрики с контейнера прометеусом?

В таком случае мы сталкиваемся с проблемой хранения метрик. У PHP процессы короткоживущие, после каждого запроса вселенная умирает, и нет возможности сохранить эти метрики, пока Prometheus их не соберет.

Поэтому в статье используется гибридный подход с дельта метриками и преобразованием в кумулятивные перед сбором prometheus-ом, который ожидает исключительно кумулятивные метрики

так ведь я именно поэтому и написал в комментарии про контейнер; контейнер-то живет спокойно своей жизнью, пхп дампает логи в stdout и логи по сути хранятся в контейнере, пока их прометеус не соберет

А есть вариант как "разрулить" 2 типа логов и отправлять их в разные места? Например, мы пишем в stdout контейнера json-данные для OpenTelemetry, а в stderr json-данные для Loki.

хм, нам такое не требовалось, поэтому ответить достоверно не смогу, но знаю, что в докере можно смотреть только stdout и только stderr; думаю на это можно завязаться

Kubernetes с 1.32 в альфе выкатил фичу с делением stdout/stderr потоков. Но тут возникает проблема. Если мы отправляем метрики в stderr, нам нельзя туда ничего другого писать (а какой-нибудь php fpm / nginx unit вполне могут это делать). В добавок к этому нам всё равно нужно будет использовать коллектор, чтобы собирать эти метрики в виде JSON логов, преобразовывать метрики в кумулятивные

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации