La CustomResourceDefinition (CRD) Telemetry définit et configure les politiques et comportements liés à l'observation et à la collecte de données dans une instance Service Mesh (ASM). Elle permet de gérer les fonctionnalités de télémétrie fournies par Istio avec un niveau de granularité élevé, notamment pour la journalisation, les métriques et le traçage. Grâce à la CRD Telemetry, personnalisez et ajustez les méthodes de collecte et de traitement des données de télémétrie selon vos besoins métier. Cette rubrique explique comment configurer une CRD Telemetry et décrit les champs associés.
Exemples de configuration
Istio prend en charge les configurations d'observabilité à trois niveaux différents, qui correspondent aux configurations suivantes dans la console ASM :
Configurations globales (l'onglet Global dans la console ASM)
Configurations spécifiques à un namespace (l'onglet Namespace dans la console ASM)
Configurations spécifiques à une charge de travail (l'onglet Custom dans la console ASM)
Les exemples de fichiers YAML Telemetry ci-dessous illustrent la configuration de l'observabilité à différents niveaux :
Configurations globales
Configurations spécifiques à un namespace
Configurations spécifiques à une charge de travail
Description des champs
Telemetry
|
Champ |
Type |
Requis |
Description |
|
selector |
Non |
Désigne les charges de travail pour lesquelles la politique Telemetry doit être configurée. |
|
|
tracing |
Tracing[] |
Non |
Définit le comportement de traçage pour toutes les charges de travail sélectionnées. |
|
metrics |
Metrics[] |
Non |
Définit le comportement des métriques pour toutes les charges de travail sélectionnées. |
|
accessLogging |
Non |
Définit le comportement de journalisation des accès pour toutes les charges de travail sélectionnées. |
Tracing
|
Champ |
Type |
Requis |
Description |
|
randomSamplingPercentage |
double |
Non |
Indique le taux de trafic sélectionné pour le traçage. La valeur 0 signifie qu'aucun échantillonnage n'est effectué. |
|
customTags |
map<string, CustomTag> |
Non |
Ajoute des tags personnalisés supplémentaires aux spans de trace générées. |
Metrics
|
Champ |
Type |
Requis |
Description |
|
overrides |
Non |
Définit la méthode de génération personnalisée et l'affichage pour une métrique spécifique ou pour toutes les métriques standard prédéfinies. |
|
|
providers |
Non |
Désigne les fournisseurs auxquels la configuration s'applique. La valeur doit être définie sur prometheus. |
AccessLogging
|
Champ |
Type |
Requis |
Description |
|
disabled |
bool |
Non |
Définit le comportement de journalisation. |
|
providers |
Non |
Désigne les fournisseurs auxquels la configuration s'applique. La valeur doit être définie sur envoy. |
WorkloadSelector
|
Champ |
Type |
Requis |
Description |
|
matchLabels |
map<string, string> |
Non |
Désigne un ou plusieurs libellés indiquant l'ensemble des pods ou des machines virtuelles (VM) auxquels la politique s'applique. La portée de la recherche de libellés est limitée au namespace de configuration dans lequel la ressource se trouve. |
CustomTag
|
Champ |
Type |
Requis |
Description |
|
literal |
Non |
Ajoute la même valeur codée en dur à chaque span. |
|
|
environment |
Non |
Ajoute la valeur d'une variable d'environnement à chaque span. |
|
|
header |
Non |
Ajoute la valeur d'un en-tête de la requête à chaque span. |
MetricsOverrides
|
Champ |
Type |
Requis |
Description |
|
match |
Non |
Fait correspondre les métriques à remplacer. Ajoutez et configurez toutes les métriques client et serveur. |
|
|
disabled |
bool |
Non |
Indique s'il faut désactiver le rapport de métriques. Si ce paramètre est défini sur true, le rapport de métriques est désactivé. |
|
tagOverrides |
map<string, MetricsOverrides> |
Non |
Désigne les noms de tags et expressions de tag à remplacer dans la métrique sélectionnée. |
MetricSelector
|
Champ |
Type |
Requis |
Description |
|
metric |
Non |
Désigne une métrique. |
|
|
mode |
Non |
Définit le mode de génération des métriques. Valeurs valides : CLIENT et SERVER. |
ProviderRef
|
Champ |
Type |
Requis |
Description |
|
name |
string |
Oui |
Désigne le nom du fournisseur Telemetry dans MeshConfig. |
Tracing.Literal
|
Champ |
Type |
Requis |
Description |
|
value |
string |
Oui |
Valeur du tag à utiliser. |
Tracing.Environment
|
Champ |
Type |
Requis |
Description |
|
name |
string |
Oui |
Désigne le nom de la variable d'environnement à partir de laquelle la valeur du tag est extraite. |
|
defaultValue |
string |
Non |
Définit la valeur par défaut utilisée si la variable d'environnement est introuvable. |
Tracing.RequestHeader
|
Champ |
Type |
Requis |
Description |
|
name |
string |
Oui |
Désigne le nom de l'en-tête à partir duquel la valeur du tag est extraite. |
|
defaultValue |
string |
Non |
Définit la valeur par défaut utilisée si l'en-tête est introuvable. |
MetricsOverrides.TagOverride
|
Champ |
Type |
Requis |
Description |
|
operation |
Non |
Indique s'il faut mettre à jour, ajouter ou supprimer un tag. |
|
|
value |
string |
Non |
Définit la valeur du tag, utilisée uniquement lorsque |
MetricSelector.IstioMetric
|
Nom |
Description |
|
REQUEST_COUNT |
Compteur de requêtes HTTP, HTTP/2 et gRPC vers ou depuis une application |
|
REQUEST_DURATION |
Durée des requêtes HTTP, HTTP/2 et gRPC |
|
REQUEST_SIZE |
Taille du corps des requêtes HTTP, HTTP/2 et gRPC |
|
RESPONSE_SIZE |
Taille du corps des réponses HTTP, HTTP/2 et gRPC |
|
TCP_OPENED_CONNECTIONS |
Compteur de connexions TCP ouvertes pendant la durée de vie d'une charge de travail |
|
TCP_CLOSED_CONNECTIONS |
Compteur de connexions TCP fermées pendant la durée de vie d'une charge de travail |
|
TCP_SENT_BYTES |
Compteur d'octets envoyés lors d'une réponse sur une connexion TCP |
|
TCP_RECEIVED_BYTES |
Compteur d'octets reçus lors d'une réponse sur une connexion TCP |
|
GRPC_REQUEST_MESSAGES |
Compteur de messages gRPC envoyés depuis un client |
|
GRPC_RESPONSE_MESSAGES |
Compteur de messages gRPC envoyés depuis un serveur |
MetricsOverrides.TagOverride.Operation
|
Nom |
Description |
|
UPSERT |
Indique que le tag doit être inséré ou mis à jour. |
|
REMOVE |
Indique que le tag ne doit pas être inclus dans la métrique lors de sa génération. |
WorkloadMode
|
Nom |
Description |
|
CLIENT |
Sélectionnez cette valeur lorsque la charge de travail est la source du trafic réseau. |
|
SERVER |
Sélectionnez cette valeur lorsque la charge de travail est la destination du trafic réseau. |
Précautions
En principe, les champs non décrits dans cette rubrique sont compatibles entre ASM et la version correspondante d'Istio. La console ASM ne prend pas en charge la modification de ces champs. Pour les utiliser, mettez-les à jour directement dans la ressource personnalisée (CR) Telemetry correspondante à l'aide de kubectl ou d'autres méthodes. Pour plus d'informations sur les champs de la CRD Telemetry, consultez Telemetry.