Présentation du cadre de surveillance Milvus
Cette rubrique explique comment Milvus utilise Prometheus pour surveiller les métriques et Grafana pour visualiser les métriques et créer des alertes.
Prometheus dans Milvus
Prometheus est un kit d'outils de surveillance et d'alerte open-source pour les implémentations Kubernetes. Il collecte et stocke les métriques sous forme de données de séries temporelles. Cela signifie que les métriques sont stockées avec des horodatages lorsqu'elles sont enregistrées, ainsi qu'avec des paires clé-valeur facultatives appelées étiquettes.
Actuellement, Milvus utilise les composants suivants de Prometheus :
- Point d'extrémité Prometheus pour extraire les données des points d'extrémité définis par les exportateurs.
- L'opérateur Prometheus pour gérer efficacement les instances de surveillance Prometheus.
- Kube-prometheus pour fournir une surveillance de cluster Kubernetes de bout en bout facile à utiliser.
Noms des métriques
Un nom de métrique valide dans Prometheus contient trois éléments : l'espace de noms, le sous-système et le nom. Ces trois éléments sont reliés par "_".
L'espace de noms des métriques Milvus surveillées par Prometheus est "milvus". En fonction du rôle auquel appartient une mesure, son sous-système doit être l'un des huit rôles suivants : "rootcoord", "proxy", "querycoord", "querynode", "indexcoord", "indexnode", "datacoord", "datanode".
Par exemple, la métrique Milvus qui calcule le nombre total de vecteurs interrogés est appelée milvus_proxy_search_vectors_count
.
Types de métriques
Prometheus prend en charge quatre types de mesures :
- Compteur : un type de mesure cumulative dont la valeur ne peut qu'augmenter ou être remise à zéro au redémarrage.
- Jauge : un type de mesure dont la valeur peut augmenter ou diminuer.
- Histogramme : un type de mesures qui sont comptées sur la base d'ensembles configurables. Un exemple courant est la durée des requêtes.
- Résumé : type de mesure similaire à l'histogramme, qui calcule des quantiles configurables sur une fenêtre de temps glissante.
Étiquettes des métriques
Prometheus différencie les échantillons ayant le même nom de métrique en les étiquetant. Un label est un certain attribut d'une métrique. Les métriques portant le même nom doivent avoir la même valeur pour le champ variable_labels
. Le tableau suivant répertorie les noms et la signification des étiquettes courantes des mesures Milvus.
Nom de l'étiquette | Définition | Valeurs |
---|---|---|
"node_id | Identité unique d'un rôle. | Un identifiant unique global généré par milvus. |
"status" (statut) | Le statut d'une opération ou d'une demande traitée. | "abandon", "success" ou "fail". |
"query_type" (type de requête) | Le type d'une demande de lecture. | "search" ou "query". |
"msg_type" | Le type de messages. | "insert", "delete", "search" ou "query". |
"segment_state | L'état d'un segment. | "Sealed", "Growing", "Flushed", "Flushing", "Dropped", ou "Importing". |
"cache_state" | État d'un objet mis en cache. | "hit" ou "miss". |
"cache_name" | Le nom d'un objet mis en cache. Cette étiquette est utilisée avec l'étiquette "cache_state". | Par exemple, "CollectionID", "Schema", etc. |
"channel_name" (nom du canal) | Sujets physiques dans le stockage des messages (Pulsar ou Kafka). | Par exemple, "by-dev-rootcoord-dml_0", "by-dev-rootcoord-dml_255", etc. |
"nom_de_la_fonction | Le nom d'une fonction qui traite certaines demandes. | Par exemple, "CreateCollection", "CreatePartition", "CreateIndex", etc. |
"user_name" (nom d'utilisateur) | Le nom d'utilisateur utilisé pour l'authentification. | Un nom d'utilisateur de votre choix. |
"index_task_status | Le statut d'une tâche d'indexation dans le méta-stockage. | "unissued", "in-progress", "failed", "finished", ou "recycled". |
Grafana dans Milvus
Grafana est une pile de visualisation open-source qui peut se connecter à toutes les sources de données. En remontant des métriques, il aide les utilisateurs à comprendre, analyser et surveiller des données massives.
Milvus utilise les tableaux de bord personnalisables de Grafana pour la visualisation des mesures.
Prochaines étapes
Après avoir découvert le flux de travail de base de la surveillance et de l'alerte, apprenez :