Delen via


Exporteurs en pijplijnen toevoegen aan de implementatie van uw telemetrierouter

Notitie

  • De telemetrierouter bevindt zich in openbare preview en moet alleen worden geïmplementeerd voor testdoeleinden.
  • Hoewel de telemetrierouter in openbare preview is, moet u er rekening mee houden dat toekomstige preview-releases wijzigingen kunnen bevatten in CRD-specificaties, CLI-opdrachten en/of telemetrierouterberichten.
  • De huidige preview biedt geen ondersteuning voor in-place upgrades van een gegevenscontroller die is geïmplementeerd met de Arc-telemetrierouter ingeschakeld. Als u een gegevenscontroller in een toekomstige release wilt installeren of upgraden, moet u de gegevenscontroller verwijderen en vervolgens opnieuw installeren.

Wat zijn exporteurs en pijplijnen?

Exporteurs en pijplijnen zijn twee van de belangrijkste onderdelen van de telemetrierouter. Exporteurs beschrijven hoe gegevens naar een doelsysteem, zoals Kafka, moeten worden verzonden. Wanneer u een exporteur maakt, koppelt u deze aan een pijplijn om dat type telemetriegegevens naar die bestemming te routeren. U kunt meerdere exporteurs voor elke pijplijn hebben.

Dit artikel bevat voorbeelden van hoe u uw eigen exporteurs en pijplijnen kunt instellen voor het routeren van bewaking van telemetriegegevens naar uw eigen ondersteunde exporteur.

Ondersteunde exporteurs

Exportfunctie Ondersteunde pijplijntypen
Kafka logboeken, metrische gegevens
Elasticsearch logboeken

Configuraties

Alle configuraties worden opgegeven via de aangepaste resourcespecificatie van de telemetrierouter en ondersteunen de configuratie van exporteurs en pijplijnen.

Exporteurs

Voor de openbare preview zijn exporteurs gedeeltelijk configureerbaar en ondersteunen ze de volgende oplossingen:

Exportfunctie Ondersteunde telemetrietypen
Kafka logboeken, metrische gegevens
Elasticsearch logboeken

De volgende eigenschappen kunnen momenteel worden geconfigureerd tijdens de openbare preview:

Algemene instellingen voor exporteurs

Instelling Beschrijving
certificateName Het clientcertificaat om te exporteren naar de bewakingsoplossing
caCertificateName Het certificaat van de certificeringsinstantie of het door de klant verstrekte certificaat voor de exporteur van het cluster

Instellingen voor Kafka-exporteurs

Instelling Beschrijving
onderwerp Naam van het te exporteren onderwerp
Makelaars Lijst met brokers om verbinding te maken met
codering Codering voor de telemetrie: otlp_json of otlp_proto

Instellingen voor Elasticsearch-exporteurs

Instelling Beschrijving
index Deze instelling kan de naam zijn van een index of datastream-naam voor het publiceren van gebeurtenissen
endpoint Eindpunt van elasticsearch om te exporteren naar

Pipelines

De telemetrierouter ondersteunt pijplijnen voor logboeken en metrische gegevens. Deze pijplijnen worden weergegeven in de aangepaste resourcespecificatie van de Arc-telemetrierouter en beschikbaar voor aanpassing.

U kunt de laatste pijplijn niet verwijderen uit de telemetrierouter. Als u een YAML-bestand toepast dat de laatste pijplijn verwijdert, weigert de service de update.

Pijplijninstellingen

Instelling Beschrijving
logboeken Kan alleen nieuwe logboekpijplijnen declareren
metrics Kan alleen nieuwe pijplijnen voor metrische gegevens declareren
Exporteurs Lijst met exporteurs. Kan meerdere van hetzelfde type zijn

Referentie

Instellingen voor referenties

Instelling Beschrijving
certificateName De naam van het certificaat moet overeenkomen met de certificaatnaam die is opgegeven in de declaratie van de exporteur
secretName Naam van het geheim dat is opgegeven via Kubernetes
secretNamespace Naamruimte met geheim dat is opgegeven via Kubernetes

Voorbeeld van TelemetryRouter-specificatie

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

Voorbeeld 1: Een Kafka-exporteur toevoegen voor een pijplijn voor metrische gegevens

U kunt testen hoe u een Kafka-exporteur maakt voor een pijplijn voor metrische gegevens waarmee metrische gegevens naar uw eigen exemplaar van Kafka kunnen worden verzonden. U moet de naam van uw pijplijn voor metrische gegevens vooraf laten gaan.kafka/ U kunt één niet-benoemd exemplaar hebben voor elk telemetrietype. 'kafka' is bijvoorbeeld een geldige naam voor een pijplijn voor metrische gegevens.

  1. Geef uw client- en CA-certificaten op in de credentials sectie via Kubernetes-geheimen
  2. Declareer de nieuwe exporteur in de exporters sectie met de benodigde instellingen: naam, certificaten, broker en index. Zorg ervoor dat u de nieuwe exporteur vermeldt onder het toepasselijke type ('kakfa:')
  3. Vermeld uw exporteur in de pipelines sectie van de specificatie als een pijplijn voor metrische gegevens. De naam van de exporteur moet worden voorafgegaan door het type exporteur. Bijvoorbeeld kafka/myMetrics

In dit voorbeeld hebben we een pijplijn voor metrische gegevens toegevoegd met de naam 'metrische gegevens' met één exporteur (kafka/myMetrics) die wordt gerouteerd naar uw exemplaar van 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>

U hebt een pijplijn voor metrische gegevens toegevoegd die naar uw exemplaar van Kafka exporteert. Nadat u de wijzigingen in het yaml-bestand hebt toegepast, wordt de aangepaste resource telemetryRouter bijgewerkt en wordt de collectorservice opnieuw opgestart.

Voorbeeld 2: Een Elasticsearch-exporteur toevoegen voor een logboekpijplijn

De implementatie van uw telemetrierouter kan exporteren naar meerdere bestemmingen door meer exporteurs te configureren. Meerdere soorten exporteurs worden ondersteund voor een bepaalde implementatie van telemetrierouters. In dit voorbeeld ziet u hoe u een Elasticsearch-exporteur toevoegt als een tweede exporteur. We activeren deze tweede exporteur door deze toe te voegen aan een logboekpijplijn.

  1. Geef uw client- en CA-certificaten op in de credentials sectie via Kubernetes-geheimen
  2. Declareer de nieuwe exporteur onder de exporters sectie met de benodigde instellingen: naam, certificaten, eindpunt en index. Zorg ervoor dat u de nieuwe exporteur vermeldt onder het toepasselijke type ('Elasticsearch:').
  3. Vermeld uw exporteur in de pipelines sectie van de specificatie als een logboekpijplijn. De naam van de exporteur moet worden voorafgegaan door het type exporteur. Bijvoorbeeld elasticsearch/myLogs

Dit voorbeeld is gebaseerd op het vorige voorbeeld door een logboekpijplijn toe te voegen voor een Elasticsearch-exporteur (elasticsearch/myLogs). Aan het einde van het voorbeeld hebben we twee exporteurs waarbij elke exporteur aan een andere pijplijn is toegevoegd.

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>

U hebt nu Kafka- en Elasticsearch-exporteurs, toegevoegd aan metrische gegevens en logboekpijplijnen. Nadat u de wijzigingen hebt toegepast op het yaml-bestand, wordt de aangepaste resource van TelemetryRouter bijgewerkt en wordt de collectorservice opnieuw opgestart.