Задать вопрос
xby43
@xby43

Grafana/ Loki как расчитать среднее время ответа backend из данных логов nginx ingress?

Пытаюсь рассчитать среднее время ответа от backend данные беру из логов ingress, но не как не выходит, получилось получить пока время по запросам

{job="default/ingress-nginx"} 
|= `default-backend-dev-80` != `Blackbox Exporter` 
| pattern `<remote_addr> <_> <_> [<time_local>] "<metod> <url> <protocol>" <status> <body_bytes_sent> "<http_referer>" "<http_user_agent>" <request_length> <request_time> [<proxy_upstream_name>] [<proxy_alternative_upstream_name>] <upstream_addr> <upstream_response_length> <upstream_response_time> <upstream_status> <req_id>` 
| line_format `time={{.upstream_response_time}}` | logfmt
  • Вопрос задан
  • 141 просмотр
Подписаться 1 Простой Комментировать
Решение пользователя Павел Межуев К ответам на вопрос (1)
@mezhuev
Системный администратор
Как-то так:
avg_over_time({job="default/ingress-nginx"}
|= `default-backend-dev-80`
!= `Blackbox Exporter`
| pattern `… <upstream_response_time> …`
| unwrap upstream_response_time
| __error__=`` [$__interval])

Вместо $__interval можно указать конкретное значение. Ещё пара примеров.
Ответ написан
Комментировать