Chapitre 8. Observabilité


8.1. Mesures de l'administrateur

8.1.1. Mesures de l'administrateur sans serveur

Les métriques permettent aux administrateurs de cluster de surveiller les performances des composants du cluster OpenShift Serverless et des charges de travail.

Vous pouvez visualiser différentes métriques pour OpenShift Serverless en naviguant vers Dashboards dans la console web de OpenShift Container Platform Administrator perspective.

8.1.1.1. Conditions préalables

  • Voir la documentation OpenShift Container Platform sur la gestion des métriques pour plus d'informations sur l'activation des métriques pour votre cluster.
  • Vous avez accès à un compte OpenShift Container Platform avec un accès administrateur de cluster.
  • Vous avez accès à la perspective Administrator dans la console web de OpenShift Container Platform.
Avertissement

Si Service Mesh est activé avec mTLS, les métriques pour Knative Serving sont désactivées par défaut car Service Mesh empêche Prometheus de récupérer les métriques.

Pour plus d'informations sur la résolution de ce problème, voir Activation des métriques Knative Serving lors de l'utilisation de Service Mesh avec mTLS.

Le scraping des métriques n'affecte pas l'autoscaling d'un service Knative, car les requêtes de scraping ne passent pas par l'activateur. Par conséquent, aucun scraping n'a lieu si aucun pod n'est en cours d'exécution.

8.1.2. Métriques des contrôleurs sans serveur

Les mesures suivantes sont émises par tout composant qui met en œuvre une logique de contrôleur. Ces mesures donnent des détails sur les opérations de rapprochement et sur le comportement de la file d'attente en fonction duquel les demandes de rapprochement sont ajoutées à la file d'attente.

Nom de la métriqueDescriptionTypeTagsUnité

work_queue_depth

La profondeur de la file d'attente.

Jauge

reconciler

