← All dashboards

Grafana Loki Dashboard for Istio Service Mesh

Parsing Envoy access logs with Grafana Loki

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
yaml
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:

console
[%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

Dashboard revisions

RevisionDecscriptionCreated

Reviews

Login or Sign up to write a review

Reviews from the community

Get this dashboard

Data source:

Dependencies:

Import the dashboard template:

or

Download JSON

Docs: Importing dashboards

Downloads: 83,617