Monitoring Envoy Proxy

Envoy logo

Instana can help you to collect both infrastructure metrics from Envoy Proxy instances and distributed traces of requests that pass through them.

After you install the Instana host agent, Envoy Proxy sensor is automatically installed and configured. You can view the metrics that are related to Envoy Proxy in the Instana UI with a custom dashboard widget. You can view these metrics only after you configure the Envoy Proxy sensor as outlined in the Configuring section.

To use the Distributed Tracing feature, you need to complete the configuration steps in the Distributed Tracing section.

Supported information

Supported operating systems

For Envoy Proxy sensor, the supported operating systems are consistent with host agents' requirements, which can be checked in the "Supported operating systems" section of each host agent, such as Supported operating systems for Linux.

For Envoy Proxy tracing, the following operating systems are supported:

Operating system Architecture Bitness
Alpine Linux x86_64 64 bit
Amazon Linux 2, 2022 x86_64 64 bit
Debian 10, 11 x86_64 64 bit
Ubuntu LTS x86_64 64 bit

Supported Envoy Proxy versions and platforms

Envoy Proxy sensor and Envoy Proxy tracing have different version and platform requirements.

  • Envoy Proxy sensor supports metrics and configuration data for Envoy Proxy 1.14.1 to 1.18-latest for Linux x86_64.

    Note: Envoy Proxy metrics are available only in custom dashboard widgets.

  • Instana provides Distributed Tracing support for the following Envoy Proxy versions and operating systems:

    • Envoy Proxy 1.15.x to latest for glibc-based Linux x86_64 with latest tracer binary files (>= 1.5.0)
    • Latest Envoy Proxy version from getenvoy for glibc-based Linux x86_64 with latest tracer binary files
    • Envoy Proxy 1.12.x and 1.13.x for glibc-based and Alpine-based (musl libc) Linux x86_64 with tracer binary 1.3.0.

    Notes:

    • For Distributed Tracing, Envoy Proxy 1.12 and 1.13 are supported by Envoy Proxy sensor 1.3.0. Envoy Proxy sensor 1.5.0 and later versions support only Envoy Proxy 1.15 and later. You are encouraged to upgrade Envoy Proxy if you still use its old versions because no feature development is provided for old Envoy Proxy versions.
    • Support for the propagation of W3C Trace Context headers is available from Envoy Tracer 1.8.0.

Configuring

To collect Envoy Proxy metrics, Instana uses the admin interface. To enable this admin interface, configure your Envoy Proxy server by using an admin interface address based on the admin interface document, and start the server by using --admin-address-path command-line flag (does not work in Kubernetes environment yet).

Viewing metrics

After you complete the configuration steps in the Configuring section, you can view metrics that are related to Envoy Proxy in the Instana UI.

To view the metrics, complete the following steps:

  1. In the sidebar of the Instana UI, select Infrastructure.
  2. Click a specific monitored host.

Then, you can see a host dashboard with all the collected metrics and monitored processes.

Configuring Distributed Tracing

To use Distributed Tracing of Envoy Proxy, complete the following steps:

  1. Download the Instana binary files for the supported distributions of Envoy Proxy in the Envoy Distributed Tracing binary files page.

  2. After the tracer binary file is downloaded, place it to a location that can be read by Envoy Proxy, such as /opt/envoy/libcxx-libinstana_sensor.so. Then, add a tracing section to the configuration YAML file of Envoy Proxy as follows:

    static_resources:
      listeners:
        - address:
          ...
          filter_chains:
            - filters:
                - name: envoy.filters.network.http_connection_manager
                  typed_config:
                    "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
                    ...
    
  3. Configure the path to the tracer binary file with the library key, and configure your service name with the service key as follows:

                    tracing:
                      provider:
                        name: envoy.tracers.dynamic_ot
                        typed_config:
                          "@type": type.googleapis.com/envoy.config.trace.v3.DynamicOtConfig
                          library: /opt/envoy/libcxx-libinstana_sensor.so
                          config:
                            service: your-service-name
    

For more information, see the official Envoy Proxy documentation.

For how to use Distributed Tracing, refer to the configuration examples at the envoy-tracing repository page.

Troubleshooting

Monitoring issue type: envoy_access_metrics_endpoint_failed

To resolve this issue, configure an admin interface as described in the admin interface document.

Monitoring issue type: envoy_missing_configuration_admin_address_path

To resolve this issue, start the process by using the command-line flag --admin-address-path with a valid file path that contains the admin address and port.