Istio module

edit

This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.

This is the Istio module. This module is compatible with versions before 1.5 of Istio where microservices architecture is used. If using versions prior to 1.5 then mesh, mixer, pilot, galley, citadel metricsets should be used where the Istio module collects metrics from the Istio prometheus exporters endpoints.

For versions after 1.5, istiod and proxy metricsets can be used.

istiod collects metrics directly from Istio Daemon while proxy collects from each of the proxy sidecars.

The default metricsets are mesh, mixer, pilot, galley, citadel.

Compatibility

edit

The Istio module is tested with Istio 1.4 for mesh, mixer, pilot, galley, citadel. The Istio module is tested with Istio 1.7 for istiod and proxy.

Dashboard

edit

The Istio module includes predefined dashboards:

  1. overview information about Istio Daemon.
  2. Traffic information collected from istio-proxies.

These dashboards are only compatible with versions of Istio after 1.5 which should be monitored with istiod and proxy metricsets.

metricbeat istio overview
metricbeat istio traffic

Example configuration

edit

The Istio module supports the standard configuration options that are described in Modules. Here is an example configuration:

metricbeat.modules:
# Istio mesh. To collect all Mixer-generated metrics
- module: istio
  metricsets: ["mesh"]
  period: 10s
  # use istio-telemetry.istio-system:42422, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset
  hosts: ["localhost:42422"]

# Istio mixer. To monitor Mixer itself.
- module: istio
  metricsets: ["mixer"]
  period: 10s
  # use istio-telemetry.istio-system:15014, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset
  hosts: ["localhost:15014"]

# Istio galley. To collect all Galley-generated metrics
- module: istio
  metricsets: ["galley"]
  period: 10s
  # use istio-galley.istio-system:15014, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset
  hosts: ["localhost:15014"]

# Istio pilot. To collect all Pilot-generated metrics.
- module: istio
  metricsets: ["pilot"]
  period: 10s
  # use istio-pilot.istio-system:15014, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset
  hosts: ["localhost:15014"]

# Istio citadel. To collect all Citadel-generated metrics.
- module: istio
  metricsets: ["citadel"]
  period: 10s
  # use istio-pilot.istio-system:15014, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset
  hosts: ["localhost:15014"]

# Istio istiod to monitor the Istio Daemon for versions after 1.5 of Istio.
- module: istio
  metricsets: ['istiod']
  period: 10s
  # use istiod.istio-system:15014, when deploying Metricbeat in a kubernetes cluster as Pod or Daemonset
  hosts: ['localhost:15014']

# Istio proxy to monitor Envoy sidecars for versions after 1.5 of Istio.
- module: istio
  metricsets: ['proxy']
  period: 10s
  # it's recommended to deploy this metricset with autodiscovery, see metricset's docs for more info
  hosts: ['localhost:15090']

This module supports TLS connections when using ssl config field, as described in SSL. It also supports the options described in Standard HTTP config options.

Metricsets

edit

The following metricsets are available: