Monitoraggio aperto con Prometheus - Amazon Managed Streaming per Apache Kafka

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à.

Monitoraggio aperto con Prometheus

È possibile monitorare il cluster MSK con Prometheus, un sistema di monitoraggio open source per i dati dei parametri delle serie temporali. Puoi pubblicare questi dati su Servizio gestito da Amazon per Prometheus utilizzando la funzione di scrittura remota di Prometheus. Puoi anche utilizzare strumenti compatibili con parametri in formato Prometeo o strumenti che si integrano con Amazon MSK Open Monitoring, come Datadog, Lenses, New Relic e Sumo Logic. Il monitoraggio aperto è disponibile gratuitamente, ma per il trasferimento dei dati tra le zone di disponibilità vengono addebitati dei costi. Per informazioni su Prometheus, consulta la documentazione di Prometheus.

Creazione di un cluster Amazon MSK con monitoraggio aperto abilitato

Usando il AWS Management Console
  1. Accedi a e apri AWS Management Console la console Amazon MSK all'indirizzo https://console.aws.amazon.com/msk/home?region=us-east-1#/home/.

  2. Nella sezione Monitoring (Monitoraggio), selezionare la casella di controllo accanto a Enable open monitoring with Prometheus (Abilita monitoraggio aperto con Prometheus).

  3. Fornire le informazioni richieste in tutte le sezioni della pagina e rivedere tutte le opzioni disponibili.

  4. Scegli Create cluster (Crea cluster).

Usando il AWS CLI
  • Richiamare il comando create-cluster e specificarne l'opzione open-monitoring. Abilitare JmxExporter, NodeExporter o entrambi. Se si specifica open-monitoring, non è possibile disabilitare i due esportatori contemporaneamente.

Utilizzo dell'API
  • Richiama l'CreateClusteroperazione e specificaOpenMonitoring. Abilitare jmxExporter, nodeExporter o entrambi. Se si specifica OpenMonitoring, non è possibile disabilitare i due esportatori contemporaneamente.

Abilitazione del monitoraggio aperto per un cluster Amazon MSK esistente

Per abilitare il monitoraggio aperto, assicurati che lo stato del cluster sia ACTIVE.

Usando il AWS Management Console
  1. Accedi a e apri AWS Management Console la console Amazon MSK all'indirizzo https://console.aws.amazon.com/msk/home?region=us-east-1#/home/.

  2. Scegliere il nome del cluster da aggiornare. In questo modo si accede alla pagina dei dettagli del cluster.

  3. Nella scheda Proprietà, scorri verso il basso per trovare la sezione Monitoraggio.

  4. Scegli Modifica.

  5. Selezionare la casella di controllo accanto a Enable open monitoring with Prometheus (Abilita monitoraggio aperto con Prometheus).

  6. Seleziona Salvataggio delle modifiche.

Usando il AWS CLI
  • Richiama il comando update-monitoring e specifica l'opzione open-monitoring. Abilitare JmxExporter, NodeExporter o entrambi. Se si specifica open-monitoring, non è possibile disabilitare i due esportatori contemporaneamente.

Utilizzo dell'API
  • Richiama l'UpdateMonitoringoperazione e specificaOpenMonitoring. Abilitare jmxExporter, nodeExporter o entrambi. Se si specifica OpenMonitoring, non è possibile disabilitare i due esportatori contemporaneamente.

Impostazione di un host Prometheus su un'istanza Amazon EC2

  1. Scaricare il server Prometheus da https://prometheus.io/download/#prometheus nell'istanza Amazon EC2.

  2. Estrarre il file scaricato in una directory e passare a tale directory.

  3. Creare un file denominato prometheus.yml con i seguenti contenuti:

    # file: prometheus.yml # my global config global: scrape_interval: 60s # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' static_configs: # 9090 is the prometheus server port - targets: ['localhost:9090'] - job_name: 'broker' file_sd_configs: - files: - 'targets.json'
  4. Usa l'ListNodesoperazione per ottenere un elenco dei broker del tuo cluster.

  5. Creare un file denominato targets.json con il seguente JSON. Sostituire broker_dns_1, broker_dns_2 e il resto dei nomi DNS del broker con i nomi DNS ottenuti per i broker nella fase precedente. Includi tutti i broker ottenuti nel passaggio precedente. Amazon MSK utilizza la porta 11001 per JMX Exporter e la porta 11002 per Node Exporter.

    ZooKeeper mode targets.json
    [ { "labels": { "job": "jmx" }, "targets": [ "broker_dns_1:11001", "broker_dns_2:11001", . . . "broker_dns_N:11001" ] }, { "labels": { "job": "node" }, "targets": [ "broker_dns_1:11002", "broker_dns_2:11002", . . . "broker_dns_N:11002" ] } ]
    KRaft mode targets.json
    [ { "labels": { "job": "jmx" }, "targets": [ "broker_dns_1:11001", "broker_dns_2:11001", . . . "broker_dns_N:11001", "controller_dns_1:11001", "controller_dns_2:11001", "controller_dns_3:11001" ] }, { "labels": { "job": "node" }, "targets": [ "broker_dns_1:11002", "broker_dns_2:11002", . . . "broker_dns_N:11002" ] } ]
    Nota

    Per estrarre le metriche JMX dai controller Kraft, aggiungi i nomi DNS dei controller come destinazioni nel file JSON. Ad esempio: sostituendo controller_dns_1 il nome DNS del controller con controller_dns_1:11001 il nome DNS effettivo.

  6. Per avviare il server Prometheus sull'istanza Amazon EC2, esegui il seguente comando nella directory in cui sono stati estratti i file Prometheus e salvati prometheus.yml e targets.json.

    ./prometheus
  7. Individua l'indirizzo IP pubblico IPv4 dell'istanza Amazon EC2 in cui è stato eseguito Prometheus nel passaggio precedente. Questo indirizzo IP pubblico è necessario nella fase seguente.

  8. Per accedere all'interfaccia utente Web di Prometheus, apri un browser che dispone dell'accesso all'istanza Amazon EC2 e passa a Prometheus-Instance-Public-IP:9090, dove Prometheus-Instance-Public-IP è l'indirizzo IP pubblico ottenuto nel passaggio precedente.

Parametri Prometheus

Tutti i parametri inviati da Apache Kafka a JMX sono accessibili tramite il monitoraggio aperto con Prometheus. Per informazioni sui parametri Apache Kafka, consulta la sezione relativa al monitoraggio nella documentazione di Apache Kafka. Oltre ai parametri di Apache Kafka, i parametri relativi al ritardo dei consumatori sono disponibili anche sulla porta 11001 con il nome JMX MBean kafka.consumer.group:type=ConsumerLagMetrics. Puoi anche utilizzare Prometheus Node Exporter per ottenere i parametri della CPU e del disco per i tuoi broker sulla porta 11002.

Archiviazione dei parametri Prometheus in Amazon Managed Service for Prometheus

Servizio gestito da Amazon per Prometheus è un servizio di monitoraggio e avviso compatibile con Prometheus che puoi utilizzare per monitorare i cluster Amazon MSK. È un servizio completamente gestito che dimensiona automaticamente l'importazione, l'archiviazione, le query e gli avvisi dei parametri. Si integra inoltre con i servizi AWS di sicurezza per offrirti un accesso rapido e sicuro ai tuoi dati. È possibile utilizzare il linguaggio di query open source ProMQL per fare una query e creare avvisi relativi ai parametri.

Per ulteriori informazioni, consultare Guida introduttiva ad Amazon Managed Service for Prometheus.