

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
<a name="managed-prometheus-collectors-msk-setup"></a>

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
<a name="managed-prometheus-collectors-msk-prerequisites"></a>

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 ](https://docs.aws.amazon.com/msk/latest/developerguide/open-monitoring.html) 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
<a name="managed-prometheus-collectors-msk-enable-monitoring"></a>

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 ](https://docs.aws.amazon.com/msk/latest/developerguide/open-monitoring.html) 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
<a name="managed-prometheus-collectors-msk-dns"></a>

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 ritorna`b-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
<a name="managed-prometheus-collectors-msk-scrape-config"></a>

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, vedere[Configurazione dello scraper](managed-prometheus-collectors-scraper-configuration.md).

```
global:
  scrape_interval: 60s
  external_labels:
    cluster_name: {{my-msk-cluster}}

scrape_configs:
  - job_name: 'msk-jmx'
    dns_sd_configs:
      - names:
          - {{my-cluster.abc123.c4.kafka.us-west-2.amazonaws.com}}
        type: 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}}
        type: 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
<a name="managed-prometheus-collectors-msk-create-scraper"></a>

Crea lo scraper con una CloudWatch destinazione, utilizzando la configurazione di scrape per i tuoi broker Amazon MSK descritta nel passaggio precedente.

------
#### [ AWS API ]

Utilizza l'operazione `CreateScraper` API per creare uno scraper con una destinazione. CloudWatch Sostituisci le informazioni sulla sottorete, sul gruppo di sicurezza e sul set di dati con i tuoi valori.

```
POST /scrapers HTTP/1.1

{
  "alias": "msk-metrics-scraper",
  "source": {
    "vpcConfiguration": {
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"],
      "securityGroupIds": ["{{sg-security-group-id}}"]
    }
  },
  "destination": {
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  },
  "scrapeConfiguration": {
    "configurationBlob": "{{base64-encoded-blob}}"
  }
}
```

------
#### [ AWS CLI ]

Usa il `create-scraper` comando per creare uno scraper con una destinazione. CloudWatch Sostituisci le informazioni sulla sottorete, sul gruppo di sicurezza e sul set di dati con i tuoi valori.

```
aws amp create-scraper \
  --alias "msk-metrics-scraper" \
  --source '{
    "vpcConfiguration": {
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"],
      "securityGroupIds": ["{{sg-security-group-id}}"]
    }
  }' \
  --scrape-configuration configurationBlob=$(cat {{msk-config.yaml}} | base64 -w 0) \
  --destination '{
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  }'
```

------

## Metriche disponibili
<a name="managed-prometheus-collectors-msk-available-metrics"></a>
+ **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 ](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-msk-integration.html#prom-msk-metrics) nella Guida per l'utente di Amazon Managed Service for Prometheus. * *

## Convalida la raccolta delle metriche
<a name="managed-prometheus-collectors-msk-validate"></a>

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](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
<a name="managed-prometheus-collectors-msk-dashboards"></a>

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 ](https://console.aws.amazon.com/cloudwatch/home?#dashboards/templates/msk-otel) o accedi alla console di AWS gestione, apri la CloudWatch console, scegli ** Dashboards ** nel pannello di navigazione, scegli Dashboard ** automatici e quindi scegli MSK ** OTel. ** ** Puoi iniziare a monitorare i tuoi cluster senza creare tu stesso widget o dashboard.

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. ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)

## Cross-account osservabilità
<a name="managed-prometheus-collectors-msk-cross-account"></a>

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 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)

Per configurazioni alternative di scraper tra account che utilizzano il concatenamento di ruoli, consulta l'integrazione di [ Cross-account Amazon MSK ](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-msk-cross-account.html) nella Amazon Managed Service for Prometheus User * Guide. *

## Limitazioni attuali
<a name="managed-prometheus-collectors-msk-limitations"></a>
+ 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.