@WotanWeb
Доброго дня!
Есть задача собирать логи запросов из приложения в графану. Для статистики нагрузки нашёл nginx-prometheus-exporter, но там информации весь мало.
Хотелось бы стату по респонсам иметь. Сколько 500, сколько 403 etc. И всё это осложняется тем, что приложение ВСЕГДА отдаёт 200, а статус в json поле… Возможно ли это какими-то простыми путями сделать, или без боли и страдания никак?
Есть задача собирать логи запросов из приложения в графану. Для статистики нагрузки нашёл nginx-prometheus-exporter, но там информации весь мало.
Хотелось бы стату по респонсам иметь. Сколько 500, сколько 403 etc. И всё это осложняется тем, что приложение ВСЕГДА отдаёт 200, а статус в json поле… Возможно ли это какими-то простыми путями сделать, или без боли и страдания никак?
Заранее благодарю!
Решения вопроса 0
Ответы на вопрос 3
@mayton2019
Мне кажется надо собирать информацию там где она возникает. Если ошибки сыплет приложение то и оно должно генерить лог файл типа http-statuses.log:
200
403
500
и дальше графана его нормально проглотит и нарисует вам pie-chart или что там еще надо.
А бедный nginx тут вообще не при делах. И не его задача генерить 500-тки. Это ведь ошибка аппликейшена вобщем-то.
@Sovigod
В nginx — такое делать боль и страдания.
Но в самом приложении можно сделать текущие метрики и собирать их прометеем.
Но в самом приложении можно сделать текущие метрики и собирать их прометеем.
@karabanov
Есть такое prometheus-nginxlog-exporter
Есть такое nginx-module-vts (умеет экспортировать метрики в формате Prometheus)
Можно заставить Nginx писать логи в JSON-формате и с помощью, например, Filebeat сохранять их в Elasticsearch, а затем делать выборки по интересующим критериям с помощью prometheus-es-exporter