Capacité d’observation de Maverics

L’orchestrateur émet des données de télémétrie à partir du processus en cours d’exécution en utilisant OpenTelemetry.

Veuillez vous référer à la section Télémétrie pour configurer votre instance Maverics pour qu’elle émette des données de télémétrie.

Métriques

Les métriques désignent les observations fondées sur des données numériques (compteurs, totaux, etc.).

ℹ️
Les métriques transmettent à la fois leur valeur et une liste d’attributs de ressources partagées, décrits dans la section Attributs des ressources partagées.

Métriques de l’orchestrateur

Les métriques personnalisées suivantes sont transmises par l’orchestrateur :

Requêtes actives

Les requêtes actives (simultanées) sont décrites ici

NomDescriptionType
"http.server.active_requests"Indique le nombre de requêtes HTTP simultanées qui sont actuellement en cours de traitement.UpDownCounter (non-monotonique)

Attributs :

  • http.request.method Méthode de requête HTTP (chaîne)
  • server.address Nom du serveur HTTP local ayant reçu la requête (chaîne)
  • server.port Port du serveur HTTP local (int)
  • url.scheme http ou https (chaîne)

Par exemple :

{
    __name__="http_server_active_requests",
    ...,
    service_name="io.strata.maverics",
    service_version="0.18.14",
    ...,
    http_request_method="GET",
    server_address="maverics.sonarsystems.com",
    server_port="7474",
    url_scheme="http",
...
}

Server Latency (durée de la requête)

La latence du serveur (durée de la requête) est décrite ici

NomDescriptionType
"http.server.duration"Mesure la durée de toutes les requêtes HTTP, sous forme d’histogramme.Histogram

Attributs :

  • http.request.method Méthode de requête HTTP (chaîne)
  • server.address Nom du serveur HTTP local ayant reçu la requête (chaîne)
  • server.port Port du serveur HTTP local (int)
  • url.scheme http ou https (chaîne)

Par exemple :

{
    __name__="http_server_duration",
    ...,
    service_name="io.strata.maverics",
    service_version="0.18.14",
    ...,
    http_request_method="GET",
    server_address="maverics.sonarsystems.com",
    server_port="7474",
    url_scheme="http",
...
}

Request Count

Request count représente le total de toutes les demandes reçues par l’orchestrateur.

NomDescriptionType
"http.server.request_count"Mesure le nombre total d’exécutions de toutes les requêtes de l’orchestrateur.Int64Counter (Monotonique)

Attributs :

  • status_code État de la réponse HTTP (int)

Par exemple :

{
    __name__="http_server_request_count",
    ...,
    service_name="io.strata.maverics",
    service_version="0.18.14",
    ...,
    http_request_method="GET",
    server_address="maverics.sonarsystems.com",
    server_port="7474",
    url_scheme="http",
...
}

Session Count

La métrique Session Count de l’orchestrateur affiche le nombre de sessions connues.

NomDescriptionType
"io.strata.maverics.sessions"Indique le nombre de sessions connues.UpDownCounter (non-monotonique)

Par exemple :

{
    __name__="io_strata_maverics_sessions",
    ...,
    service_name="io.strata.maverics",
    service_version="0.18.14",
...
}
ℹ️
Les sessions ne sont supprimées de ce décompte que lorsqu’un utilisateur dont la session a expiré tente d’accéder à une URL protégée.

Métriques OTLP

L’orchestrateur utilise également des métriques intégrées qui sont définies dans le protocole OTLP.

Pour accéder à la documentation du protocole OTLP sur la sémantique de ces métriques, veuillez consulter le référentiel OpenTelemetry.

Pour des informations plus complètes sur chacune de ces métriques, veuillez consulter la documentation relative aux les métriques du protocole OTLP.

Métriques d’exécution

