Grafana Loki Dashboard for Istio Service Mesh

Dashboard

Parsing Envoy access logs with Grafana Loki
Last updated: 6 months ago

Start with Grafana Cloud and the new FREE tier. Includes 10K series Prometheus or Graphite Metrics and 50gb Loki Logs

Downloads: 291

Reviews: 0

  • Screenshot 2021-12-23 at 18.16.57.jpg
    Screenshot 2021-12-23 at 18.16.57.jpg

Grafana Loki Dashboard for Istio Service Mesh

Overview

This dashboard is based on Envoy's (Istio's) access logs, parsed by Grafana Loki.

Prerequisites

  • Enable access logging in Istio
spec:
  meshConfig:
    accessLogFile: /dev/stdout
  • Only Loki 2.3+ versions are supported, as the panels are leveraging the new pattern parser

Configuration

There's no need for any extra scrape/parse configurations, only the default Promtail configuration, e.g. from the official Helm charts.

Default access log format of Istio's Envoy proxies:

[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %RESPONSE_CODE_DETAILS% %CONNECTION_TERMINATION_DETAILS%
\"%UPSTREAM_TRANSPORT_FAILURE_REASON%\" %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\"
\"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" %UPSTREAM_CLUSTER% %UPSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_REMOTE_ADDRESS% %REQUESTED_SERVER_NAME% %ROUTE_NAME%\n

For further details, check the official docs: https://istio.io/latest/docs/tasks/observability/logs/access-log/

Usage

Select your istio-ingressgateways or applications served behind Envoy proxies via the label selectors to populate the panels of the dashboard.


Disclaimer: the dashboard is based on the original Grafana Loki Dashboard for NGINX Service Mesh by wardbekker1

Get this dashboard:
14876
Dependencies: