Filter metrics#

Overview#

Introduction#

A Packet Inspector 1 filter exposes metrics that you can scrape using Prometheus.

Note

Some metrics are not available in all versions of Aspen Mesh.

Metric endpoint configuration#

Istio proxy (Envoy) metrics are available at the following endpoint.

Port

Endpoint

15090

/stats/prometheus

Metric types#

Metric types are defined by Prometheus. Learn about Prometheus metric types.

Observe metrics in Grafana using the sample dashboard#

Introduction#

If you want to observe metrics for Packet Inspector 1 in Grafana, you can import the sample Packet Inspector 1 dashboard provided with Aspen Mesh to use as a starting point for your own dashboard.

Note

The sample Packet Inspector 1 dashboard includes both aggregator and filter metrics.

Before you begin#

Before you can observe metrics for Packet Inspector 1 in Grafana, make sure the following software is installed on your cluster:

  • Prometheus

  • Grafana

  • Packet Inspector 1

Import the sample dashboard#

  1. Log in to Grafana.

  2. Click Dashboards in the left-side menu.

  3. Click the New pop-up menu, and then choose Import.

  4. Upload the following dashboard JSON file:

    • Directory: samples/aspenmesh/dashboards (in the Aspen Mesh release directory)

    • File: packet-inspector-1-dashboard.json

  5. Select your Prometheus data source in the pop-up menu.

  6. Click Import.

Diameter communication#

About Diameter communication#

In the Diameter protocol, the client opens the communication, but both the client and server can send requests and receive answers.

Diameter communication diagram#

This diagram shows the components involved in Diameter communication and defines the downstream and upstream directions referred to in the Diameter metrics:

../_images/diameter-communication-diagram.svg

Istio-proxy terminology#

This table defines Istio proxy (Envoy) terminology used in the Diameter filter metrics:

Term

Definition

Downstream host

A client-side entity that connects to an Istio proxy (Envoy).

Example
In the preceding diagram:
- Istio proxy A’s (as well as Filter A’s) downstream host is Application A.
- Istio proxy B’s (as well as Filter B’s) downstream host is Istio proxy A.

When downstream is used to qualify an item (for example, downstream message or downstream data buffer), the item is from the downstream host.

Upstream host

A server-side entity that an Istio proxy (Envoy) connects to.

Example
In the preceding diagram:
- Istio proxy A’s (as well as Filter A’s) upstream host is Istio proxy B.
- Istio proxy B’s (as well as Filter B’s) upstream host is Application B.

When upstream is used to qualify an item (for example, upstream message or upstream data buffer), the item is from the upstream host.

Metrics#

envoy_aspenmesh_packet_inspector_requests_backpressure_dropped_total#

Description#

The number of gRPC requests that were dropped in the filter due to excess outstanding requests to the aggregator service

Type#

Counter

envoy_aspenmesh_packet_inspector_requests_dropped_total#

Description#

The number of gRPC requests dropped between a filter and the aggregator service due to connection issues

Type#

Counter

envoy_aspenmesh_packet_inspector_requests_sent_total#

Description#

The number of gRPC requests sent by a filter to the aggregator service

Type#

Counter

envoy_aspenmesh_packet_inspector_stream_failed_starts_total#

Description#

The number of attempts to start an gRPC stream between a filter and the aggregator service that resulted in an error

Type#

Counter

envoy_aspenmesh_packet_inspector_stream_resets_total#

Description#

The number of times an active gRPC stream between a filter and the aggregator service was reset

Type#

Counter

envoy_aspenmesh_packet_inspector_stream_starts_total#

Description#

The number of gRPC streams started between a filter and the aggregator service

Type#

Counter

envoy_f5_diameter_connections_established_total#

Description#

The number of established Diameter connections that have been observed by a filter

Type#

Counter

envoy_f5_diameter_downstream_answers_total#

Description#

The number of Diameter Answer messages received by a filter from the downstream host

Type#

Counter

envoy_f5_diameter_downstream_buffer_discards_total#

Description#

The number of times a filter discarded all or part of a downstream data buffer due to traffic that was not recognized as Diameter. When a filter discards data, the delivery to the server is not affected, but the filter does not forward the data to the aggregator service.

Type#

Counter

envoy_f5_diameter_downstream_parse_failures_total#

Description#

The number of downstream Diameter messages received by a filter whose key Attribute-Value Pair (AVP) payloads the filter wasn’t able to parse. When a filter can’t parse a downstream message, the delivery to the server is not affected, and the filter forwards the potentially incomplete message to the aggregator service.

Type#

Counter

envoy_f5_diameter_downstream_partial_messages_total#

Description#

The number of partial Diameter messages received by a filter from the downstream host. Additional data from the socket is required to complete a full Diameter message.

Type#

Counter

envoy_f5_diameter_downstream_requests_total#

Description#

The number of Diameter Request messages received by a filter from the downstream host

Type#

Counter

envoy_f5_diameter_grpc_requests_backpressure_dropped_total#

Description#

The number of Diameter messages that were dropped in the filter due to excess outstanding requests to the aggregator service

Type#

Counter

envoy_f5_diameter_grpc_requests_dropped_total#

Description#

The number of Diameter messages that were dropped in a filter. This is likely due to an issue connecting to the aggregator service.

Type#

Counter

envoy_f5_diameter_grpc_requests_sent_total#

Description#

The number of Diameter messages that were sent as gRPC requests to the aggregator service. This does not imply that they were successfully received by the aggregator service.

Type#

Counter

envoy_f5_diameter_grpc_stream_failed_starts_total#

Description#

The number of attempts to start an gRPC stream between a filter and the aggregator service that resulted in an error

Type#

Counter

envoy_f5_diameter_grpc_stream_resets_total#

Description#

The number of times the gRPC stream between a filter and the aggregator service was reset

Type#

Counter

envoy_f5_diameter_grpc_stream_starts_total#

Description#

The number of times a gRPC stream was started from a filter to the aggregator service

Type#

Counter

envoy_f5_diameter_upstream_answers_total#

Description#

The number of Diameter Answer messages received by a filter from the upstream host

Type#

Counter

envoy_f5_diameter_upstream_buffer_discards_total#

Description#

The number of times a filter discarded all or part of an upstream data buffer due to traffic that was not recognized as Diameter. When a filter discards data, the delivery to the client is not affected, but the filter does not forward the data to the aggregator service.

Type#

Counter

envoy_f5_diameter_upstream_parse_failures_total#

Description#

The number of upstream Diameter messages received by a filter whose key Attribute-Value Pair (AVP) payloads the filter wasn’t able to parse. When a filter can’t parse an upstream message, the delivery to the client is not affected, and the filter forwards the potentially incomplete message to the aggregator service.

Type#

Counter

envoy_f5_diameter_upstream_partial_messages_total#

Description#

The number of partial Diameter messages received by a filter from the upstream host. Additional data from the socket is required to complete a full Diameter message.

Type#

Counter

envoy_f5_diameter_upstream_requests_total#

Description#

The number of Diameter Request messages received by a filter from the upstream host

Type#

Counter