Istio

Supported OS Linux Mac OS Windows

Intégration4.3.0

Présentation

Datadog surveille chaque aspect de votre environnement Istio, afin que vous puissiez :

  • Évaluer la santé d’Envoy et du plan de contrôle Istio grâce aux logs (voir ci-dessous)
  • Consulter en détail les performances de votre maillage de services avec des métriques sur les requêtes, la bande passante et la consommation de ressources (voir ci-dessous).
  • Mapper les communications réseau entre les conteneurs, pods et services sur le maillage avec la solution Network Performance Monitoring
  • Plonger au cœur des traces distribuées pour les applications qui effectuent des transactions sur le maillage avec l’APM

Pour en savoir plus sur la surveillance de votre environnement Istio avec Datadog, consultez l’article du blog à ce sujet (en anglais).

Configuration

Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer ces instructions à un environnement conteneurisé.

Installation

Istio est fourni avec l’Agent Datadog. Installez l’Agent Datadog sur vos serveurs Istio ou dans votre cluster et pointez-le vers Istio.

Envoy

Si vous voulez surveiller les proxies Envoy dans Istio, configurez l’intégration Envoy.

Configuration

Modifiez le fichier istio.d/conf.yaml (dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent) pour vous connecter à Istio. Consultez le fichier d’exemple istio.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

Collecte de métriques

Pour surveiller le déploiement istiod et istio-proxy dans Istio v1.5+, deux composants clés contribuent à la collecte des métriques au format Prometheus. Conformément à l’architecture Istio, il s’agit du plan de données (les conteneurs sidecar istio-proxy) et du plan de contrôle (le service istiod qui gère les proxies). Ils sont tous les deux exécutés en tant que checks d’Agent istio. Toutefois, chacun possède ses responsabilités et est configuré de façon distincte, comme décrit ci-dessous.

Configuration du plan de données

Pour surveiller le plan de données Istio, l’Agent comprend un fichier istio.d/auto_conf.yaml permettant de configurer automatiquement la surveillance pour chacun des conteneurs sidecar istio-proxy. L’Agent initialise ce check pour chaque conteneur sidecar qu’il détecte automatiquement. Cette configuration active la transmission de métriques istio.mesh.* pour les données exposées par chacun de ces conteneurs sidecar.

Pour personnaliser le plan de données de l’intégration, créez un fichier de configuration équivalent pour Istio. Définissez les valeurs de ad_identifiers et de istio_mesh_endpoint correctement afin de configurer l’intégration lorsqu’un conteneur sidecar istio-proxy est détecté. Référez-vous au fichier istio.d/auto_conf.yaml et à l’exemple de fichier de configuration fournis pour découvrir toutes les options de configuration disponibles. Lors de la personnalisation, définissez les valeurs de use_openmetrics: true et exclude_labels comme suit :

    exclude_labels:
      - source_version
      - destination_version
      - source_canonical_revision
      - destination_canonical_revision
      - source_principal
      - destination_principal
      - source_cluster
      - destination_cluster
      - source_canonical_service
      - destination_canonical_service
      - source_workload_namespace
      - destination_workload_namespace
      - request_protocol
      - connection_security_policy
Configuration du plan de contrôle

Pour surveiller le plan de contrôle Istio et transmettre les métriques mixer, galley, pilot et citadel, vous devez configurer l’Agent de façon à ce qu’il surveille le déploiement istiod. Dans Istio v1.5+, appliquez les annotations Autodiscovery suivantes en tant qu’annotations de pod pour le déploiement istiod dans l‛espace de nommage istio-system :

ad.datadoghq.com/discovery.check_names: '["istio"]'
ad.datadoghq.com/discovery.init_configs: '[{}]'
ad.datadoghq.com/discovery.instances: |
     [
       {
         "istiod_endpoint": "http://%%host%%:15014/metrics",
         "use_openmetrics": "true"
       }
     ]     

La méthode à suivre pour appliquer ces annotations varie en fonction de la stratégie de déploiement Istio (Istioctl, Helm ou Operator) utilisée. Pour déterminer l’approche à suivre pour appliquer ces annotations de pod, consultez la documentation Istio.

Dans ces annotations, la valeur <IDENTIFICATEUR_CONTENEUR> est utilisée pour discovery, afin d’appliquer le nom du conteneur par défaut pour les pods du déploiement istiod. Si le nom de votre conteneur est différent, ajustez la valeur en conséquence.

OpenMetrics V2 et V1
Remarque importante : lorsque plusieurs instances de Datadog recueillent des métriques Istio, veillez à utiliser la même implémentation d'OpenMetrics pour l'ensemble des instances. Dans le cas contraire, les données des métriques ne seront pas cohérentes sur le site Datadog.

Lorsque vous activez l’option de configuration use_openmetrics, l’intégration Istio utilise l’implémentation OpenMetrics V2 du check.

Dans OpenMetrics V2, les métriques sont envoyées par défaut avec une précision renforcée. De plus, leur comportement est plus proche des types de métriques Prometheus. Par exemple, les métriques Prometheus qui se terminent par _count et _sum sont envoyées en tant que monotonic_count par défaut.

La version 2 d’OpenMetrics corrige des problèmes de performance et de qualité de la version 1. Cette nouvelle version bénéficie notamment de la prise en charge de types de métriques natives, d’une configuration améliorée et de types de métriques custom.

Définissez l’option de configuration use_openmetrics sur false pour utiliser l’implémentation OpenMetrics V1. Pour découvrir les paramètres de configuration d’OpenMetrics V1, consultez le fichier conf.yaml.example.

Désactivez l’injection de sidecar pour les pods de l’Agent Datadog

Si vous installez l’Agent Datadog dans un conteneur, Datadog vous recommande de désactiver au préalable l’injection de sidecar Istio.

Versions d’Istio >= 1.10 :

Ajoutez l’étiquette sidecar.istio.io/inject: "false" au DaemonSet datadog-agent :

# (...)
spec:
  template:
    metadata:
      labels:
        sidecar.istio.io/inject: "false"
    # (...)

Vous pouvez également utiliser la commande kubectl patch.

kubectl patch daemonset datadog-agent -p '{"spec":{"template":{"metadata":{"labels":{"sidecar.istio.io/inject":"false"}}}}}'

Versions d’Istio <= 1.9 :

Ajoutez l’annotation sidecar.istio.io/inject: "false" au DaemonSet datadog-agent :

# (...)
spec:
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: "false"
    # (...)

Avec la commande kubectl patch :

kubectl patch daemonset datadog-agent -p '{"spec":{"template":{"metadata":{"annotations":{"sidecar.istio.io/inject":"false"}}}}}'

Collecte de logs

Istio propose deux types de logs : les logs d’accès Envoy recueillis via l’intégration Envoy, ainsi que les logs Istio.

Disponible à partir des versions > 6.0 de l’Agent

Consultez les modèles d’intégration Autodiscovery pour découvrir comment appliquer les paramètres ci-dessous. Par défaut, la collecte des logs est désactivée dans l’Agent Datadog. Pour l’activer, consultez la section Collecte de logs Kubernetes.

ParamètreValeur
<CONFIG_LOG>{"source": "istio", "service": "<NOM_SERVICE>"}

Validation

Lancez la sous-commande info de l’Agent et cherchez istio dans la section Checks.

Données collectées

Métriques

