Raccolta di metriche utilizzando la scrittura remota Prometheus

Puoi configurare la scrittura remota Prometheus per raccogliere le metriche dagli ambienti in cui un agent Monitoring non è disponibile e inviarle a un'istanza Monitoring.

È possibile raccogliere le metriche da:

  • Un server Prometheus esistente.
  • Lavori effimeri o batch che potrebbero non esistere abbastanza a lungo da essere scartato da un agent Monitoring.
  • Host Windows e altri sistemi operativi in cui l'agent Monitoring non è disponibile
  • Architetture basate su Non-x86, generalmente visualizzate in ambienti IoT o Edge computing.
  • Carichi di lavoro non containerizzati, come NGNIX, applicazioni personalizzate, RabbitMQ, e altri.

Prometheus remote write option
Prometheus remote write

Puoi monitorare le metriche raccolte utilizzando la scrittura remota Prometheus tramite l'IU web Monitoring. Puoi anche utilizzare PromQL per eseguire una query dei dati utilizzando il linguaggio di query Prometheus standard.

Configurazione della scrittura remota Prometheus

Puoi configurare il tuo server Prometheus per la scrittura remota in una istanza Monitoring. Ad esempio,

  • Puoi configurare il server Prometheus che viene eseguito in cluster Kubernetes in modi diversi. A seconda di come l'hai installata, puoi scegliere una delle seguenti opzioni per configurare la funzione di scrittura remota in Prometheus per inviare le metriche a un'istanza IBM Cloud Monitoring:

    • Configurare un server Prometheus gestito dall'operatore Prometheus

    • Configurare un server Prometheus utilizzando Helm

    • Configura un server Prometheus tramite una ConfigMap Kubernetes

    Per ulteriori informazioni, vedere Raccolta di metriche utilizzando la scrittura remota dell' Prometheus.

Prometheus v2.25 e versioni precedenti

Per Prometheus v2.25 e versioni precedenti, devi configurare la sezione remote_write nel tuo file di configurazione prometheus.yml come segue:

global:
  external_labels:
    [ <labelname>: <labelvalue> ... ]
remote_write:
- url: "https://<INGESTION_URL>/prometheus/remote/write"
  bearer_token: "<MONITOR_API_TOKEN>"

Dove

  • <MONITOR_API_TOKEN> contiene il token di autorizzazione. Per ulteriori informazioni, vedi Gestione dei token API di monitoraggio.
  • <INGESTION_URL> indica il punto finale di ingestione. Devi impostare questo valore sull'endpoint di inserimento per la regione in cui è disponibile l'istanza Monitoring. Per ulteriori informazioni, vedi Endpoint.

Prometheus versione 2.26 e successive

Per Prometheus versione 2.26 e versioni successive, devi configurare la sezione remote_write nel tuo file di configurazione prometheus.yml come segue:

global:
  external_labels:
    [ <labelname>: <labelvalue> ... ]
remote_write:
- url: "https://<INGESTION_URL>/prometheus/remote/write"
  authorization:
    credentials: "<MONITOR_API_TOKEN>"

Dove

  • <MONITOR_API_TOKEN> contiene il token di autorizzazione. Per ulteriori informazioni, vedi Gestione dei token API di monitoraggio.
  • <INGESTION_URL> indica il punto finale di ingestione. Devi impostare questo valore sull'endpoint di inserimento per la regione in cui è disponibile l'istanza Monitoring. Per ulteriori informazioni, vedi Endpoint.

Gestione delle metriche raccolte tramite scrittura remota

Per default, quando configuri il tuo server Prometheus per la scrittura remota in un'istanza Monitoring, tutte le metriche sono raccolte e includono un'etichetta remote_write: true per identificarle facilmente.

Controllo delle metriche inviate

Puoi gestire e controllare le metriche che raccogli e inviali a un'istanza di Monitoring. Per selezionare quali serie ed etichette raccogliere e ridurre il numero di serie attive inviate all'istanza Monitoring, puoi configurare le configurazioni di rietichettatura utilizzando il blocco write_relabel_configs all'interno della sezione remote_write.

Ad esempio, per raccogliere le metriche da 1 spazio dei nomi my-namespace, puoi aggiungere quanto segue:

remote_write:
    - url: https://<INGESTION_URL>/prometheus/remote/write
      authorization:
        credentials_file: /etc/secrets/<SECRET_NAME>
      write_relabel_configs:
        - action: keep
          regex: my-namespace
          source_labels:
          - namespace

Etichettatura delle metriche per server Prometheus

Puoi specificare le etichette personalizzate che vengono inviate insieme a ciascuna serie temporale raccolta da un server Prometheus utilizzando il blocco external_labels all'interno di global.