Entier (pas d'unité)

reconcile_count

Le nombre d'opérations de rapprochement.

Compteur

reconciler, success

Entier (pas d'unité)

reconcile_latency

Le temps de latence des opérations de rapprochement.

Histogramme

reconciler, success

Millisecondes

workqueue_adds_total

Nombre total d'actions d'ajout traitées par la file d'attente.

Compteur

name

Entier (pas d'unité)

workqueue_queue_latency_seconds

Durée pendant laquelle un élément reste dans la file d'attente avant d'être demandé.

Histogramme

name

Secondes

workqueue_retries_total

Le nombre total de tentatives qui ont été traitées par la file d'attente.

Compteur

name

Entier (pas d'unité)

workqueue_work_duration_seconds

Le temps nécessaire pour traiter un élément de la file d'attente.

Histogramme

name

Secondes

workqueue_unfinished_work_seconds

Durée pendant laquelle les éléments de la file d'attente en suspens sont en cours de traitement.

Histogramme

name

Secondes

workqueue_longest_running_processor_seconds

Durée pendant laquelle les éléments de la file d'attente les plus anciens sont en cours de traitement.

Histogramme

name

Secondes

8.1.3. Métriques des webhooks

Les métriques des webhooks fournissent des informations utiles sur les opérations. Par exemple, si un grand nombre d'opérations échouent, cela peut indiquer un problème avec une ressource créée par l'utilisateur.

Nom de la métriqueDescriptionTypeTagsUnité

request_count

Le nombre de requêtes acheminées vers le webhook.

Compteur

admission_allowed, kind_group, kind_kind, kind_version, request_operation, resource_group, resource_namespace, resource_resource, resource_version

Entier (pas d'unité)

request_latencies

Le temps de réponse pour une demande de webhook.

Histogramme

admission_allowed, kind_group, kind_kind, kind_version, request_operation, resource_group, resource_namespace, resource_resource, resource_version

Millisecondes

8.1.4. Mesures du concours complet Knative

Les administrateurs de clusters peuvent afficher les mesures suivantes pour les composants Knative Eventing.

En agrégeant les mesures du code HTTP, les événements peuvent être séparés en deux catégories : les événements réussis (2xx) et les événements échoués (5xx).

8.1.4.1. Métriques d'entrée du courtier

Vous pouvez utiliser les mesures suivantes pour déboguer l'entrée du courtier, voir comment elle fonctionne et quels événements sont envoyés par le composant d'entrée.

Nom de la métriqueDescriptionTypeTagsUnité

event_count

Nombre d'événements reçus par un courtier.

Compteur

broker_name, event_type, namespace_name, response_code, response_code_class, unique_name

Entier (pas d'unité)

event_dispatch_latencies

Temps nécessaire pour envoyer un événement à un canal.

Histogramme

broker_name, event_type, namespace_name, response_code, response_code_class, unique_name

Millisecondes

8.1.4.2. Métriques de filtrage du courtier

Vous pouvez utiliser les mesures suivantes pour déboguer les filtres du courtier, voir comment ils fonctionnent et quels événements sont distribués par les filtres. Vous pouvez également mesurer la latence de l'action de filtrage sur un événement.

Nom de la métriqueDescriptionTypeTagsUnité

event_count

Nombre d'événements reçus par un courtier.

Compteur

broker_name, container_name, filter_type, namespace_name, response_code, response_code_class, trigger_name, unique_name

Entier (pas d'unité)

event_dispatch_latencies

Temps nécessaire pour envoyer un événement à un canal.

Histogramme

broker_name, container_name, filter_type, namespace_name, response_code, response_code_class, trigger_name, unique_name

Millisecondes

event_processing_latencies

Temps nécessaire au traitement d'un événement avant qu'il ne soit envoyé à un abonné au déclencheur.

Histogramme

broker_name, container_name, filter_type, namespace_name, trigger_name, unique_name

Millisecondes

8.1.4.3. Métriques du répartiteur InMemoryChannel

Vous pouvez utiliser les mesures suivantes pour déboguer les canaux InMemoryChannel, voir comment ils fonctionnent et quels événements sont envoyés par les canaux.

Nom de la métriqueDescriptionTypeTagsUnité

event_count

Nombre d'événements envoyés par les canaux InMemoryChannel.

Compteur

broker_name, container_name, filter_type, namespace_name, response_code, response_code_class, trigger_name, unique_name

Entier (pas d'unité)

event_dispatch_latencies

Temps nécessaire pour envoyer un événement à partir d'un canal InMemoryChannel.

Histogramme

broker_name, container_name, filter_type, namespace_name, response_code, response_code_class, trigger_name, unique_name

Millisecondes

8.1.4.4. Mesures des sources d'événements

Vous pouvez utiliser les mesures suivantes pour vérifier que les événements ont été transmis de la source d'événements au puits d'événements connecté.

Nom de la métriqueDescriptionTypeTagsUnité

event_count

Nombre d'événements envoyés par la source d'événements.

Compteur

broker_name, container_name, filter_type, namespace_name, response_code, response_code_class, trigger_name, unique_name

Entier (pas d'unité)

retry_event_count

Nombre d'événements renvoyés par la source d'événements après un premier échec.

Compteur

event_source, event_type, name, namespace_name, resource_group, response_code, response_code_class, response_error, response_timeout

Entier (pas d'unité)

8.1.5. Métriques de service Knative

Les administrateurs de clusters peuvent afficher les mesures suivantes pour les composants Knative Serving.

8.1.5.1. Mesures de l'activateur

Vous pouvez utiliser les mesures suivantes pour comprendre comment les applications réagissent lorsque le trafic passe par l'activateur.

Nom de la métriqueDescriptionTypeTagsUnité

request_concurrency

Nombre de demandes simultanées acheminées vers l'activateur, ou nombre moyen de demandes simultanées sur une période donnée.

Jauge

configuration_name, container_name, namespace_name, pod_name, revision_name, service_name

Entier (pas d'unité)

request_count

Nombre de demandes acheminées vers l'activateur. Il s'agit des demandes qui ont été satisfaites par le gestionnaire de l'activateur.

Compteur

configuration_name, container_name, namespace_name, pod_name, response_code, response_code_class, revision_name, service_name,

Entier (pas d'unité)

request_latencies

Le temps de réponse en millisecondes pour une requête acheminée et satisfaite.

Histogramme

configuration_name, container_name, namespace_name, pod_name, response_code, response_code_class, revision_name, service_name

Millisecondes

8.1.5.2. Mesures de l'autoscaler

Le composant autoscaler expose un certain nombre de métriques liées au comportement de l'autoscaler pour chaque révision. Par exemple, à tout moment, vous pouvez surveiller le nombre ciblé de pods que l'autoscaler tente d'allouer pour un service, le nombre moyen de requêtes par seconde pendant la fenêtre stable, ou si l'autoscaler est en mode panique si vous utilisez le Knative pod autoscaler (KPA).

Nom de la métriqueDescriptionTypeTagsUnité

desired_pods

Le nombre de pods que l'autoscaler tente d'allouer pour un service.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

excess_burst_capacity

La capacité d'éclatement excédentaire servie sur la fenêtre stable.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

stable_request_concurrency

Le nombre moyen de requêtes pour chaque pod observé au cours de la fenêtre stable.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

panic_request_concurrency

Le nombre moyen de demandes pour chaque pod observé au cours de la fenêtre de panique.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

target_concurrency_per_pod

Nombre de demandes simultanées que l'autoscaler tente d'envoyer à chaque pod.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

stable_requests_per_second

Nombre moyen de requêtes par seconde pour chaque module observé au cours de la fenêtre stable.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

panic_requests_per_second

Le nombre moyen de requêtes par seconde pour chaque pod observé au cours de la fenêtre de panique.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

target_requests_per_second

Le nombre de requêtes par seconde que l'autoscaler cible pour chaque pod.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

panic_mode

Cette valeur est 1 si l'autoscaler est en mode panique, ou 0 si l'autoscaler n'est pas en mode panique.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

requested_pods

Le nombre de pods que l'autoscaler a demandé au cluster Kubernetes.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

actual_pods

Le nombre de pods qui sont alloués et qui sont actuellement prêts.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

not_ready_pods

Nombre de pods dont l'état n'est pas prêt.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

pending_pods

Le nombre de pods qui sont actuellement en attente.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

terminating_pods

Le nombre de pods qui se terminent actuellement.

Jauge

configuration_name, namespace_name, revision_name, service_name

Entier (pas d'unité)

8.1.5.3. Mesures de la durée d'exécution de Go

Chaque processus du plan de contrôle de Knative Serving émet un certain nombre de statistiques de mémoire d'exécution Go(MemStats).

Note

La balise name pour chaque métrique est une balise vide.

Nom de la métriqueDescriptionTypeTagsUnité

go_alloc

Nombre d'octets d'objets du tas alloués. Cette mesure est identique à heap_alloc.

Jauge

name

Entier (pas d'unité)

go_total_alloc

Le nombre cumulé d'octets alloués aux objets du tas.

Jauge

name

Entier (pas d'unité)

go_sys

Le nombre total d'octets de mémoire obtenu du système d'exploitation.

Jauge

name

Entier (pas d'unité)

go_lookups

Le nombre de recherches de pointeurs effectuées par le moteur d'exécution.

Jauge

name

Entier (pas d'unité)

go_mallocs

Le nombre cumulé d'objets du tas alloués.

Jauge

name

Entier (pas d'unité)

go_frees

Le nombre cumulé d'objets du tas qui ont été libérés.

Jauge

name

Entier (pas d'unité)

go_heap_alloc

Nombre d'octets d'objets du tas alloués.

Jauge

name

Entier (pas d'unité)

go_heap_sys

Le nombre d'octets de la mémoire vive obtenu du système d'exploitation.

Jauge

name

Entier (pas d'unité)

go_heap_idle

Le nombre d'octets dans les travées inutilisées.

Jauge

name

Entier (pas d'unité)

go_heap_in_use

Le nombre d'octets dans les travées qui sont actuellement en cours d'utilisation.

Jauge

name

Entier (pas d'unité)

go_heap_released

Nombre d'octets de mémoire physique restitués au système d'exploitation.

Jauge

name

Entier (pas d'unité)

go_heap_objects

Nombre d'objets du tas alloués.

Jauge

name

Entier (pas d'unité)

go_stack_in_use

Nombre d'octets de la pile en cours d'utilisation.

Jauge

name

Entier (pas d'unité)

go_stack_sys

Le nombre d'octets de la mémoire de pile obtenu du système d'exploitation.

Jauge

name

Entier (pas d'unité)

go_mspan_in_use

Le nombre d'octets des structures mspan allouées.

Jauge

name

Entier (pas d'unité)

go_mspan_sys

Le nombre d'octets de mémoire obtenus du système d'exploitation pour les structures mspan.

Jauge

name

Entier (pas d'unité)

go_mcache_in_use

Le nombre d'octets des structures mcache allouées.

Jauge

name

Entier (pas d'unité)

go_mcache_sys

Le nombre d'octets de mémoire obtenus du système d'exploitation pour les structures mcache.

Jauge

name

Entier (pas d'unité)

go_bucket_hash_sys

Le nombre d'octets de mémoire dans les tables de hachage des seaux de profilage.

Jauge

name

Entier (pas d'unité)

go_gc_sys

Nombre d'octets de mémoire dans les métadonnées du ramassage des ordures.

Jauge

name

Entier (pas d'unité)

go_other_sys

Le nombre d'octets de mémoire dans les diverses allocations de durée d'exécution en dehors du tas.

Jauge

name

Entier (pas d'unité)

go_next_gc

La taille du tas cible du prochain cycle de ramassage des ordures.

Jauge

name

Entier (pas d'unité)

go_last_gc

Heure à laquelle le dernier ramassage des ordures s'est achevé ( Epoch ou heure Unix).

Jauge

name

Nanosecondes

go_total_gc_pause_ns

Le temps cumulé des pauses du ramasse-miettes stop-the-world depuis le début du programme.

Jauge

name

Nanosecondes

go_num_gc

Nombre de cycles de ramassage d'ordures terminés.

Jauge

name

Entier (pas d'unité)

go_num_forced_gc

Nombre de cycles de ramassage d'ordures forcés en raison de l'appel d'une application à la fonction de ramassage d'ordures.

Jauge

name

Entier (pas d'unité)

go_gc_cpu_fraction

La fraction du temps CPU disponible du programme qui a été utilisée par le ramasse-miettes depuis le début du programme.

Jauge

name

Entier (pas d'unité)

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.