istio.mesh.request.count
(count)
[OpenMetrics V1 and V2] The number of requests. This metric is sent as gauge by default in OpenMetrics V1.
Shown as request
istio.mesh.request.duration.count
(count)
[OpenMetrics V1 and V2] Count of request durations. This metric is as gauge by default in OpenMetrics V1.
Shown as request
istio.mesh.request.duration.sum
(count)
[OpenMetrics V1 and V2] Sum of request durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as millisecond
istio.mesh.request.size.count
(count)
[OpenMetrics V1 and V2] Count of request sizes. This metric is sent as gauge by default in OpenMetrics V1.
Shown as request
istio.mesh.request.size.sum
(count)
[OpenMetrics V1 and V2] Sum of request sizes. This metric is sent as gauge by default in OpenMetrics V1.
Shown as byte
istio.mesh.response.size.count
(count)
[OpenMetrics V1 and V2] Count of response sizes. This metric is sent as gauge by default in OpenMetrics V1.
Shown as response
istio.mesh.response.size.sum
(count)
[OpenMetrics V1 and V2] Sum of response sizes. This metric is sent as gauge by default in OpenMetrics V1.
Shown as byte
istio.mixer.adapter.dispatch_count
(gauge)
[OpenMetrics V1 and V2] Total number of adapter dispatches handled by Mixer
Shown as operation
istio.mixer.adapter.dispatch_duration.count
(count)
[OpenMetrics V1 and V2] Count of durations for adapter dispatches handled by Mixer. This metric is sent as gauge by default in OpenMetrics V1.
Shown as operation
istio.mixer.adapter.dispatch_duration.sum
(count)
[OpenMetrics V1 and V2] Sum of durations for adapter dispatches handled by Mixer. This metric is sent as gauge by default in OpenMetrics V1.
Shown as operation
istio.mixer.adapter.old_dispatch_count
(gauge)
[OpenMetrics V1 and V2] Total number of adapter dispatches handled by Mixer.
Shown as operation
istio.mixer.adapter.old_dispatch_duration.count
(count)
[OpenMetrics V1 and V2] Count of times for adapter dispatches handled by Mixer. This metric is sent as gauge by default in OpenMetrics V1.
Shown as operation
istio.mixer.adapter.old_dispatch_duration.sum
(count)
[OpenMetrics V1 and V2] Sum of times for adapter dispatches handled by Mixer. This metric is sent as gauge by default in OpenMetrics V1.
Shown as operation
istio.mixer.config.resolve_actions.count
(count)
[OpenMetrics V1 and V2] Count of actions resolved by Mixer. This metric is sent as gauge by default in OpenMetrics V1.
Shown as operation
istio.mixer.config.resolve_actions.sum
(count)
[OpenMetrics V1 and V2] Sum of actions resolved by Mixer. This metric is sent as gauge by default in OpenMetrics V1.
Shown as operation
istio.mixer.config.resolve_count
(gauge)
[OpenMetrics V1 and V2] Number of config resolves handled by mixer
Shown as operation
istio.mixer.config.resolve_duration.count
(count)
[OpenMetrics V1 and V2] Seconds per config resolve. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.mixer.config.resolve_duration.sum
(count)
[OpenMetrics V1 and V2] Sum of times for config resolves handled by Mixer. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.mixer.config.resolve_rules.count
(count)
[OpenMetrics V1 and V2] Number of rules resolved by Mixer. This metric is sent as gauge by default in OpenMetrics V1.
Shown as item
istio.mixer.config.resolve_rules.sum
(count)
[OpenMetrics V1 and V2] Sum of rules resolved by Mixer. This metric is sent as gauge by default in OpenMetrics V1.
Shown as item
istio.mixer.go.gc_duration_seconds.count
(count)
[OpenMetrics V1 and V2] Count of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.mixer.go.gc_duration_seconds.quantile
(gauge)
[OpenMetrics V1 and V2] Quantile of the GC invocation durations.
Shown as second
istio.mixer.go.gc_duration_seconds.sum
(count)
[OpenMetrics V1 and V2] Sum of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.mixer.go.goroutines
(gauge)
[OpenMetrics V1 and V2] Number of goroutines that currently exist.
Shown as thread
istio.mixer.go.info
(gauge)
[OpenMetrics V1 and V2] Information about the Go environment.
istio.mixer.go.memstats.alloc_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes allocated and still in use.
Shown as byte
istio.mixer.go.memstats.alloc_bytes_total
(gauge)
[OpenMetrics V1 and V2] Total number of bytes allocated even if freed.
Shown as byte
istio.mixer.go.memstats.buck_hash_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used by the profiling bucket hash table.
Shown as byte
istio.mixer.go.memstats.frees_total
(gauge)
[OpenMetrics V1 and V2] Total number of frees.
istio.mixer.go.memstats.gc_cpu_fraction
(gauge)
[OpenMetrics V1 and V2] CPU taken up by GC
Shown as percent
istio.mixer.go.memstats.gc_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for garbage collection system metadata.
Shown as byte
istio.mixer.go.memstats.heap_alloc_bytes
(gauge)
[OpenMetrics V1 and V2] Bytes allocated to the heap
Shown as byte
istio.mixer.go.memstats.heap_idle_bytes
(gauge)
[OpenMetrics V1 and V2] Number of idle bytes in the heap
Shown as byte
istio.mixer.go.memstats.heap_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of Bytes in the heap
Shown as byte
istio.mixer.go.memstats.heap_objects
(gauge)
[OpenMetrics V1 and V2] Number of objects in the heap
Shown as object
istio.mixer.go.memstats.heap_released_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes released to the system in the last gc
Shown as byte
istio.mixer.go.memstats.heap_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used by the heap
Shown as byte
istio.mixer.go.memstats.last_gc_time_seconds
(gauge)
[OpenMetrics V1 and V2] Length of last GC
Shown as second
istio.mixer.go.memstats.lookups_total
(gauge)
[OpenMetrics V1 and V2] Number of lookups
Shown as operation
istio.mixer.go.memstats.mallocs_total
(gauge)
[OpenMetrics V1 and V2] Number of mallocs
Shown as operation
istio.mixer.go.memstats.mcache_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by mcache structures.
Shown as byte
istio.mixer.go.memstats.mcache_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for mcache structures obtained from system.
Shown as byte
istio.mixer.go.memstats.mspan_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by mspan structures.
Shown as byte
istio.mixer.go.memstats.mspan_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for mspan structures obtained from system.
Shown as byte
istio.mixer.go.memstats.next_gc_bytes
(gauge)
[OpenMetrics V1 and V2] Number of heap bytes when next garbage collection will take place
Shown as byte
istio.mixer.go.memstats.other_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for other system allocations
Shown as byte
istio.mixer.go.memstats.stack_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by the stack allocator
Shown as byte
istio.mixer.go.memstats.stack_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes obtained from system for stack allocator
Shown as byte
istio.mixer.go.memstats.sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes obtained from system
Shown as byte
istio.mixer.go.threads
(gauge)
[OpenMetrics V1 and V2] Number of OS threads created.
Shown as thread
istio.mixer.grpc.server.handled_total
(gauge)
[OpenMetrics V1 and V2] Total number of fully handled requests, with responses
Shown as request
istio.mixer.grpc.server.handling_seconds.count
(count)
[OpenMetrics V1 and V2] Count of response latency (seconds) of gRPC that had been application-level handled by the server. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.mixer.grpc.server.handling_seconds.sum
(count)
[OpenMetrics V1 and V2] Sum of response latency (seconds) of gRPC that had been application-level handled by the server. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.mixer.grpc.server.msg_received_total
(gauge)
[OpenMetrics V1 and V2] Total number of RPC stream messages received on the server.
Shown as message
istio.mixer.grpc.server.msg_sent_total
(gauge)
[OpenMetrics V1 and V2] Total number of messages sent
Shown as message
istio.mixer.grpc.server.started_total
(gauge)
[OpenMetrics V1 and V2] Total number of RPCs started on the server.
istio.mixer.process.cpu_seconds_total
(gauge)
[OpenMetrics V1 and V2] Total user and system CPU time spent in seconds.
Shown as second
istio.mixer.process.max_fds
(gauge)
[OpenMetrics V1 and V2] Maximum number of open file descriptors.
Shown as file
istio.mixer.process.open_fds
(gauge)
[OpenMetrics V1 and V2] Number of open file descriptors.
Shown as file
istio.mixer.process.resident_memory_bytes
(gauge)
[OpenMetrics V1 and V2] Resident memory size in bytes.
Shown as byte
istio.mixer.process.start_time_seconds
(gauge)
[OpenMetrics V1 and V2] Start time of the process since unix epoch in seconds.
Shown as second
istio.mixer.process.virtual_memory_bytes
(gauge)
[OpenMetrics V1 and V2] Virtual memory size in bytes.
Shown as byte
istio.mixer.grpc_io_server.completed_rpcs
(gauge)
[OpenMetrics V1 and V2] Count of RPCs by method and status.
istio.mixer.grpc_io_server.received_bytes_per_rpc
(gauge)
[OpenMetrics V1 and V2] Distribution of received bytes per RPC, by method.
Shown as byte
istio.mixer.grpc_io_server.sent_bytes_per_rpc
(gauge)
[OpenMetrics V1 and V2] Distribution of total sent bytes per RPC, by method.
Shown as byte
istio.mixer.grpc_io_server.server_latency
(gauge)
[OpenMetrics V1 and V2] Distribution of server latency in milliseconds, by method.
istio.mixer.config.attributes_total
(gauge)
[OpenMetrics V1 and V2] The number of known attributes in the current config.
istio.mixer.config.handler_configs_total
(gauge)
[OpenMetrics V1 and V2] The number of known handlers in the current config.
istio.mixer.config.instance_configs_total
(gauge)
[OpenMetrics V1 and V2] The number of known instances in the current config.
istio.mixer.config.rule_configs_total
(gauge)
[OpenMetrics V1 and V2] The number of known rules in the current config.
istio.mixer.dispatcher.destinations_per_request
(gauge)
[OpenMetrics V1 and V2] Number of handlers dispatched per request by Mixer.
istio.mixer.dispatcher.instances_per_request
(gauge)
[OpenMetrics V1 and V2] Number of instances created per request by Mixer.
istio.mixer.handler.daemons_total
(gauge)
[OpenMetrics V1 and V2] The current number of active daemon routines in a given adapter environment.
istio.mixer.handler.new_handlers_total
(gauge)
[OpenMetrics V1 and V2] The number of handlers that were newly created during config transition.
istio.mixer.mcp_sink.reconnections
(gauge)
[OpenMetrics V1 and V2] The number of times the sink has reconnected.
istio.mixer.mcp_sink.request_acks_total
(gauge)
[OpenMetrics V1 and V2] The number of request acks received by the source.
istio.mixer.runtime.dispatches_total
(gauge)
[OpenMetrics V1 and V2] Total number of adapter dispatches handled by Mixer.
Shown as operation
istio.mixer.runtime.dispatch_duration_seconds
(gauge)
[OpenMetrics V1 and V2] Duration in seconds for adapter dispatches handled by Mixer.
Shown as second
istio.pilot.go.gc_duration_seconds.count
(count)
[OpenMetrics V1 and V2] Count of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.pilot.go.gc_duration_seconds.quantile
(gauge)
[OpenMetrics V1 and V2] Quantile of the GC invocation durations.
Shown as second
istio.pilot.go.gc_duration_seconds.sum
(count)
[OpenMetrics V1 and V2] Sum of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.pilot.go.goroutines
(gauge)
[OpenMetrics V1 and V2] Number of goroutines that currently exist.
Shown as thread
istio.pilot.go.info
(gauge)
[OpenMetrics V1 and V2] Information about the Go environment.
istio.pilot.go.memstats.alloc_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes allocated and still in use.
Shown as byte
istio.pilot.go.memstats.alloc_bytes_total
(gauge)
[OpenMetrics V1 and V2] Total number of bytes allocated even if freed.
Shown as byte
istio.pilot.go.memstats.buck_hash_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used by the profiling bucket hash table.
Shown as byte
istio.pilot.go.memstats.frees_total
(gauge)
[OpenMetrics V1 and V2] Total number of frees.
istio.pilot.go.memstats.gc_cpu_fraction
(gauge)
[OpenMetrics V1 and V2] CPU taken up by GC
Shown as percent
istio.pilot.go.memstats.gc_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for garbage collection system metadata.
Shown as byte
istio.pilot.go.memstats.heap_alloc_bytes
(gauge)
[OpenMetrics V1 and V2] Bytes allocated to the heap
Shown as byte
istio.pilot.go.memstats.heap_idle_bytes
(gauge)
[OpenMetrics V1 and V2] Number of idle bytes in the heap
Shown as byte
istio.pilot.go.memstats.heap_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of Bytes in the heap
Shown as byte
istio.pilot.go.memstats.heap_objects
(gauge)
[OpenMetrics V1 and V2] Number of objects in the heap
Shown as object
istio.pilot.go.memstats.heap_released_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes released to the system in the last gc
Shown as byte
istio.pilot.go.memstats.heap_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used by the heap
Shown as byte
istio.pilot.go.memstats.last_gc_time_seconds
(gauge)
[OpenMetrics V1 and V2] Length of last GC
Shown as second
istio.pilot.go.memstats.lookups_total
(gauge)
[OpenMetrics V1 and V2] Number of lookups
Shown as operation
istio.pilot.go.memstats.mallocs_total
(gauge)
[OpenMetrics V1 and V2] Number of mallocs
Shown as operation
istio.pilot.go.memstats.mcache_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by mcache structures.
Shown as byte
istio.pilot.go.memstats.mcache_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for mcache structures obtained from system.
Shown as byte
istio.pilot.go.memstats.mspan_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by mspan structures.
Shown as byte
istio.pilot.go.memstats.mspan_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for mspan structures obtained from system.
Shown as byte
istio.pilot.go.memstats.next_gc_bytes
(gauge)
[OpenMetrics V1 and V2] Number of heap bytes when next garbage collection will take place
Shown as byte
istio.pilot.go.memstats.other_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for other system allocations
Shown as byte
istio.pilot.go.memstats.stack_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by the stack allocator
Shown as byte
istio.pilot.go.memstats.stack_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes obtained from system for stack allocator
Shown as byte
istio.pilot.go.memstats.sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes obtained from system
Shown as byte
istio.pilot.go.threads
(gauge)
[OpenMetrics V1 and V2] Number of OS threads created.
Shown as thread
istio.pilot.process.cpu_seconds_total
(gauge)
[OpenMetrics V1 and V2] Total user and system CPU time spent in seconds.
Shown as second
istio.pilot.process.max_fds
(gauge)
[OpenMetrics V1 and V2] Maximum number of open file descriptors.
Shown as file
istio.pilot.process.open_fds
(gauge)
[OpenMetrics V1 and V2] Number of open file descriptors.
Shown as file
istio.pilot.process.resident_memory_bytes
(gauge)
[OpenMetrics V1 and V2] Resident memory size in bytes.
Shown as byte
istio.pilot.process.start_time_seconds
(gauge)
[OpenMetrics V1 and V2] Start time of the process since unix epoch in seconds.
Shown as second
istio.pilot.process.virtual_memory_bytes
(gauge)
[OpenMetrics V1 and V2] Virtual memory size in bytes.
Shown as byte
istio.pilot.conflict.inbound_listener
(gauge)
[OpenMetrics V1 and V2] Number of conflicting inbound listeners.
istio.pilot.conflict.outbound_listener.http_over_current_tcp
(gauge)
[OpenMetrics V1 and V2] Number of conflicting wildcard http listeners with current wildcard tcp listener.
istio.pilot.conflict.outbound_listener.tcp_over_current_http
(gauge)
[OpenMetrics V1 and V2] Number of conflicting wildcard tcp listeners with current wildcard http listener.
istio.pilot.conflict.outbound_listener.tcp_over_current_tcp
(gauge)
[OpenMetrics V1 and V2] Number of conflicting tcp listeners with current tcp listener.
istio.pilot.destrule_subsets
(gauge)
[OpenMetrics V1 and V2] Duplicate subsets across destination rules for same host.
istio.pilot.duplicate_envoy_clusters
(gauge)
[OpenMetrics V1 and V2] Duplicate envoy clusters caused by service entries with same hostname.
istio.pilot.eds_no_instances
(gauge)
[OpenMetrics V1 and V2] Number of clusters without instances.
istio.pilot.endpoint_not_ready
(gauge)
[OpenMetrics V1 and V2] Endpoint found in unready state.
istio.pilot.invalid_out_listeners
(gauge)
[OpenMetrics V1 and V2] Number of invalid outbound listeners.
istio.pilot.mcp_sink.reconnections
(count)
[OpenMetrics V1 and V2] The number of times the sink has reconnected.
istio.pilot.mcp_sink.recv_failures_total
(count)
[OpenMetrics V1 and V2] The number of recv failures in the source.
istio.pilot.mcp_sink.request_acks_total
(count)
[OpenMetrics V1 and V2] The number of request acks received by the source.
istio.pilot.no_ip
(gauge)
[OpenMetrics V1 and V2] Pods not found in the endpoint table, possibly invalid.
istio.pilot.proxy_convergence_time
(gauge)
[OpenMetrics V1 and V2] Delay between config change and all proxies converging.
Shown as second
istio.pilot.proxy_convergence_time.sum
(count)
[OpenMetrics V1 and V2] Sum of the delay between config change and all proxies converging. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.pilot.proxy_convergence_time.count
(count)
[OpenMetrics V1 and V2] Number of entries of pilot.proxyconvergencetime. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.pilot.rds_expired_nonce
(count)
[OpenMetrics V1 and V2] Total number of RDS messages with an expired nonce.
istio.pilot.services
(gauge)
[OpenMetrics V1 and V2] Total services known to pilot.
istio.pilot.total_xds_internal_errors
(count)
[OpenMetrics V1 and V2] Total number of internal XDS errors in pilot.
istio.pilot.total_xds_rejects
(count)
[OpenMetrics V1 and V2] Total number of XDS responses from pilot rejected by proxy.
istio.pilot.virt_services
(gauge)
[OpenMetrics V1 and V2] Total virtual services known to pilot.
istio.pilot.vservice_dup_domain
(gauge)
[OpenMetrics V1 and V2] Virtual services with dup domains.
istio.pilot.xds
(gauge)
[OpenMetrics V1 and V2] Number of endpoints connected to this pilot using XDS.
istio.pilot.xds.eds_instances
(gauge)
[OpenMetrics V1 and V2] Instances for each cluster, as of last push.
istio.pilot.xds.push.context_errors
(count)
[OpenMetrics V1 and V2] Number of errors (timeouts) initiating push context.
istio.pilot.xds.push.timeout
(count)
[OpenMetrics V1 and V2] Pilot push timeout, will retry.
istio.pilot.xds.push.timeout_failures
(count)
[OpenMetrics V1 and V2] Pilot push timeout failures after repeated attempts.
istio.pilot.xds.pushes
(count)
[OpenMetrics V1 and V2] Pilot build and send errors for lds, rds, cds and eds.
istio.pilot.xds.write_timeout
(count)
[OpenMetrics V1 and V2] Pilot XDS response write timeouts.
istio.pilot.xds.rds_reject
(count)
[OpenMetrics V1 and V2] Pilot rejected RDS.
istio.pilot.xds.lds_reject
(count)
[OpenMetrics V1 and V2] Pilot rejected LDS.
istio.pilot.xds.eds_reject
(count)
[OpenMetrics V1 and V2] Pilot rejected EDS.
istio.pilot.xds.cds_reject
(count)
[OpenMetrics V1 and V2] Pilot rejected CDS.
istio.galley.go.gc_duration_seconds.count
(count)
[OpenMetrics V1 and V2] Count of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.galley.go.gc_duration_seconds.quantile
(gauge)
[OpenMetrics V1 and V2] Quantile of the GC invocation durations.
Shown as second
istio.galley.go.gc_duration_seconds.sum
(count)
[OpenMetrics V1 and V2] Sum of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.galley.go.goroutines
(gauge)
[OpenMetrics V1 and V2] Number of goroutines that currently exist.
Shown as thread
istio.galley.go.info
(gauge)
[OpenMetrics V1 and V2] Information about the Go environment.
istio.galley.go.memstats.alloc_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes allocated and still in use.
Shown as byte
istio.galley.go.memstats.alloc_bytes_total
(gauge)
[OpenMetrics V1 and V2] Total number of bytes allocated even if freed.
Shown as byte
istio.galley.go.memstats.buck_hash_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used by the profiling bucket hash table.
Shown as byte
istio.galley.go.memstats.frees_total
(gauge)
[OpenMetrics V1 and V2] Total number of frees.
istio.galley.go.memstats.gc_cpu_fraction
(gauge)
[OpenMetrics V1 and V2] CPU taken up by GC
Shown as percent
istio.galley.go.memstats.gc_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for garbage collection system metadata.
Shown as byte
istio.galley.go.memstats.heap_alloc_bytes
(gauge)
[OpenMetrics V1 and V2] Bytes allocated to the heap
Shown as byte
istio.galley.go.memstats.heap_idle_bytes
(gauge)
[OpenMetrics V1 and V2] Number of idle bytes in the heap
Shown as byte
istio.galley.go.memstats.heap_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of Bytes in the heap
Shown as byte
istio.galley.go.memstats.heap_objects
(gauge)
[OpenMetrics V1 and V2] Number of objects in the heap
Shown as object
istio.galley.go.memstats.heap_released_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes released to the system in the last gc
Shown as byte
istio.galley.go.memstats.heap_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used by the heap
Shown as byte
istio.galley.go.memstats.last_gc_time_seconds
(gauge)
[OpenMetrics V1 and V2] Length of last GC
Shown as second
istio.galley.go.memstats.lookups_total
(gauge)
[OpenMetrics V1 and V2] Number of lookups
Shown as operation
istio.galley.go.memstats.mallocs_total
(gauge)
[OpenMetrics V1 and V2] Number of mallocs
Shown as operation
istio.galley.go.memstats.mcache_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by mcache structures.
Shown as byte
istio.galley.go.memstats.mcache_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for mcache structures obtained from system.
Shown as byte
istio.galley.go.memstats.mspan_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by mspan structures.
Shown as byte
istio.galley.go.memstats.mspan_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for mspan structures obtained from system.
Shown as byte
istio.galley.go.memstats.next_gc_bytes
(gauge)
[OpenMetrics V1 and V2] Number of heap bytes when next garbage collection will take place
Shown as byte
istio.galley.go.memstats.other_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for other system allocations
Shown as byte
istio.galley.go.memstats.stack_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by the stack allocator
Shown as byte
istio.galley.go.memstats.stack_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes obtained from system for stack allocator
Shown as byte
istio.galley.go.memstats.sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes obtained from system
Shown as byte
istio.galley.go.threads
(gauge)
[OpenMetrics V1 and V2] Number of OS threads created.
Shown as thread
istio.galley.process.cpu_seconds_total
(gauge)
[OpenMetrics V1 and V2] Total user and system CPU time spent in seconds.
Shown as second
istio.galley.process.max_fds
(gauge)
[OpenMetrics V1 and V2] Maximum number of open file descriptors.
Shown as file
istio.galley.process.open_fds
(gauge)
[OpenMetrics V1 and V2] Number of open file descriptors.
Shown as file
istio.galley.process.resident_memory_bytes
(gauge)
[OpenMetrics V1 and V2] Resident memory size in bytes.
Shown as byte
istio.galley.process.start_time_seconds
(gauge)
[OpenMetrics V1 and V2] Start time of the process since unix epoch in seconds.
Shown as second
istio.galley.process.virtual_memory_bytes
(gauge)
[OpenMetrics V1 and V2] Virtual memory size in bytes.
Shown as byte
istio.galley.endpoint_no_pod
(gauge)
[OpenMetrics V1 and V2] Endpoints without an associated pod.
istio.galley.mcp_source.clients_total
(gauge)
[OpenMetrics V1 and V2] The number of streams currently connected.
istio.galley.runtime_processor.event_span_duration_milliseconds
(gauge)
[OpenMetrics V1 and V2] The duration between each incoming event.
Shown as millisecond
istio.galley.runtime_processor.events_processed_total
(gauge)
[OpenMetrics V1 and V2] The number of events that have been processed.
istio.galley.runtime_processor.snapshot_events_total.bucket
(count)
[OpenMetrics V2] The number of events per snapshot per upper_bound.
istio.galley.runtime_processor.snapshot_events_total.count
(count)
[OpenMetrics V1 and V2] The number of events per snapshot.
istio.galley.runtime_processor.snapshot_events_total.sum
(count)
[OpenMetrics V1 and V2] The duration of snapshot events.
istio.galley.runtime_processor.snapshot_lifetime_duration_milliseconds
(gauge)
[OpenMetrics V1 and V2] The duration of each snapshot.
Shown as millisecond
istio.galley.runtime_processor.snapshots_published_total
(count)
[OpenMetrics V1 and V2] The number of snapshots that have been published.
istio.galley.runtime_state_type_instances_total
(gauge)
[OpenMetrics V1 and V2] The number of type instances per type URL.
istio.galley.runtime_strategy.on_change_total
(count)
[OpenMetrics V1 and V2] The number of times the strategy's onChange has been called.
istio.galley.runtime_strategy.timer_max_time_reached_total
(count)
[OpenMetrics V1 and V2] The number of times the max time has been reached.
istio.galley.runtime_strategy.quiesce_reached_total
(count)
[OpenMetrics V1 and V2] The number of times a quiesce has been reached.
istio.galley.runtime_strategy.timer_resets_total
(count)
[OpenMetrics V1 and V2] The number of times the timer has been reset.
istio.galley.source_kube.dynamic_converter_success_total
(count)
[OpenMetrics V1 and V2] The number of times a dynamic kubernetes source successfully converted a resource.
istio.galley.source_kube.event_success_total
(count)
[OpenMetrics V1 and V2] The number of times a kubernetes source successfully handled an event.
istio.galley.validation.cert_key_updates
(count)
[OpenMetrics V1 and V2] Galley validation webhook certificate updates.
istio.galley.validation.config_load
(count)
[OpenMetrics V1 and V2] K8s webhook configuration (re)loads.
istio.galley.validation.config_update
(count)
[OpenMetrics V1 and V2] K8s webhook configuration updates.
istio.galley.validation.passed
(count)
[OpenMetrics V1 and V2] Resource is valid.
istio.citadel.secret_controller.csr_err_count
(count)
[OpenMetrics V1 and V2] The number of errors occurred when creating the CSR.
istio.citadel.secret_controller.secret_deleted_cert_count
(count)
[OpenMetrics V1 and V2] The number of certificates recreated due to secret deletion (service account still exists).
istio.citadel.secret_controller.svc_acc_created_cert_count
(count)
[OpenMetrics V1 and V2] The number of certificates created due to service account creation.
istio.citadel.secret_controller.svc_acc_deleted_cert_count
(count)
[OpenMetrics V1 and V2] The number of certificates deleted due to service account deletion.
istio.citadel.server.authentication_failure_count
(count)
[OpenMetrics V1 and V2] The number of authentication failures.
Shown as error
istio.citadel.server.citadel_root_cert_expiry_timestamp
(gauge)
[OpenMetrics V1 and V2] The unix timestamp, in seconds, when Citadel root cert will expire. We set it to negative in case of internal error.
Shown as second
istio.citadel.server.csr_count
(count)
[OpenMetrics V1 and V2] The number of CSRs received by Citadel server.
istio.citadel.server.csr_parsing_err_count
(count)
[OpenMetrics V1 and V2] The number of errors occurred when parsing the CSR.
Shown as error
istio.citadel.server.id_extraction_err_count
(count)
[OpenMetrics V1 and V2] The number of errors occurred when extracting the ID from CSR.
Shown as error
istio.citadel.server.success_cert_issuance_count
(count)
[OpenMetrics V1 and V2] The number of certificates issuances that have succeeded.
istio.citadel.go.gc_duration_seconds.count
(count)
[OpenMetrics V1 and V2] Count of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.citadel.go.gc_duration_seconds.quantile
(gauge)
[OpenMetrics V1 and V2] Quantile of the GC invocation durations.
Shown as second
istio.citadel.go.gc_duration_seconds.sum
(count)
[OpenMetrics V1 and V2] Sum of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.citadel.go.goroutines
(gauge)
[OpenMetrics V1 and V2] Number of goroutines that currently exist.
Shown as thread
istio.citadel.go.info
(gauge)
[OpenMetrics V1 and V2] Information about the Go environment.
istio.citadel.go.memstats.alloc_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes allocated and still in use.
Shown as byte
istio.citadel.go.memstats.alloc_bytes_total
(count)
[OpenMetrics V1 and V2] Total number of bytes allocated even if freed.
Shown as byte
istio.citadel.go.memstats.buck_hash_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used by the profiling bucket hash table.
Shown as byte
istio.citadel.go.memstats.frees_total
(count)
[OpenMetrics V1 and V2] Total number of frees.
istio.citadel.go.memstats.gc_cpu_fraction
(gauge)
[OpenMetrics V1 and V2] CPU taken up by GC
Shown as percent
istio.citadel.go.memstats.gc_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for garbage collection system metadata.
Shown as byte
istio.citadel.go.memstats.heap_alloc_bytes
(gauge)
[OpenMetrics V1 and V2] Bytes allocated to the heap
Shown as byte
istio.citadel.go.memstats.heap_idle_bytes
(gauge)
[OpenMetrics V1 and V2] Number of idle bytes in the heap
Shown as byte
istio.citadel.go.memstats.heap_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of Bytes in the heap
Shown as byte
istio.citadel.go.memstats.heap_objects
(gauge)
[OpenMetrics V1 and V2] Number of objects in the heap
Shown as object
istio.citadel.go.memstats.heap_released_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes released to the system in the last gc
Shown as byte
istio.citadel.go.memstats.heap_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used by the heap
Shown as byte
istio.citadel.go.memstats.last_gc_time_seconds
(gauge)
[OpenMetrics V1 and V2] Length of last GC
Shown as second
istio.citadel.go.memstats.lookups_total
(count)
[OpenMetrics V1 and V2] Number of lookups
Shown as operation
istio.citadel.go.memstats.mallocs_total
(count)
[OpenMetrics V1 and V2] Number of mallocs
Shown as operation
istio.citadel.go.memstats.mcache_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by mcache structures.
Shown as byte
istio.citadel.go.memstats.mcache_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for mcache structures obtained from system.
Shown as byte
istio.citadel.go.memstats.mspan_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by mspan structures.
Shown as byte
istio.citadel.go.memstats.mspan_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for mspan structures obtained from system.
Shown as byte
istio.citadel.go.memstats.next_gc_bytes
(gauge)
[OpenMetrics V1 and V2] Number of heap bytes when next garbage collection will take place
Shown as byte
istio.citadel.go.memstats.other_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for other system allocations
Shown as byte
istio.citadel.go.memstats.stack_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by the stack allocator
Shown as byte
istio.citadel.go.memstats.stack_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes obtained from system for stack allocator
Shown as byte
istio.citadel.go.memstats.sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes obtained from system
Shown as byte
istio.citadel.go.threads
(gauge)
[OpenMetrics V1 and V2] Number of OS threads created.
Shown as thread
istio.citadel.process.cpu_seconds_total
(gauge)
[OpenMetrics V1 and V2] Total user and system CPU time spent in seconds.
Shown as second
istio.citadel.process.max_fds
(gauge)
[OpenMetrics V1 and V2] Maximum number of open file descriptors.
Shown as file
istio.citadel.process.open_fds
(gauge)
[OpenMetrics V1 and V2] Number of open file descriptors.
Shown as file
istio.citadel.process.resident_memory_bytes
(gauge)
[OpenMetrics V1 and V2] Resident memory size in bytes.
Shown as byte
istio.citadel.process.start_time_seconds
(gauge)
[OpenMetrics V1 and V2] Start time of the process since unix epoch in seconds.
Shown as second
istio.citadel.process.virtual_memory_bytes
(gauge)
[OpenMetrics V1 and V2] Virtual memory size in bytes.
Shown as byte
istio.galley.validation.config_update_error
(count)
[OpenMetrics V1 and V2] K8s webhook configuration update error
Shown as error
istio.citadel.server.cert_chain_expiry_timestamp
(gauge)
[OpenMetrics V1 and V2] The unix timestamp (in seconds) when Citadel cert chain will expire. Negative in case of internal error
Shown as second
istio.citadel.server.root_cert_expiry_timestamp
(gauge)
[OpenMetrics V1 and V2] The unix timestamp (in seconds) when Citadel root cert will expire. Negative in case of internal error
Shown as second
istio.galley.validation.failed
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Count of resource validation failed
istio.pilot.conflict.outbound_listener.http_over_https
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of conflicting HTTP listeners with well known HTTPS ports
istio.pilot.inbound_updates
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of updates received by pilot
istio.pilot.k8s.cfg_events
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Events from k8s config
Shown as event
istio.pilot.k8s.reg_events
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Events from k8s registry
Shown as event
istio.pilot.proxy_queue_time.count
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Count of observation for when proxy is in a push queue before being dequeued. This metric is sent as gauge by default in OpenMetrics V1.
istio.pilot.proxy_queue_time.sum
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Sum of observed values for when proxy is in a push queue before being dequeued. This metric is sent as gauge by default in OpenMetrics V1.
istio.pilot.push.triggers
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of times a push was triggered
Shown as event
istio.pilot.xds.eds_all_locality_endpoints
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Network endpoints for each cluster (across all localities) as of last push. Zero endpoints is an error
istio.pilot.xds.push.time.count
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Count of observation of total time Pilot takes a push. This metric is sent as gauge by default in OpenMetrics V1.
istio.pilot.xds.push.time.sum
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Sum of observed values of total time Pilot takes a push. This metric is sent as gauge by default in OpenMetrics V1.
istio.sidecar_injection.requests_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of sidecar injection requests
Shown as request
istio.sidecar_injection.success_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of successful sidecar injection requests
Shown as request
istio.sidecar_injection.failure_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of failed sidecar injection requests
Shown as request
istio.sidecar_injection.skip_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of skipped sidecar injection requests
Shown as request
istio.mesh.request.duration.milliseconds.sum
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total sum of observed values for duration of requests in ms. This metric is sent as gauge by default in OpenMetrics V1.
Shown as millisecond
istio.mesh.request.duration.milliseconds.count
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total count of observed values for duration of requests. This metric is sent as gauge by default in OpenMetrics V1.
istio.mesh.tcp.connections_closed.total
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Total closed connections
istio.mesh.tcp.connections_opened.total
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Total opened connections
istio.mesh.tcp.received_bytes.total
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Size of total bytes received during request in case of a TCP connection
Shown as byte
istio.mesh.tcp.send_bytes.total
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Size of total bytes sent during response in case of a TCP connection
Shown as byte
istio.mesh.request.count.total
(count)
[OpenMetrics V1 and Istio v1.5+] The number of requests as monotonic count
Shown as request
istio.mesh.request.duration.milliseconds.count.total
(count)
[OpenMetrics V1 and Istio v1.5+] Total count of observed values for duration of requests as monotonic count
istio.mesh.request.duration.milliseconds.sum.total
(count)
[OpenMetrics V1 and Istio v1.5+] Total sum of observed values for duration of requests as monotonic count
istio.mesh.request.size.count.total
(count)
[OpenMetrics V1 and Istio v1.5+] Count of observed request sizes as monotonic count
istio.mesh.request.size.sum.total
(count)
[OpenMetrics V1 and Istio v1.5+] Sum of observed request sizes as monotonic count
istio.mesh.response.size.count.total
(count)
[OpenMetrics V1 and Istio v1.5+] Count of observed response size as monotonic count
istio.mesh.response.size.sum.total
(count)
[OpenMetrics V1 and Istio v1.5+] Sum of observed response size as monotonic count
istio.mesh.tcp.connections_closed.total.total
(count)
[OpenMetrics V1 and Istio v1.5+] Total closed connections as monotonic count
istio.mesh.tcp.connections_opened.total.total
(count)
[OpenMetrics V1 and Istio v1.5+] Total opened connections as monotonic count
istio.mesh.tcp.received_bytes.total.total
(count)
[OpenMetrics V1 and Istio v1.5+] Size of total bytes received during request in case of a TCP connection as monotonic count
Shown as byte
istio.mesh.tcp.send_bytes.total.total
(count)
[OpenMetrics V1 and Istio v1.5+] Size of total bytes sent during response in case of a TCP connection as monotonic count
Shown as byte
istio.mesh.request.duration.count.total
(count)
[OpenMetrics V1 and Istio v1.5+] Count of request durations as monotonic count
Shown as request
istio.mesh.request.duration.sum.total
(count)
[OpenMetrics V1 and Istio v1.5+] Sum of request durations as monotonic count
Shown as millisecond
istio.grpc.server.handled_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of RPCs completed on the server, regardless of success or failure.
istio.grpc.server.handling_seconds.count
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Response latency of gRPC that had been application-level handled by the server. This metric is sent as gauge by default in OpenMetrics V1.
istio.grpc.server.handling_seconds.sum
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Response latency of gRPC that had been application-level handled by the server. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.grpc.server.msg_received_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of RPC stream messages received on the server.
Shown as message
istio.grpc.server.msg_sent_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of gRPC stream messages sent by the server.
Shown as message
istio.grpc.server.started_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of RPCs started on the server.
istio.go.gc_duration_seconds.count
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Count of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.go.gc_duration_seconds.quantile
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Quantile of the GC invocation durations.
Shown as second
istio.go.gc_duration_seconds.sum
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Sum of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.go.goroutines
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of goroutines that currently exist.
Shown as thread
istio.go.info
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Information about the Go environment.
istio.go.memstats.alloc_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes allocated and still in use.
Shown as byte
istio.go.memstats.alloc_bytes_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of bytes allocated even if freed.
Shown as byte
istio.go.memstats.buck_hash_sys_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes used by the profiling bucket hash table.
Shown as byte
istio.go.memstats.frees_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total number of frees.
Shown as byte
istio.go.memstats.gc_cpu_fraction
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] CPU taken up by GC.
Shown as percent
istio.go.memstats.gc_sys_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes used for garbage collection system metadata.
Shown as byte
istio.go.memstats.heap_alloc_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Bytes allocated to the heap.
Shown as byte
istio.go.memstats.heap_idle_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of idle bytes in the heap.
Shown as byte
istio.go.memstats.heap_inuse_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes in the heap.
Shown as byte
istio.go.memstats.heap_objects
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of objects in the heap.
Shown as object
istio.go.memstats.heap_released_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes released to the system in the last gc.
Shown as byte
istio.go.memstats.heap_sys_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes used by the heap.
Shown as byte
istio.go.memstats.last_gc_time_seconds
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Length of last GC.
Shown as second
istio.go.memstats.lookups_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of lookups.
Shown as operation
istio.go.memstats.mallocs_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of mallocs
Shown as operation
istio.go.memstats.mcache_inuse_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes in use by mcache structures.
Shown as byte
istio.go.memstats.mcache_sys_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes used for mcache structures obtained from system.
Shown as byte
istio.go.memstats.mspan_inuse_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes in use by mspan structures.
Shown as byte
istio.go.memstats.mspan_sys_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes used for mspan structures obtained from system.
Shown as byte
istio.go.memstats.next_gc_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of heap bytes when next garbage collection will take place.
Shown as byte
istio.go.memstats.other_sys_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes used for other system allocations.
Shown as byte
istio.go.memstats.stack_inuse_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes in use by the stack allocator.
Shown as byte
istio.go.memstats.stack_sys_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes obtained from system for stack allocator.
Shown as byte
istio.go.memstats.sys_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of bytes obtained from system.
Shown as byte
istio.go.threads
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of OS threads created.
Shown as thread
istio.process.cpu_seconds_total
(count)
[OpenMetrics V1 and V2 and Istio v1.5+] Total user and system CPU time spent.
Shown as second
istio.process.max_fds
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Maximum number of open file descriptors.
Shown as file
istio.process.open_fds
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Number of open file descriptors.
Shown as file
istio.process.resident_memory_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Resident memory size in bytes.
Shown as byte
istio.process.start_time_seconds
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Start time of the process since unix epoch in seconds.
Shown as second
istio.process.virtual_memory_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Amount of virtual memory used.
Shown as byte
istio.process.virtual_memory_max_bytes
(gauge)
[OpenMetrics V1 and V2 and Istio v1.5+] Maximum amount of virtual memory available.
Shown as byte
istio.galley.validation.config_update_error.count
(count)
[OpenMetrics V2 and Istio v1.5+] K8s webhook configuration update error
Shown as error
istio.galley.validation.config_update.count
(count)
[OpenMetrics V2 and Istio v1.5+] k8s webhook configuration updates.
istio.galley.validation.failed.count
(count)
[OpenMetrics V2 and Istio v1.5+] Count of resource validation failed
istio.go.memstats.frees.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total number of frees.
istio.go.memstats.lookups.count
(count)
[OpenMetrics V2 and Istio v1.5+] Number of lookups
Shown as operation
istio.go.memstats.mallocs.count
(count)
[OpenMetrics V2 and Istio v1.5+] Number of mallocs
Shown as byte
istio.grpc.server.handled.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total number of fully handled requests, with responses
Shown as request
istio.grpc.server.msg_received.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total number of RPC stream messages received on the server.
Shown as message
istio.grpc.server.msg_sent.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total number of messages sent
Shown as message
istio.grpc.server.started.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total number of RPCs started on the server.
istio.pilot.inbound_updates.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total number of updates received by pilot
istio.pilot.k8s.cfg_events.count
(count)
[OpenMetrics V2 and Istio v1.5+] Events from k8s config
Shown as event
istio.pilot.k8s.reg_events.count
(count)
[OpenMetrics V2 and Istio v1.5+] Events from k8s registry
Shown as event
istio.pilot.push.triggers.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total number of times a push was triggered
istio.pilot.xds.pushes.count
(count)
[OpenMetrics V2 and Istio v1.5+] Pilot build and send errors for lds, rds, cds and eds.
istio.process.cpu_seconds.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total user and system CPU time spent in seconds.
Shown as second
istio.sidecar_injection.requests.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total number of sidecar injection requests
Shown as request
istio.sidecar_injection.success.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total number of successful sidecar injection requests
Shown as request
istio.mesh.tcp.connections_closed.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total closed connections as monotonic count
istio.mesh.tcp.connections_opened.count
(count)
[OpenMetrics V2 and Istio v1.5+] Total opened connections as monotonic count
istio.mesh.tcp.received_bytes.count
(count)
[OpenMetrics V2 and Istio v1.5+] Size of total bytes received during request in case of a TCP connection as monotonic count
Shown as byte
istio.mesh.tcp.send_bytes.count
(count)
[OpenMetrics V2 and Istio v1.5+] Size of total bytes sent during response in case of a TCP connection as monotonic count
Shown as byte
istio.grpc.server.handling_seconds.bucket
(count)
[OpenMetrics V2 and Istio v1.5+] Bucket of response latency (seconds) of gRPC that had been application-level handled by the server.
Shown as second
istio.pilot.proxy_convergence_time.bucket
(count)
[OpenMetrics V2 and Istio v1.5+] Bucket of delay between config change and all proxies converging.
Shown as second
istio.pilot.proxy_queue_time.bucket
(count)
[OpenMetrics V2 and Istio v1.5+] Bucket of observed values for when proxy is in a push queue before being dequeued
istio.pilot.xds.push.time.bucket
(count)
[OpenMetrics V2 and Istio v1.5+] Bucket of observation of total time Pilot takes a push
istio.mesh.request.duration.milliseconds.bucket
(count)
[OpenMetrics V2 and Istio v1.5+] Bucket of observed values for duration of requests
Shown as millisecond
istio.mesh.response.size.bucket
(count)
[OpenMetrics V2 and Istio v1.5+] Bucket of response sizes
Shown as response
istio.mesh.request.size.bucket
(count)
[OpenMetrics V2 and Istio v1.5+] Bucket of request sizes
Shown as request
istio.mesh.agent.pilot.conflict.outbound_listener.http_over_current_tcp
(gauge)
[OpenMetrics V1 and V2] Number of conflicting wildcard http listeners with current wildcard tcp listener.
istio.mesh.agent.go.memstats.stack_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes obtained from system for stack allocator
Shown as byte
istio.mesh.agent.conflict.inbound_listener
(gauge)
[OpenMetrics V1 and V2] Number of conflicting inbound listeners.
istio.mesh.agent.go.memstats.sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes obtained from system
Shown as byte
istio.mesh.agent.pilot.xds
(gauge)
[OpenMetrics V1 and V2] Number of endpoints connected to this pilot using XDS.
istio.mesh.agent.go.memstats.alloc_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes allocated and still in use.
Shown as byte
istio.mesh.agent.go.memstats.heap_idle_bytes
(gauge)
[OpenMetrics V1 and V2] Number of idle bytes in the heap.
Shown as byte
istio.mesh.agent.process.resident_memory_bytes
(gauge)
[OpenMetrics V1 and V2] Resident memory size in bytes.
Shown as byte
istio.mesh.agent.conflict.outbound_listener.tcp_over_current_tcp
(gauge)
[OpenMetrics V1 and V2] Number of conflicting tcp listeners with current tcp listener.
istio.mesh.agent.go.memstats.gc_cpu_fraction
(gauge)
[OpenMetrics V1 and V2] CPU taken up by GC.
istio.mesh.agent.go.memstats.heap_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used by the heap.
Shown as byte
istio.mesh.agent.go.memstats.stack_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by the stack allocator
Shown as byte
istio.mesh.agent.go.memstats.heap_released_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes released to the system in the last gc.
Shown as byte
istio.mesh.agent.go.memstats.mspan_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by mspan structures.
Shown as byte
istio.mesh.agent.go.memstats.mallocs.count
(count)
[OpenMetrics V1 and V2] Number of mallocs
Shown as byte
istio.mesh.agent.pilot.endpoint_not_ready
(gauge)
[OpenMetrics V1 and V2] Endpoint found in unready state.
istio.mesh.agent.pilot.no_ip
(gauge)
[OpenMetrics V1 and V2] Pods not found in the endpoint table, possibly invalid.
istio.mesh.agent.num_outgoing_requests.count
(count)
[OpenMetrics V1 and V2] Number of outgoing requests.
istio.mesh.agent.go.memstats.other_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for other system allocations.
Shown as byte
istio.mesh.agent.pilot.xds.config_size_bytes.sum
(count)
[OpenMetrics V1 and V2] Sum of pilot XDS config size.
Shown as byte
istio.mesh.agent.pilot.xds.config_size_bytes.count
(count)
[OpenMetrics V1 and V2] Count of pilot XDS config size samples.
istio.mesh.agent.pilot.xds.config_size_bytes.bucket
(count)
[OpenMetrics V1 and V2] Number of pilot XDS config size.
Shown as byte
istio.mesh.agent.process.open_fds
(gauge)
[OpenMetrics V1 and V2] Number of open file descriptors.
Shown as file
istio.mesh.agent.go.goroutines
(gauge)
[OpenMetrics V1 and V2] Number of goroutines that currently exist.
Shown as thread
istio.mesh.agent.go.threads
(gauge)
[OpenMetrics V1 and V2] Number of OS threads created.
Shown as thread
istio.mesh.agent.go.info
(gauge)
[OpenMetrics V1 and V2] Information about the Go environment.
istio.mesh.agent.go.memstats.frees.count
(count)
[OpenMetrics V1 and V2] Total number of frees.
istio.mesh.agent.go.memstats.mcache_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes in use by mcache structures.
Shown as byte
istio.mesh.agent.process.virtual_memory_bytes
(gauge)
[OpenMetrics V1 and V2] Virtual memory size in bytes.
Shown as byte
istio.mesh.agent.endpoint_no_pod
(gauge)
[OpenMetrics V1 and V2] Endpoints without an associated pod.
istio.mesh.agent.go.gc_duration_seconds.sum
(count)
[OpenMetrics V1 and V2] Sum of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.mesh.agent.go.gc_duration_seconds.count
(count)
[OpenMetrics V1 and V2] Count of the GC invocation durations. This metric is sent as gauge by default in OpenMetrics V1.
Shown as second
istio.mesh.agent.go.gc_duration_seconds.quantile
(gauge)
[OpenMetrics V1 and V2] Quantile of the GC invocation durations.
Shown as second
istio.mesh.agent.process.cpu_seconds.count
(count)
[OpenMetrics V1 and V2] Total user and system CPU time spent in seconds.
Shown as second
istio.mesh.agent.go.memstats.heap_objects
(gauge)
[OpenMetrics V1 and V2] Number of objects in the heap
Shown as object
istio.mesh.agent.pilot.vservice_dup_domain
(gauge)
[OpenMetrics V1 and V2] Virtual services with dup domains.
istio.mesh.agent.process.virtual_memory_max_bytes
(gauge)
[OpenMetrics V1 and V2] Maximum amount of virtual memory available.
Shown as byte
istio.mesh.agent.go.memstats.mcache_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for mcache structures obtained from system.
Shown as byte
istio.mesh.agent.scrapes.count
(count)
[OpenMetrics V1 and V2] Number of scrapes.
istio.mesh.agent.pilot.duplicate_envoy_clusters
(gauge)
[OpenMetrics V1 and V2] Duplicate envoy clusters caused by service entries with same hostname.
istio.mesh.agent.go.memstats.buck_hash_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used by the profiling bucket hash table.
Shown as byte
istio.mesh.agent.pilot.xds.push_time.sum
(count)
[OpenMetrics V1 and V2] Sum pilot XDS push time.
istio.mesh.agent.pilot.xds.push_time.count
(count)
[OpenMetrics V1 and V2] Total number of samples of pilot XDS push time.
istio.mesh.agent.pilot.xds.push_time.bucket
(count)
[OpenMetrics V1 and V2] Time of pilot XDS push time.
istio.mesh.agent.wasm_cache_entries
(gauge)
[OpenMetrics V1 and V2] Number of Web Assembly cache entries.
Shown as entry
istio.mesh.agent.pilot.eds_no_instances
(gauge)
[OpenMetrics V1 and V2] Number of clusters without instances.
istio.mesh.agent.go.memstats.heap_alloc_bytes
(gauge)
[OpenMetrics V1 and V2] Bytes allocated to the heap
Shown as byte
istio.mesh.agent.pilot.virt_services
(gauge)
[OpenMetrics V1 and V2] Total virtual services known to pilot.
istio.mesh.agent.go.memstats.next_gc_bytes
(gauge)
[OpenMetrics V1 and V2] Number of heap bytes when next garbage collection will take place
Shown as byte
istio.mesh.agent.startup_duration_seconds
(gauge)
[OpenMetrics V1 and V2] Start up duration time in seconds.
Shown as second
istio.mesh.agent.go.memstats.last_gc_time_seconds
(gauge)
[OpenMetrics V1 and V2] Length of last GC
Shown as second
istio.mesh.agent.pilot.xds.send_time.sum
(count)
[OpenMetrics V1 and V2] Sum of pilot XDS send time.
istio.mesh.agent.pilot.xds.send_time.count
(count)
[OpenMetrics V1 and V2] Count of pilot XDS send time sample.
istio.mesh.agent.pilot.xds.send_time.bucket
(count)
[OpenMetrics V1 and V2] Pilot XDS send time.
istio.mesh.agent.go.memstats.heap_inuse_bytes
(gauge)
[OpenMetrics V1 and V2] Number of Bytes in the heap
Shown as byte
istio.mesh.agent.process.max_fds
(gauge)
[OpenMetrics V1 and V2] Maximum number of open file descriptors.
Shown as file
istio.mesh.agent.go.memstats.gc_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for garbage collection system metadata.
Shown as byte
istio.mesh.agent.pilot.destrule_subsets
(gauge)
[OpenMetrics V1 and V2] Duplicate subsets across destination rules for same host.
istio.mesh.agent.pilot.xds.pushes.count
(count)
[OpenMetrics V1 and V2] Pilot build and send errors for lds, rds, cds and eds.
istio.mesh.agent.process.start_time_seconds
(gauge)
[OpenMetrics V1 and V2] Start time of the process since unix epoch in seconds.
Shown as second
istio.mesh.agent.go.memstats.lookups.count
(count)
[OpenMetrics V1 and V2] Number of lookups
Shown as operation
istio.mesh.agent.outgoing_latency.count
(count)
[OpenMetrics V1 and V2] Total outgoing latency.
istio.mesh.agent.go.memstats.mspan_sys_bytes
(gauge)
[OpenMetrics V1 and V2] Number of bytes used for mspan structures obtained from system.
Shown as byte
istio.mesh.agent.pilot.conflict.outbound_listener.tcp_over_current_http
(gauge)
[OpenMetrics V1 and V2] Number of conflicting wildcard tcp listeners with current wildcard http listener.
istio.galley.source.kube.event.error.count
(count)
[OpenMetrics V2] Number of times a kubernetes source encountered errored while handling an event.
istio.galley.source.kube.dynamic.converter.failure.count
(count)
[OpenMetrics V2] Number of times a dynamnic kubernetes source failed converting a resources
istio.galley.validation.cert.key.update.errors.count
(count)
[OpenMetrics V2] Number of Galley validation webhook certificate updates errors.
istio.galley.validation.http.error.count
(count)
[OpenMetrics V2] Number of resource validation http serve errors.
istio.mcp.clients.count
(count)
[OpenMetrics V2] Number of streams currently connected.
istio.mcp.request.acks.count
(count)
[OpenMetrics V2] Number of request acks received by the source.
istio.mcp.request.nacks.count
(count)
[OpenMetrics V2] Number of request nacks received by the source.
istio.mixer.config.rule.config.errors.count
(count)
[OpenMetrics V2] Number of errors encountered during processing of the rule configuration.
istio.mixer.config.rule.config.match.errors.count
(count)
[OpenMetrics V2] Number of rule conditions that was not parseable.
istio.mixer.config.unsatisfied.action.handlers.count
(count)
[OpenMetrics V2] Number of actions that failed due to handlers being unavailable.
istio.mixer.config.adapter.info.configs.count
(count)
[OpenMetrics V2] Number of known adapters in the current config.
istio.mixer.config.adapter.info.config.errors.count
(count)
[OpenMetrics V2] Number of errors encountered during processing of the adapter info configuration.
istio.mixer.config.handler.validation.errors.count
(count)
[OpenMetrics V2] Number of errors encountered because handler validation returned error.
istio.mixer.config.instance.config.errors.count
(count)
[OpenMetrics V2] Number of errors encountered during processing of the instance configuration.
istio.mixer.handler.handler.build.failures.count
(count)
[OpenMetrics V2] Number of handlers that failed creation during config transition.
istio.galley.istio.networking.virtualservices
(gauge)
istio.galley.istio.networking.destinationrules
(gauge)
istio.galley.istio.networking.gateways
(gauge)
istio.galley.istio.authentication.meshpolicies
(gauge)