Puoi utilizzare queste etichette per filtrare e definire l'ambito delle metriche che monitori mediante i dashboard nella IU Monitoring.

Ad esempio, se hai 2 server Prometheus differenti configurati per la scrittura remota in un'istanza Monitoring, puoi includere un'etichetta esterna per identificare ciascun server:

# Prometheus server 1
global:
  external_labels:
    provider: prometheus1
remote_write:
- url: ...
# Prometheus server 2
global:
  external_labels:
    provider: prometheus2
remote_write:
- url: ...

Limiti di frequenza

La seguente tabella elenca i limiti di frequenza predefiniti per istanza:

Limiti di frequenza
Tariffa Limite Info
Scritture parallele 100 richieste simultanee
Punti di dati al minuto (DPM) 1 milione Il numero di punti di dati inviati dipende dalla frequenza con cui vengono inviate le metriche. Ad esempio, un intervallo di scrape di 10s inoltrerà più DPM di un intervallo di 60 secondi
Numero di scritture al minuto 10.000

Endpoint di inserimento per la scrittura remota

IBM Cloud Monitoring ha dichiarato obsoleto il supporto client Prometheus degli endpoint nel formato https://ingest.<region> e https://ingest.private.<region> e li ha sostituiti con nuovi endpoint il 31 maggio 2024. Il termine del supporto per i vecchi endpoint è il 31 agosto 2024. Dopo tale data, i vecchi endpoint smetteranno di funzionare. I clienti che utilizzano Prometheus Remote Write devono migrare all'uso dei nuovi endpoint entro il 31 agosto 2024 per continuare a utilizzare Prometheus Remote Write.

La seguente tabella elenca gli endpoint di inserimento pubblici Monitoring che puoi configurare per raccogliere le metriche tramite Prometheus Remote Write:

L'inserimento scrittura remota utilizza la porta TCP 443.

Endpoint pubblici di scrittura remotaPrometheus
Regione Endpoint
Dallas (US-South) https://ingest.us-south.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.us-south.monitoring.cloud.ibm.com/prometheus/remote/write
Francoforte (EU-DE) https://ingest.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write
Londra (EU-GB) https://ingest.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write
Madrid (EU-ES) https://ingest.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write
Osaka (JP-OSA) https://ingest.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write
Sao Paulo (BR-SAO) https://ingest.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write
Sydney (AU-SYD) https://ingest.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write
Tokyo (JP-TOK) https://ingest.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write
Toronto (CA-TOR) https://ingest.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write
Washington (US-EAST) https://ingest.us-east.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.us-east.monitoring.cloud.ibm.com/prometheus/remote/write

La seguente tabella elenca gli endpoint di inserimento Monitoring privati che puoi configurare per raccogliere le metriche mediante Prometheus Remote Write:

Endpoint privati di scrittura remotaPrometheus
Regione Endpoint
Dallas (US-South) https://ingest.private.us-south.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.private.us-south.monitoring.cloud.ibm.com/prometheus/remote/write
Francoforte (EU-DE) https://ingest.private.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.private.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write
Londra (EU-GB) https://ingest.private.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.private.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write
Madrid (EU-ES) https://ingest.private.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.private.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write
Osaka (JP-OSA) https://ingest.private.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.private.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write
Sao Paulo (BR-SAO) https://ingest.private.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.private.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write
Sydney (AU-SYD) https://ingest.private.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.private.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write
Tokyo (JP-TOK) https://ingest.private.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.private.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write
Toronto (CA-TOR) https://ingest.private.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.private.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write
Washington (US-EAST) https://ingest.private.us-east.monitoring.cloud.ibm.com/prometheus/remote/write Obsoleto
https://ingest.prws.private.us-east.monitoring.cloud.ibm.com/prometheus/remote/write

Limitazioni

La funzione di scrittura remota IBM Cloud Monitoring Prometheus ha le seguenti limitazioni:

  • È possibile accedere alle metriche inviate a un'istanza in Esplora, ma non sono compatibili con la struttura ad albero dell'ambito.

  • Solo le etichette raccolte all'origine possono essere utilizzate per filtrare le metriche.

  • I metadati di una metrica non vengono inviati tramite scrittura remota.

  • Le metriche che hanno un nome che termina con _total, _sum o _count vengono memorizzate come contatori, altrimenti vengono gestite come indicatore.

  • È possibile impostare manualmente le unità nei dashboard.

  • Non è possibile combinare metriche con un campionamento differente in un dashboard, ad esempio, 10s e 1min.

    Considera di configurare l'intervallo di scrape in modo che sia 10s in modo da poter combinare le metriche Prometheus Remote Write con le metriche dell'agent Monitoring.