NomTypeDescription
runtime.uptime(ms)Durée en millisecondes écoulée depuis l’initialisation de l’application
process.runtime.go.cgo.calls-Nombre d’appels de cgo effectués par le processus en cours
process.runtime.go.gc.count-Nombre de cycles de nettoyage des informations parasites (GC, Garbage Collection) terminés
process.runtime.go.gc.pause_ns(ns)Durée en nanosecondes des pauses « stop-the-world » du processus GC (Garbage Collection)
process.runtime.go.gc.pause_total_ns(ns)Durée cumulée en nanosecondes des pauses « stop-the-world » du processus GC depuis le début du programme
process.runtime.go.goroutines-Nombre de Goroutines existantes
process.runtime.go.lookups-Nombre de recherches de pointeurs effectuées par le moteur d’exécution
process.runtime.go.mem.heap_alloc(octets)Volume en octets des objets du tas alloués
process.runtime.go.mem.heap_idle(octets)Volume en octets dans les plages inactives (inutilisées)
process.runtime.go.mem.heap_inuse(octets)Volume en octets dans les plages actives
process.runtime.go.mem.heap_objects-Nombre d’objets du tas alloués
process.runtime.go.mem.heap_released(octets)Volume en octets des plages inactives dont la mémoire physique a été restituée au système d’exploitation
process.runtime.go.mem.heap_sys(octets)Volum en octets de la mémoire vive obtenue auprès du système d’exploitation
process.runtime.go.mem.live_objects-Le nombre d’objets vivants correspond au nombre cumulatif de Mallocs - Frees
ℹ️
Le suivi de la métrique runtime.uptime est le meilleur moyen de s’assurer que votre orchestrateur est opérationnel. Pendant que l’orchestrateur est opérationnel, la valeur doit augmenter continuellement.

Métriques de l’hôte

ℹ️
Ces métriques ne sont transmises que sur les systèmes Linux et Windows.
NomValeur
process.cpu.timeétat = utilisateur ou système
system.cpu.timeétat = utilisateur ou système ou autre ou inactif
system.memory.usageétat = utilisé ou disponible
system.memory.utilizationétat = utilisé ou disponible
system.network.iodirection = émission ou réception

Métriques HTTP

Les métriques HTTP suivantes sont collectées et émises par l’orchestrateur :

NomTypeDescription
http.server.request_count-Nombre de demandes observées par l’orchestrateur
http.server.duration(ms)Latence de l’orchestrateur sous forme d’histogramme

Attributs des ressources partagées

Pour chaque métrique ci-dessus, l’orchestrateur ajoute également les attributs de ressources partagées suivants :

NomValeur
service_name"io.strata.maverics" (toujours)
service_versionVersion de l’orchestrateur (SemVer, par exemple 0.9.16)
service_instance_idUUID de chaque instance de l’orchestrateur en cours d’exécution. Réinitialise au démarrage.
os_typeType de système d’exploitation sous lequel fonctionne l’orchestrateur (linux, windows ou darwin)
os_descriptionDescription plus détaillée du type de système d’exploitation. Peut inclure la version du système d’exploitation et des informations sur la compilation.
host_nameNom de l’hôte exécutant l’orchestrateur
process_executable_nameNom du programme exécutable en ligne de commande utilisé pour démarrer l’orchestrateur
process_executable_pathNom complet du chemin d’accès au programme exécutable de l’orchestrateur en cours d’exécution
process_command_argsArguments de ligne de commande utilisés pour démarrer l’orchestrateur
process_ownerUtilisateur du système d’exploitation ayant démarré l’orchestrateur
process_pidIdentifiant du processus du système d’exploitation de l’orchestrateur
process_runtime_name"go" (toujours)
process_runtime_versionVersion de GoLang utilisée pour compiler l’orchestrateur (par exemple, « go1.19 »)
process_runtime_descriptionInformations détaillées concernant la version de Go exécutant l’orchestrateur

Par exemple, une métrique complète moteur runtime.uptime comportant des attributs de ressources peut ressembler à ce qui suit :

runtime_uptime{
    container_id="45d64ce11347",
    exported_job="io.strata.maverics",
    host_name="localhost.localdomain",
    instance="otelcol:9464",
    job="otel",
    os_description="Fedora Linux 35 (Workstation Edition) (Linux localhost.localdomain 5.17.7-200.fc35.x86_64 #1 SMP PREEMPT Thu May 12 14:56:48 UTC 2022 x86_64)",
    os_type="linux",
    process_command_args="["bin/maverics_linux_amd64","-v","-config","../maverics.yaml"]",
    process_executable_name="maverics_linux_amd64",
    process_executable_path="/etc/bin/maverics_linux_amd64",
    process_owner="user1",
    process_pid="12345",
    process_runtime_description="go version go1.19 linux/amd64",
    process_runtime_name="go",
    process_runtime_version="go1.19",
    service_instance_id="e83daeb0-0dee-4d80-a3f6-5f9d4cb9ff3",
    service_name="io.strata.maverics",
    service_version="0.20.4"
}, 123456