Événements

Le check Istio n’inclut aucun événement.

Checks de service

istio.prometheus.health
Returns CRITICAL if the check cannot access the metrics endpoint. Returns OK otherwise.
Statuses: ok, critical

istio.openmetrics.health
Returns CRITICAL if the Agent is unable to connect to the OpenMetrics endpoint, otherwise returns OK.
Statuses: ok, critical

istio.pilot.prometheus.health
Returns CRITICAL if the check cannot access the metrics endpoint. Returns OK otherwise.
Statuses: ok, critical

istio.galley.prometheus.health
Returns CRITICAL if the check cannot access the metrics endpoint. Returns OK otherwise.
Statuses: ok, critical

istio.citadel.prometheus.health
Returns CRITICAL if the check cannot access the metrics endpoint. Returns OK otherwise.
Statuses: ok, critical

Dépannage

Erreur « Invalid chunk length »

Si vous rencontrez l’erreur suivante lors de l’implémentation OpenMetricsBaseCheck (V1) d’Istio (intégration d’Istio version 3.13.0 ou antérieure) :

  Error: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)",
  InvalidChunkLength(got length b'', 0 bytes read))

Utilisez l’implémentation Openmetrics V2 de l’intégration Istio afin de résoudre cette erreur.

Remarque : vous devez effectuer au minimum une mise à niveau vers l’Agent 7.31.0 et Python 3. Consultez la rubrique Configuration relative à l’activation d’Openmetrics V2.

