View a markdown version of this page

CloudWatch Soluzione Amazon: Prometheus raccolta di metriche su Amazon Amazon EC2 - Amazon CloudWatch

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

CloudWatch Soluzione Amazon: Prometheus raccolta di metriche su Amazon Amazon EC2

Questa soluzione ti aiuta a raccogliere metriche Prometheus compatibili dalle tue istanze Amazon EC2 senza eseguire o scalare la tua infrastruttura di raccolta. Esegui uno o più Prometheus esportatori sulle tue istanze e un raccoglitore Prometheus CloudWatch gestito da Amazon scopre gli obiettivi nel tuo VPC, ne analizza gli endpoint e fornisce le metriche a. /metrics CloudWatch Per CloudWatch informazioni generali su tutte le CloudWatch soluzioni di osservabilità soluzioni di osservabilità, consulta. Per ulteriori informazioni sui raccoglitori gestiti, vedere. Collezionisti CloudWatch Prometheus gestiti da Amazon

Requisiti

Questa soluzione è rilevante per le seguenti condizioni:

  • Elaborazione: istanze Amazon EC2 che eseguono uno o più esportatori. Prometheus

  • Amazon VPC con DNS abilitato e almeno due sottoreti in diverse zone di disponibilità per il raccoglitore.

  • Un gruppo di sicurezza che consente al raccoglitore di raggiungere le porte di esportazione sulle tue istanze.

Attiva Prometheus esportatrici

Un Prometheus esportatore è un processo che espone le metriche in formato di Prometheus esposizione su un endpoint HTTP. /metrics Esegui un esportatore che corrisponde al carico di lavoro che desideri monitorare. I seguenti esportatori sono comunemente usati su Amazon EC2:

  • Node Exporter: parametri Host-level dell'infrastruttura come CPU, memoria, disco e rete (porta predefinita 9100). Per ulteriori informazioni, consulta il repository Node Exporter su. GitHub

  • JMX Exporter: metriche delle applicazioni JVM e Java per i carichi di lavoro Java. Per ulteriori informazioni, consulta il repository JMX Exporter su. https://github.com/prometheus/jmx_exporter GitHub

  • NGINX Prometheus Exporter: server web NGINX e metriche del proxy inverso. Per ulteriori informazioni, consulta il repository NGINX Exporter su. Prometheus GitHub

  • DCGM Exporter: metriche delle GPU NVIDIA per i carichi di lavoro delle GPU, come l'addestramento e l'inferenza sull'apprendimento automatico (porta predefinita 9400). Per ulteriori informazioni, consulta il repository DCGM Exporter su. https://github.com/NVIDIA/dcgm-exporter GitHub

  • HAProxy Exporter — Metriche del load balancer HAProxy. Per ulteriori informazioni, consulta il repository HAProxy Exporter su. https://github.com/prometheus/haproxy_exporter GitHub

  • Apache Exporter: metriche del server HTTP Apache. Per ulteriori informazioni, consultate il repository Apache Exporter su. GitHub

Installa ed esegui ogni esportatore sulle tue istanze seguendo la relativa documentazione ufficiale. Annota la porta su cui ogni esportatore è in ascolto, perché fai riferimento a queste porte nella configurazione di scrape. Per un catalogo completo degli esportatori disponibili, consulta Esportatori e integrazioni nella documentazione. Prometheus

Dopo aver avviato un esportatore, conferma che espone le metriche interrogando il suo endpoint dall'istanza:

curl http://localhost:port-number/metrics

Passaggio 1: imposta la configurazione dello scrape

L'esempio seguente utilizza static_configs con l'istanza nomi DNS privati per eseguire lo scraping di un'applicazione di esempio (porta 8080) e di Node Exporter (porta 9100) sulle istanze Amazon EC2. La relabel_configs sezione aggiunge etichette coerenti alle metriche in modo da poter interrogare e filtrare i servizi. Per il set completo di opzioni di configurazione supportate, consultaConfigurazione dello scraper.

global: scrape_interval: 30s scrape_timeout: 10s scrape_configs: - job_name: 'ec2-metrics' static_configs: - targets: - ip-ip-address.us-west-2.compute.internal:8080 metrics_path: '/metrics' relabel_configs: - source_labels: [__address__] target_label: instance replacement: 'ec2-metrics-instance' - target_label: service replacement: 'ec2-metrics' - target_label: environment replacement: 'dev' metric_relabel_configs: - source_labels: [__name__] regex: '.*' action: keep - job_name: ec2-node-exporter static_configs: - targets: - ip-ip-address.us-west-2.compute.internal:9100

Passaggio 2: installare il raschietto

Crea un raccoglitore VPC-connected gestito che analizzi le tue istanze e fornisca metriche al tuo set di dati. CloudWatch Fornisci le sottoreti e il gruppo di sicurezza che consentono al raccoglitore di raggiungere le porte dell'esportatore:

Puoi utilizzarla GetDefaultScraperConfiguration per recuperare una configurazione generica dello scraper o fornirne una tua.

AWS API

Usa 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": "ec2-payment-service-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 "ec2-payment-service-scraper" \ --source '{ "vpcConfiguration": { "subnetIds": ["subnet-subnet-id-1", "subnet-subnet-id-2"], "securityGroupIds": ["sg-security-group-id"] } }' \ --scrape-configuration configurationBlob=$(cat ec2-scraper.yml | base64 -w 0) \ --destination '{ "cloudWatchConfiguration": { "datasetArn": "arn:aws:cloudwatch:us-west-2:123456789012:dataset/default" } }'

Quando crei un raccoglitore gestito, Amazon Managed Service for Prometheus crea automaticamente un ruolo collegato al servizio che concede al raccoglitore l'autorizzazione ad accedere alle tue risorse VPC e scrivere sul tuo set di dati. CloudWatch

Convalida la raccolta delle metriche

In pochi minuti, le metriche iniziano a fluire nel tuo set di dati. CloudWatch Per confermare l'arrivo delle metriche, esegui una query ad hoc utilizzando Query Studio. CloudWatch https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-PromQL-QueryStudio.html Ad esempio, la seguente query restituisce le metriche per il lavoro: ec2-metrics

{job="ec2-metrics"}

Crea una dashboard personalizzata

Dopo che il raccoglitore ha iniziato a fornire le tue metriche Amazon EC2 a CloudWatch, puoi creare una CloudWatch dashboard personalizzata per visualizzarle. Con i dashboard personalizzati, puoi combinare le metriche dei tuoi Prometheus esportatori in widget, aggiungere PromQL-based query e organizzare i widget per soddisfare le tue esigenze di monitoraggio. Per ulteriori informazioni, consulta Utilizzo delle dashboard. CloudWatch

Costi

PrometheusI collezionisti addebitano tariffe orarie e si applicano prezzi CloudWatch OpenTelemetry metrici di importazione. Per ulteriori informazioni sui CloudWatch prezzi, consulta Amazon Pricing. CloudWatch