Ajoutez des exportateurs et des pipelines à votre déploiement de routeur de télémétrie
Remarque
- Le routeur de télémétrie est disponible en préversion publique et doit être déployé uniquement à des fins de test.
- Bien que le routeur de télémétrie soit disponible en préversion publique, sachez que les futures préversions peuvent inclure des modifications apportées aux spécifications CRD, aux commandes CLI et/ou aux messages du routeur de télémétrie.
- La préversion actuelle ne prend pas en charge les mises à niveau sur place d’un contrôleur de données déployé avec le routeur de télémétrie Arc activé. Pour installer ou mettre à niveau un contrôleur de données dans une version ultérieure, vous devez désinstaller le contrôleur de données, puis le réinstaller.
Que sont les exportateurs et les pipelines ?
Les exportateurs et pipelines sont deux des principaux composants du routeur de télémétrie. Les exportateurs décrivent comment envoyer des données à un système de destination tel que Kafka. Lorsque vous créez un exportateur, vous l’associez à un pipeline pour acheminer ce type de données de télémétrie vers cette destination. Vous pouvez avoir plusieurs exportateurs pour chaque pipeline.
Cet article fournit des exemples de la façon dont vous pouvez configurer vos propres exportateurs et pipelines pour acheminer les données de télémétrie de surveillance vers votre propre exportateur pris en charge.
Exportateurs pris en charge
Exportateur | Types de pipelines pris en charge |
---|---|
Kafka | journaux, métriques |
Elasticsearch | logs |
Configurations
Toutes les configurations sont spécifiées par le biais de la spécification de ressource personnalisée du routeur de télémétrie et prennent en charge la configuration des exportateurs et des pipelines.
Exportateurs
Pour la préversion publique, les exportateurs sont partiellement configurables et prennent en charge les solutions suivantes :
Exportateur | Types de télémétries pris en charge |
---|---|
Kafka | journaux, métriques |
Elasticsearch | logs |
Les propriétés suivantes sont actuellement configurables pendant la préversion publique :
Paramètres généraux de l’exportateur
Setting | Description |
---|---|
certificateName | Certificat client afin d’exporter vers la solution de supervision |
caCertificateName | Certificat de l’autorité de certification du cluster ou certificat fourni par le client pour l’exportateur |
Paramètres de l’exportateur Kafka
Setting | Description |
---|---|
topic | Nom de la rubrique à exporter |
brokers | Liste des répartiteurs à connecter |
encodage | Encodage des données de télémétrie : otlp_json ou otlp_proto |
Paramètres de l’exportateur Elasticsearch
Setting | Description |
---|---|
index | Ce paramètre peut être le nom d’un index ou le nom de flux de données pour publier des événements |
endpoint | Point de terminaison de Elasticsearch vers lequel exporter |
Pipelines
Le routeur de télémétrie prend en charge les journaux et les pipelines de métriques. Ces pipelines sont exposés dans la spécification de ressource personnalisée du routeur de télémétrie avec Arc et disponibles pour modification.
Vous ne pouvez pas supprimer le dernier pipeline du routeur de télémétrie. Si vous appliquez un fichier yaml qui supprime le dernier pipeline, le service rejette la mise à jour.
Paramètres du pipeline
Setting | Description |
---|---|
logs | Peut uniquement déclarer de nouveaux pipelines de journaux |
Mesures | Peut uniquement déclarer de nouveaux pipelines de métriques |
exporters | Liste des exportateurs. Il peut s’agir de plusieurs exportateurs du même type |
Informations d'identification
Paramètres des informations d’identification
Setting | Description |
---|---|
certificateName | Le nom du certificat doit correspondre au nom de certificat spécifié dans la déclaration de l’exportateur |
secretName | Nom du secret fourni via Kubernetes |
secretNamespace | Espace de noms avec secret fourni via Kubernetes |
Exemple de spécification TelemetryRouter
apiVersion: arcdata.microsoft.com/v1beta4
kind: TelemetryRouter
metadata:
name: arc-telemetry-router
namespace: <namespace>
spec:
credentials:
certificates:
- certificateName: arcdata-elasticsearch-exporter
- certificateName: cluster-ca-certificate
exporters:
elasticsearch:
- caCertificateName: cluster-ca-certificate
certificateName: arcdata-elasticsearch-exporter
endpoint: https://logsdb-svc:9200
index: logstash-otel
name: arcdata
pipelines:
logs:
exporters:
- elasticsearch/arcdata
Exemple 1 : ajout d’un exportateur Kafka pour un pipeline de métriques
Vous pouvez tester la création d’un exportateur Kafka pour un pipeline de métriques qui peut envoyer des données de métriques à votre propre instance de Kafka. Vous devez préfixer le nom de votre pipeline de métriques avec kafka/
. Vous pouvez avoir une instance sans nom pour chaque type de télémétrie. Par exemple, « kafka » est un nom valide pour un pipeline de métriques.
- Fournissez vos certificats client et d’autorité de certification dans la section
credentials
via les secrets Kubernetes - Déclarez le nouvel exportateur dans la section
exporters
avec les paramètres nécessaires : nom, certificats, répartiteur et index. Veillez à répertorier le nouvel exportateur sous le type applicable (« kakfa: ») - Répertoriez votre exportateur dans la section
pipelines
de la spécification en tant que pipeline de métriques. Le nom de l’exportateur doit être précédé du type d’exportateur. Par exemple,kafka/myMetrics
Dans cet exemple, nous avons ajouté un pipeline de métriques appelé « métriques » avec un seul exportateur (kafka/myMetrics
) qui achemine vers votre instance de Kafka.
arc-telemetry-router.yaml
apiVersion: arcdata.microsoft.com/v1beta4
kind: TelemetryRouter
metadata:
name: arc-telemetry-router
namespace: <namespace>
spec:
credentials:
certificates:
# Step 1. Provide your client and ca certificates through Kubernetes secrets
# where the name of the secret and its namespace are specified.
- certificateName: <kafka-client-certificate-name>
secretName: <name_of_secret>
secretNamespace: <namespace_with_secret>
- certificateName: <ca-certificate-name>
secretName: <name_of_secret>
secretNamespace: <namespace_with_secret>
exporters:
kafka:
# Step 2. Declare your Kafka exporter with the needed settings
# (name, certificates, endpoint, and index to export to)
- name: myMetrics
# Provide your client and CA certificate names
# for the exporter as well as any additional settings needed
caCertificateName: <ca-certificate-name>
certificateName: <kafka-client-certificate-name>
broker: <kafka_broker>
# Index can be the name of an index or datastream name to publish events to
index: <kafka_index>
pipelines:
metrics:
exporters:
# Step 3. Assign your kafka exporter to the list
# of exporters for the metrics pipeline.
- kafka/myMetrics
kubectl apply -f arc-telemetry-router.yaml -n <namespace>
Vous avez ajouté un pipeline de métriques qui exporte vers votre instance de Kafka. Une fois que vous avez appliqué les modifications au fichier yaml, la ressource personnalisée TelemetryRouter entre dans un état de mise à jour, et le service collecteur redémarre.
Exemple 2 : ajout d’un exportateur Elasticsearch pour un pipeline de journaux
Votre déploiement de routeur de télémétrie peut exporter vers plusieurs destinations en configurant davantage d’exportateurs. Plusieurs types d’exportateurs sont pris en charge sur un déploiement de routeur de télémétrie donné. Cet exemple illustre l’ajout d’un exportateur Elasticsearch en tant que deuxième exportateur. Nous activons ce deuxième exportateur en l’ajoutant à un pipeline de journaux.
- Fournissez vos certificats client et d’autorité de certification dans la section
credentials
via les secrets Kubernetes - Déclarez le nouvel exportateur sous la section
exporters
avec les paramètres nécessaires : nom, certificats, point de terminaison et index. Veillez à répertorier le nouvel exportateur sous le type applicable (« Elasticsearch: »). - Répertoriez votre exportateur dans la section
pipelines
de la spécification en tant que pipeline de journaux. Le nom de l’exportateur doit être précédé du type d’exportateur. Par exemple,elasticsearch/myLogs
Cet exemple s’appuie sur l’exemple précédent en ajoutant un pipeline de journaux pour un exportateur Elasticsearch (elasticsearch/myLogs
). À la fin de l’exemple, nous avons deux exportateurs avec chaque exportateur ajouté à un pipeline différent.
arc-telemetry-router.yaml
apiVersion: arcdata.microsoft.com/v1beta4
kind: TelemetryRouter
metadata:
name: arc-telemetry-router
namespace: <namespace>
spec:
credentials:
certificates:
# Step 1. Provide your client and ca certificates through Kubernetes secrets
# where the name of the secret and its namespace are specified.
- certificateName: <elasticsearch-client-certificate-name>
secretName: <name_of_secret>
secretNamespace: <namespace_with_secret>
- certificateName: <kafka-client-certificate-name>
secretName: <name_of_secret>
secretNamespace: <namespace_with_secret>
- certificateName: <ca-certificate-name>
secretName: <name_of_secret>
secretNamespace: <namespace_with_secret>
exporters:
Elasticsearch:
# Step 2. Declare your Elasticsearch exporter with the needed settings
# (certificates, endpoint, and index to export to)
- name: myLogs
# Provide your client and CA certificate names
# for the exporter as well as any additional settings needed
caCertificateName: <ca-certificate-name>
certificateName: <elasticsearch-client-certificate-name>
endpoint: <elasticsearch_endpoint>
# Index can be the name of an index or datastream name to publish events to
index: <elasticsearch_index>
kafka:
- name: myMetrics
caCertificateName: <ca-certificate-name>
certificateName: <kafka-client-certificate-name>
broker: <kafka_broker>
index: <kafka_index>
pipelines:
logs:
exporters:
# Step 3. Add your Elasticsearch exporter to
# the exporters list of a logs pipeline.
- elasticsearch/myLogs
metrics:
exporters:
- kafka/myMetrics
kubectl apply -f arc-telemetry-router.yaml -n <namespace>
Vous disposez maintenant des exportateurs Kafka et Elasticsearch, ajoutés aux pipelines de métriques et de journaux. Une fois les modifications appliquées au fichier yaml, la ressource personnalisée TelemetryRouter entre dans un état de mise à jour, et le service collecteur redémarre.