Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Integra Amazon MSK
Con un collettore Prometheus CloudWatch gestito da Amazon, puoi scoprire e raccogliere automaticamente le metriche dai tuoi cluster Amazon MSK. Prometheus Quando abiliti Open Monitoring sul tuo cluster Amazon MSK, espone le Prometheus metriche tramite Java Management Extensions (JMX) Exporter e Node Exporter. Il raccoglitore gestito si connette al tuo VPC e raccoglie queste metriche da tutti i broker utilizzando Service Discovery e le fornisce direttamente a. DNS-based CloudWatch Con questa integrazione, puoi monitorare le metriche a livello di host, le metriche e le metriche dei broker JVM-level Kafka senza implementare alcun agente. CloudWatch
Nota
Quando un collettore Prometheus CloudWatch gestito da Amazon invia le tue metriche Amazon MSK a, arricchisce automaticamente ogni metrica con attributi che ne identificano l'origine. CloudWatch Ogni metrica include l'ambito della strumentazione del raccoglitore, gli attributi cloud che registrano l' AWS account e la regione e un'unità che il raccoglitore deduce dal nome della metrica. Puoi filtrare e raggruppare questi attributi quando interroghi le tue metriche con ProMQL.
Prerequisiti
Questa procedura presuppone la familiarità con l'amministrazione dei cluster Amazon MSK e i concetti di rete Amazon VPC.
-
Cluster Amazon MSK in modalità provisioning, con broker standard o express. I raccoglitori gestiti non supportano Amazon MSK Serverless.
-
Open Monitoring abilitato nel cluster. Per ulteriori informazioni, consulta Open Monitoring with Prometheus nella Amazon MSK Developer Guide.
-
Almeno due sottoreti in diverse zone di disponibilità
-
Gruppo di sicurezza che consente al raccoglitore di raggiungere le porte del broker 11001 e 11002
Passaggio 1: abilitare Open Monitoring
Abilita Open Monitoring sul tuo cluster Amazon MSK per esporre Prometheus le metriche. Per istruzioni su come abilitare Open Monitoring, consulta Open Monitoring with Prometheus nella Amazon MSK Developer Guide.
aws kafka update-monitoring \ --cluster-arn "arn:aws:kafka:us-west-2:123456789012:cluster/my-cluster/abc123-def456" \ --current-version "K1A2B3C4D5" \ --open-monitoring '{ "Prometheus": { "JmxExporter": {"EnabledInBroker": true}, "NodeExporter": {"EnabledInBroker": true} } }'
Nota
Il --open-monitoring parametro da solo espone gli Prometheus endpoint sulle porte 11001 e 11002. I livelli di monitoraggio avanzati, ad esempio, PER_TOPIC_PER_PARTITION sono separati da Open Monitoring e possono comportare costi aggiuntivi, quindi impostali solo se hai bisogno di quel livello di metriche Amazon MSK.
Passaggio 2: ottieni il nome DNS del tuo cluster
Amazon MSK fornisce un nome DNS a livello di cluster che si risolve in tutti gli IP dei broker. Il suo utilizzo per l'individuazione dei servizi rende il monitoraggio resiliente alla sostituzione dei broker e alla scalabilità del cluster.
Ottieni il nome DNS del tuo cluster (rimuovi il prefisso specifico del broker come o): b-1. b-2.
aws kafka get-bootstrap-brokers --cluster-arn "arn:aws:kafka:us-west-2:123456789012:cluster/my-cluster/abc123-def456"
Ad esempio, se il broker bootstrap ritornab-1.my-cluster.abc123.c4.kafka.us-west-2.amazonaws.com, utilizza my-cluster.abc123.c4.kafka.us-west-2.amazonaws.com come nome DNS del cluster.
Passaggio 3: configura scrape config
Di seguito è riportato un esempio di configurazione scrape per Amazon MSK. Fai riferimento a questa configurazione quando crei lo scraper nel passaggio successivo. Per ulteriori informazioni sulle opzioni di configurazione, vedereConfigurazione dello scraper.
global: scrape_interval: 60s external_labels: cluster_name:my-msk-clusterscrape_configs: - job_name: 'msk-jmx' dns_sd_configs: - names: -my-cluster---abc123---c4---kafka---us-west-2.amazonaws.com.rproxy.goskope.comtype: A port: 11001 relabel_configs: - source_labels: [__meta_dns_name] target_label: broker_dns - source_labels: [__address__] target_label: instance - target_label: compute_platform replacement: 'msk' - job_name: 'msk-node' dns_sd_configs: - names: -my-cluster---abc123---c4---kafka---us-west-2.amazonaws.com.rproxy.goskope.comtype: A port: 11002 relabel_configs: - source_labels: [__meta_dns_name] target_label: broker_dns - source_labels: [__address__] target_label: instance - target_label: compute_platform replacement: 'msk'
Fase 4: Creare il raschietto
Crea lo scraper con una CloudWatch destinazione, utilizzando la configurazione di scrape per i tuoi broker Amazon MSK descritta nel passaggio precedente.
Metriche disponibili
-
JMX Exporter (porta 11001): funzionalità interne del broker Kafka, tra cui metriche relative agli argomenti, metriche delle partizioni, tassi di richiesta, ritardo degli utenti e partizioni non replicate.
-
Node Exporter (porta 11002): metriche che includono CPU, memoria, disco e throughput di rete. Host-level I/O
Per un elenco completo delle metriche disponibili, consulta le metriche MSK raccolte dai raccoglitori gestiti nella Guida per l'utente di Amazon Managed Service for Prometheus.
Convalida la raccolta delle metriche
Per confermare che il raccoglitore stia fornendo le metriche JMX e Node Exporter, esegui le seguenti query con Query Studio. CloudWatch https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-PromQL-QueryStudio.html Se ogni query restituisce punti dati, il raccoglitore sta eseguendo correttamente lo scraping dell'esportatore corrispondente.
La seguente query restituisce una metrica Kafka a livello di broker da JMX Exporter (porta 11001). Riporta il tasso medio di attività degli argomenti del broker, ad esempio messaggi e byte che fluiscono attraverso i broker. I dati confermano che il raccoglitore sta analizzando le metriche del broker Kafka.
kafka_server_BrokerTopicMetrics_MeanRate
La seguente query restituisce l'utilizzo della CPU a livello di host da Node Exporter (porta 11002). Sottrae da 100 la frequenza media della CPU inattiva in un intervallo di cinque minuti per ottenere la percentuale di CPU utilizzata dai broker. I dati confermano che il raccoglitore sta analizzando le metriche a livello di host.
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
Visualizza il pannello di controllo automatico
Dopo che il raccoglitore ha iniziato a fornire le metriche Amazon MSK a CloudWatch, la CloudWatch console fornisce un pannello di controllo automatico denominato MSK OTel. Per aprirlo, consulta MSK OTel
Se la dashboard automatica soddisfa le tue esigenze, puoi utilizzarla così com'è. Per creare un'esperienza di monitoraggio su misura, puoi aggiungere qualsiasi widget a una dashboard personalizzata. Per ulteriori informazioni sulle dashboard personalizzate, consulta Utilizzo CloudWatch delle dashboard.
Cross-account osservabilità
Per il monitoraggio di Amazon MSK su più account, consigliamo di utilizzare la centralizzazione delle metriche di Amazon CloudWatch . Per ulteriori informazioni, consulta Centralizzazione delle metriche. CloudWatch
Per configurazioni alternative di scraper tra account che utilizzano il concatenamento di ruoli, consulta l'integrazione di Cross-account Amazon MSK nella Amazon Managed Service for Prometheus User Guide.
Limitazioni attuali
-
I raccoglitori gestiti non supportano i cluster Amazon MSK Serverless.
-
I raccoglitori gestiti non supportano l'accesso pubblico combinato con la modalità di metadati KRAFT.
-
Ogni combinazione di cluster e CloudWatch set di dati Amazon MSK richiede un raccoglitore.