Utilisation de l’intégration OpenMetrics générique dans un déploiement Istio

Si l’injection de sidecar proxy Istio est activée, la surveillance d’autres métriques Prometheus à l’aide de l’intégration Openmetrics par le biais du même endpoint de métriques que istio_mesh_endpoint peut engendrer une forte utilisation de métriques custom et la collecte de métriques en double.

Pour veiller à ce que votre configuration OpenMetrics ne recueille pas des métriques redondantes, deux options s’offrent à vous :

  1. Utilisez une expression spécifique pour l’option de configuration metrics, afin de renvoyer uniquement les métriques pertinentes.
  2. Sinon, si vous utilisez le wildcard * pour metrics, vous pouvez envisager d’utiliser les options d’intégration OpenMetrics suivantes afin d’exclure les métriques déjà prises en charge par les intégrations Istio et Envoy.

Configuration d’Openmetrics V2 avec la collecte générique de métriques

Veillez à exclure les métriques Istio et Envoy de votre configuration pour éviter qu’un nombre élevé de métriques custom ne vous soit facturé. Utilisez exclude_metrics si vous utilisez la configuration Openmetrics V2 (openmetrics_endpoint activé).

## Chaque instance est programmée indépendamment des autres.
#
instances:
  - openmetrics_endpoint: <ENDPOINT_OPENMETRICS>
    metrics: [*]
    exclude_metrics:
      - istio_*
      - envoy_*

Configuration d’Openmetrics V1 (ancienne version) avec la collecte générique de métriques

Veillez à exclure les métriques Istio et Envoy de votre configuration pour éviter qu’un nombre élevé de métriques custom ne vous soit facturé. Utilisez ignore_metrics si vous utilisez la configuration Openmetrics V1 (prometheus_url activé).

instances:
  - prometheus_url: <URL_PROMETHEUS>
    metrics:
      - *
    ignore_metrics:
      - istio_*
      - envoy_*

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles :