Sdílet prostřednictvím


Přidání exportérů a kanálů do nasazení směrovače telemetrie

Poznámka:

  • Směrovač telemetrie je ve verzi Public Preview a měl by být nasazen pouze pro účely testování.
  • Přestože je směrovač telemetrie ve verzi Public Preview, doporučujeme, aby budoucí verze Preview mohly zahrnovat změny specifikací CRD, příkazů rozhraní příkazového řádku nebo zpráv směrovače telemetrie.
  • Aktuální verze Preview nepodporuje místní upgrady kontroleru dat nasazeného s povoleným směrovačem telemetrie Arc. Pokud chcete nainstalovat nebo upgradovat kontroler dat v budoucí verzi, budete muset správce dat odinstalovat a pak znovu nainstalovat.

Co jsou exportéry a kanály?

Exportéry a kanály jsou dvě z hlavních součástí směrovače telemetrie. Exportéři popisují, jak odesílat data do cílového systému, jako je Kafka. Při vytváření vývozce ho přidružíte ke kanálu, abyste tento typ telemetrických dat směrovali do tohoto cíle. Pro každý kanál můžete mít více exportérů.

Tento článek obsahuje příklady, jak můžete nastavit vlastní exportéry a kanály pro směrování telemetrických dat monitorování do vašeho vlastního podporovaného vývozce.

Podporované vývozce

Vývozce Podporované typy kanálů
Kafka protokoly, metriky
Elasticsearch Protokoly

Konfigurace

Všechny konfigurace se zadají prostřednictvím specifikace vlastních prostředků směrovače telemetrie a podporují konfiguraci exportérů a kanálů.

Vývozci

Ve verzi Public Preview jsou exportéři částečně konfigurovatelné a podporují následující řešení:

Vývozce Podporované typy telemetrie
Kafka protokoly, metriky
Elasticsearch Protokoly

Během verze Public Preview se v současné době dají konfigurovat následující vlastnosti:

Obecný vývozce Nastavení

Nastavení Popis
certificateName Klientský certifikát pro export do řešení monitorování
caCertificateName Certifikační autorita clusteru nebo certifikát poskytnutý zákazníkem pro vývozce

Nastavení vývozce Kafka

Nastavení Popis
topic Název tématu pro export
Makléři Seznam zprostředkovatelů pro připojení
encoding Kódování telemetrie: otlp_json nebo otlp_proto

Nastavení exportéru Elasticsearch

Nastavení Popis
index Toto nastavení může být název indexu nebo názvu datového streamu pro publikování událostí.
endpoint Koncový bod Elasticsearch pro export do

Pipelines

Směrovač telemetrie podporuje protokoly a kanály metrik. Tyto kanály jsou zpřístupněny ve specifikaci vlastních prostředků směrovače telemetrie Arc a jsou k dispozici pro úpravy.

Z směrovače telemetrie nemůžete odebrat poslední kanál. Pokud použijete soubor yaml, který odebere poslední kanál, služba aktualizaci odmítne.

Nastavení kanálu

Nastavení Popis
Protokoly Může deklarovat pouze nové kanály protokolů.
metriky Může deklarovat pouze nové kanály metrik.
Vývozci Seznam vývozců. Může být více stejného typu.

Přihlašovací údaje

Nastavení přihlašovacích údajů

Nastavení Popis
certificateName Název osvědčení musí odpovídat názvu osvědčení uvedenému v prohlášení vývozce.
secretName Název tajného kódu poskytnutého prostřednictvím Kubernetes
secretNamespace Obor názvů s tajným kódem poskytovaným prostřednictvím Kubernetes

Příklad specifikace 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

Příklad 1: Přidání vývozce Kafka pro kanál metrik

Můžete otestovat vytvoření exportéru Kafka pro kanál metrik, který může odesílat data metrik do vaší vlastní instance Kafka. Potřebujete předponu názvu kanálu metrik pomocí kafka/parametru . Pro každý typ telemetrie můžete mít jednu nepojmenovanou instanci. Například "kafka" je platný název kanálu metrik.

  1. Poskytnutí certifikátů klienta a certifikační autority credentials v části prostřednictvím tajných kódů Kubernetes
  2. Deklarujte nový exportér v exporters části s potřebnými nastaveními – název, certifikáty, zprostředkovatel a index. Nezapomeňte uvést nového vývozce podle příslušného typu ("kakfa:")
  3. Uveďte vývozce v pipelines části specifikace jako kanál metrik. Název vývozce musí být předponou typu vývozce. Například kafka/myMetrics

V tomto příkladu jsme přidali kanál metrik s názvem "metrics" s jedním vývozcem (kafka/myMetrics), který směruje do vaší instance 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>

Přidali jste kanál metrik, který exportuje do vaší instance Kafka. Po použití změn v souboru yaml přejde vlastní prostředek TelemetryRouter do stavu aktualizace a služba kolektoru se restartuje.

Příklad 2: Přidání exportéru Elasticsearch pro kanál protokolů

Nasazení směrovače telemetrie může exportovat do více cílů konfigurací dalších exportérů. V daném nasazení směrovače telemetrie se podporuje více typů exportérů. Tento příklad ukazuje přidání vývozce Elasticsearch jako druhého vývozce. Tento druhý exportér aktivujeme tak, že ho přidáme do kanálu protokolů.

  1. Poskytnutí certifikátů klienta a certifikační autority credentials v části prostřednictvím tajných kódů Kubernetes
  2. Deklarujte nový exportér pod exporters částí s potřebnými nastaveními – název, certifikáty, koncový bod a index. Nezapomeňte uvést nového vývozce podle příslušného typu ("Elasticsearch:").
  3. Uveďte vývozce v pipelines části specifikace jako kanál protokolů. Název vývozce musí být předponou typu vývozce. Například elasticsearch/myLogs

Tento příklad vychází z předchozího příkladu přidáním kanálu protokolů pro vývozce Elasticsearch (elasticsearch/myLogs). Na konci příkladu máme dva vývozce s každým vývozcem přidaným do jiného kanálu.

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>

Teď máte exportéry Kafka a Elasticsearch přidané do kanálů metrik a protokolů. Po použití změn v souboru yaml přejde vlastní prostředek TelemetryRouter do stavu aktualizace a služba kolektoru se restartuje.