Questo documento descrive la configurazione e l'utilizzo di un ricevitore di metriche di Ops Agent che puoi utilizzare per raccogliere le metriche da Prometheus su Compute Engine. Questo documento descrive anche un esempio che puoi utilizzare per provare il ricevitore.
Gli utenti di Google Kubernetes Engine sono stati in grado di raccogliere le metriche di Prometheus utilizzando Google Cloud Managed Service per Prometheus. Il ricevitore Prometheus di Ops Agent offre agli utenti di Compute Engine la stessa funzionalità.
Puoi usare tutti gli strumenti forniti da Cloud Monitoring, incluso PromQL, per visualizzare e analizzare i dati raccolti dal ricevitore Prometheus. Ad esempio, puoi utilizzare Esplora metriche, come descritto nella console Google Cloud per il monitoraggio, per eseguire query sui dati. Puoi anche creare dashboard di Cloud Monitoring criteri di avviso per monitorare le metriche di Prometheus. Ti consigliamo di utilizzare PromQL come linguaggio di query per le metriche Prometheus.
Puoi visualizzare le metriche di Prometheus anche nelle interfacce esterne Cloud Monitoring, ad esempio la UI di Prometheus e Grafana.
Scegli il destinatario giusto
Prima di decidere di utilizzare il ricevitore Prometheus, determina se esiste già un'integrazione Ops Agent per l'applicazione che utilizzano. Per informazioni sulle integrazioni esistenti con Ops Agent, consulta Monitoraggio di applicazioni di terze parti. Se esiste già un'integrazione, ti consigliamo di utilizzarla. Per ulteriori informazioni, consulta Scegliere un'integrazione esistente.
Ti consigliamo di utilizzare il ricevitore Ops Agent Prometheus quando: sono vere:
Hai esperienza nell'uso di Prometheus, quindi ti affidi allo standard Prometheus. e capire come fattori come l'intervallo di scraping e la cardinalità possano influire sui costi. Per ulteriori informazioni, consulta la sezione Scegliere il ricevitore Prometheus.
Il software che stai monitorando non fa già parte dell'insieme di integrazioni di Ops Agent esistenti.
Integrazioni esistenti
L'agente operativo fornisce integrazioni per una serie di applicazioni di terze parti. Queste integrazioni ti offrono quanto segue:
- Un insieme di metriche
workload.googleapis.com
selezionate per l'applicazione - Una dashboard per visualizzare le metriche.
Le metriche importate utilizzando un'integrazione esistente sono soggetti ai prezzi basati sui byte per le metriche raccolte dagli agenti. Il numero e i tipi di metriche sono noti in anticipo e puoi utilizzare queste informazioni per stimare i costi.
Ad esempio, se utilizzi Integrazione di Apache Web Server (httpd), Ops Agent raccoglie cinque metriche scalari; ogni punto dati viene conteggiato 8 byte. Se mantieni la frequenza di campionamento predefinita di 60 secondi di Ops Agent, il numero di byte importati al giorno è 57.600 * il numero di host:
- 8 (byte) * 1440 (minuti al giorno) * 5 (metriche) * n (host) oppure
- 57.600 * n (host)
Per ulteriori informazioni sulla stima dei costi, consulta la sezione Esempi di prezzi in base ai byte importati.
Il ricevitore Prometheus
Quando utilizzi Ops Agent per raccogliere le metriche Prometheus, quanto segue: applica:
Il numero e la cardinalità delle metriche emesse dalla tua applicazione sono sotto il tuo controllo. Non esiste un insieme selezionato di metriche. Quantità di dati che importi è determinato dalla configurazione della tua applicazione Prometheus e il ricevitore Ops Agent Prometheus.
Le metriche vengono importate in Cloud Monitoring come
prometheus.googleapis.com
metriche di valutazione. Queste metriche sono classificate come tipo "personalizzato" le metriche quando importati in Cloud Monitoring e sono soggetti alle quote e limiti per le metriche personalizzate.Devi progettare e creare le dashboard di Cloud Monitoring di cui hai bisogno, in base all'insieme di metriche che importi e alle tue esigenze aziendali. Per informazioni sulla creazione delle dashboard, consulta Dashboard e grafici.
I prezzi per l'importazione delle metriche si basano sul numero di campioni importati. Per stimare i costi quando utilizzi il ricevitore Prometheus, devi determinare il numero di campioni che probabilmente raccoglierai durante un ciclo di fatturazione. La stima si basa sui seguenti fattori:
- Numero di metriche scalari; ogni valore è un campione
- Numero di metriche di distribuzione; ogni istogramma viene conteggiato come (2 + numero di bucket nell'istogramma) campioni
- Frequenza di campionamento di ogni metrica
- Numero di host da cui vengono campionate le metriche
Per ulteriori informazioni sul conteggio dei campioni e sulla stima dei costi, consulta la sezione Esempi di prezzi in base ai campioni importati.
Prerequisiti
Per raccogliere le metriche Prometheus utilizzando il ricevitore Prometheus, devi installare Ops Agent versione 2.25.0 o successive.
Il ricevitore Ops Agent richiede un endpoint che emette metriche Prometheus. Pertanto, l'applicazione deve fornire direttamente un endpoint di questo tipo o utilizzare una libreria o un esportatore Prometheus per esporre un endpoint. Molte librerie e framework di linguaggio come Spring e DropWizard per applicazioni come StatisticheD, DogStatsD e Graphite, che emettono dati non Prometheus possono utilizzare librerie o esportatori client di Prometheus per emettere Metriche di stile Prometheus. Ad esempio, per emettere le metriche Prometheus:
- Gli utenti Spring possono utilizzare le metriche Spring libreria.
- Gli utenti di StatisticheD possono utilizzare
statsd_exporter
. - Gli utenti Graphite possono utilizzare
graphite_exporter
.
Quando le metriche di Prometheus vengono emesse da un'applicazione, direttamente o utilizzando una libreria o un esportatore, le metriche possono quindi essere raccolte Ops Agent configurato con un ricevitore Prometheus.
Configurazione dell'agente operativo
Il modello di configurazione di Ops Agent in genere prevede definendo quanto segue:
- Destinatari, che determinano quali metriche vengono raccolte.
- Processori, che descrivono in che modo Ops Agent può modificare le metriche.
- Pipeline, che collegano i ricevitori e gli elaboratori in un servizio.
La configurazione per l'importazione delle metriche di Prometheus è leggermente diversa: non sono coinvolti processori.
Configurazione per le metriche Prometheus
La configurazione di Ops Agent per l'importazione delle metriche di Prometheus è diversa dalla configurazione consueta come segue:
Non devi creare un processore Ops Agent per le metriche di Prometheus. Il ricevitore Prometheus supporta quasi tutte le opzioni di configurazione specificate dalla specifica
scrape_config
di Prometheus, incluse le opzioni di rinominazione.Anziché utilizzare un processore Ops Agent, l'elaborazione delle metriche viene eseguita usando
relabel_configs
emetric_relabel_configs
della configurazione di scape, come specificato nel ricevitore Prometheus. Per ulteriori informazioni, vedi Rietichettatura: modifica dei dati sottoposti a scraping.La pipeline Prometheus viene definita solo in termini di ricevitore Prometheus. Non specifichi nessun processore. Inoltre, non puoi utilizzare ricevitori non Prometheus nella pipeline per le metriche Prometheus.
La maggior parte della configurazione del ricevitore è la specifica delle opzioni di scrape-config. Ometti queste opzioni per brevità, di seguito viene mostrata la struttura di una configurazione Ops Agent che utilizza un ricevitore Prometheus. Specifica i valori di RECEIVER_ID e PIPELINE_ID.
metrics: receivers: RECEIVER_ID: type: prometheus config: scrape_configs: [... omitted for brevity ...] service: pipelines: PIPELINE_ID: receivers: [RECEIVER_ID]
Nella sezione seguente viene descritto in modo più dettagliato il ricevitore Prometheus. Per un esempio funzionale di un ricevitore e di una pipeline, consulta Aggiungere il ricevitore e la pipeline di Ops Agent.
Il ricevitore Prometheus
Per specificare un destinatario per le metriche di Prometheus, crea un destinatario
delle metriche di tipo prometheus
e specifica un insieme di opzioni scrape_config
.
Il ricevitore supporta tutte le opzioni di Prometheus
scrape_config
,
ad eccezione di quanto segue:
- Le sezioni di Service Discovery,
*_sd_config
. - L'impostazione
honor_labels
.
Di conseguenza, puoi copiare le configurazioni di scraping esistenti e utilizzarle per Ops Agent con poche modifiche o nessuna.
La struttura completa del ricevitore Prometheus è mostrata di seguito:
metrics: receivers: prom_application: type: prometheus config: scrape_configs: - job_name: 'STRING' # must be unique across all Prometheus receivers scrape_interval: # duration, like 10m or 15s scrape_timeout: # duration, like 10m or 15s metrics_path: # resource path for metrics, default = /metrics honor_timestamps: # boolean, default = false scheme: # http or https, default = http params: - STRING: STRING basic_auth: username: STRING password: SECRET password_file: STRING authorization: type: STRING # default = Bearer credentials: SECRET credentials_file: FILENAME oauth2: OAUTH2 # See Prometheus oauth2 follow_redirects: # boolean, default = true enable_http2: # boolean, default = true tls_config: TLS_CONFIG # See Prometheus tls_config proxy_url: STRING static_configs: STATIC_CONFIG # See Prometheus static_config relabel_configs: RELABEL_CONFIG # See Prometheus relabel_config metric_relabel_configs: METRIC_RELABEL_CONFIGS # See Prometheus metric_relabel_configs
Per esempi di configurazioni di rinominazione, consulta Configurazione aggiuntiva del ricevitore.
Esempio: configurare Ops Agent per Prometheus
Questa sezione mostra un esempio di come configurare Ops Agent per raccogliere le metriche Prometheus da un'applicazione. Questo esempio utilizza Prometheus
Exporter JSON fornito dalla community
(json_exporter
), che
espone le metriche Prometheus sulla porta 7979.
La configurazione dell'esempio richiede le seguenti risorse, che potresti dover installare:
git
curl
make
python3
- Linguaggio Go, versione 1.19 o successive
Crea o configura la tua applicazione
Per ottenere ed eseguire JSON Exporter, segui la procedura riportata di seguito:
Clona il repository
json_exporter
ed esegui il check out dell'esportatore eseguendo i seguenti comandi:git clone https://github.com/prometheus-community/json_exporter.git cd json_exporter git checkout v0.5.0
Compila l'esportatore eseguendo il seguente comando:
make build
Avvia il server HTTP Python con il seguente comando:
python3 -m http.server 8000 &
Avvia l'esportatore JSON eseguendo il seguente comando:
./json_exporter --config.file examples/config.yml &
Esegui una query su JSON Exporter per verificare che sia in esecuzione e che sia in corso metriche sulla porta 7979:
curl "http://localhost:7979/probe?module=default&target=http://localhost:8000/examples/data.json"
Se la query è andata a buon fine, viene visualizzato un output simile al seguente:
# HELP example_global_value Example of a top-level global value scrape in the json # TYPE example_global_value untyped example_global_value{environment="beta",location="planet-mars"} 1234 # HELP example_value_active Example of sub-level value scrapes from a json # TYPE example_value_active untyped example_value_active{environment="beta",id="id-A"} 1 example_value_active{environment="beta",id="id-C"} 1 # HELP example_value_boolean Example of sub-level value scrapes from a json # TYPE example_value_boolean untyped example_value_boolean{environment="beta",id="id-A"} 1 example_value_boolean{environment="beta",id="id-C"} 0 # HELP example_value_count Example of sub-level value scrapes from a json # TYPE example_value_count untyped example_value_count{environment="beta",id="id-A"} 1 example_value_count{environment="beta",id="id-C"} 3
In questo output, le stringhe come
example_value_active
sono la metrica con i nomi, con etichette e valori tra parentesi graffe. Il valore dei dati segue l'insieme di etichette.
Aggiungi il ricevitore e la pipeline di Ops Agent
Per configurare Ops Agent per l'importazione delle metriche da JSON Exporter: devi modificare la configurazione dell'agente per aggiungere Ricevente e pipeline Prometheus. Per l'esempio di JSON Exporter, utilizza la seguente procedura:
Modifica il file di configurazione di Ops Agent,
/etc/google-cloud-ops-agent/config.yaml
, e aggiungi le seguenti voci di pipeline e del ricevitore Prometheus:metrics: receivers: prometheus: type: prometheus config: scrape_configs: - job_name: 'json_exporter' scrape_interval: 10s metrics_path: /probe params: module: [default] target: [http://localhost:8000/examples/data.json] static_configs: - targets: ['localhost:7979'] service: pipelines: prometheus_pipeline: receivers: - prometheus
Se il file contiene già altre voci di configurazione, aggiungi il parametro Ricevitore e pipeline Prometheus alle istanze
metrics
eservice
voci. Per ulteriori informazioni, consulta Configurazioni delle metriche.Per esempi di rietichettatura delle configurazioni nel ricevitore, vedi Configurazione del ricevitore aggiuntiva.
Riavvia l'agente operativo
Per applicare le modifiche alla configurazione, devi riavviare Ops Agent.
LINUX
Per riavviare l'agente, esegui il seguente comando sull'istanza:
sudo service google-cloud-ops-agent restart
Per verificare che l'agente sia stato riavviato, esegui il seguente comando e verifica che i componenti "Metrics Agent" e "Logging Agent" siano stati avviati:
sudo systemctl status google-cloud-ops-agent"*"
Windows
Connettiti all'istanza utilizzando RDP o uno strumento simile e accedi a Windows.
Apri un terminale PowerShell con privilegi di amministratore facendo clic con il tasto destro del mouse sull'icona di PowerShell e selezionando Esegui come amministratore.
Per riavviare l'agente, esegui il comando PowerShell seguente:
Restart-Service google-cloud-ops-agent -Force
Per confermare che l'agente è stato riavviato, esegui questo comando verifica che i componenti di "Metrics Agent" e "Agente Logging" data di inizio:
Get-Service google-cloud-ops-agent*
Metriche di Prometheus in Cloud Monitoring
Puoi usare gli strumenti forniti da Cloud Monitoring con i dati raccolte dal ricevitore Prometheus. Ad esempio, puoi tracciare i dati utilizzando Esplora metriche, come descritto in Console Google Cloud per Monitoring. Le seguenti sezioni descrivono gli strumenti di query disponibili in Cloud Monitoring con Metrics Explorer:
Puoi creare dashboard e criteri di avviso di Cloud Monitoring per le metriche. Per informazioni sulle dashboard e sui tipi di grafici che puoi utilizzare, consulta Dashboard e grafici. Per informazioni sui criteri di avviso, consulta Utilizzare i criteri di avviso.
Puoi visualizzare le metriche anche in altre interfacce, ad esempio Prometheus UI e Grafana. Per informazioni sulla configurazione di queste interfacce, consulta le seguenti sezioni della documentazione di Google Cloud Managed Service per Prometheus:
Utilizzare PromQL
PromQL è il linguaggio di query consigliato per le metriche importate utilizzando il ricevitore Prometheus.
Il modo più semplice per verificare che i dati Prometheus vengano importati è utilizzare la pagina Esplora metriche di Cloud Monitoring nella console Google Cloud:
-
Nella console Google Cloud, vai alla pagina leaderboard Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
Nella barra degli strumenti del riquadro Query Builder, seleziona il pulsante code MQL o code PromQL.
Verifica che PromQL sia selezionato con l'opzione Lingua. Il pulsante di attivazione/disattivazione della lingua si trova nella stessa barra degli strumenti che consente di formattare la query.
Inserisci la seguente query nell'editor e poi fai clic su Esegui query:
up
Se i dati vengono importati, viene visualizzato un grafico come il seguente:
Se esegui l'esempio di esportazione JSON, puoi anche eseguire query come le seguenti:
Esegui query su tutti i dati relativi a una specifica metrica esportata in base al nome, ad esempio:
example_value_count
Di seguito è riportato un grafico per
example_value_count
, che include le etichette definite dall'applicazione JSON Exporter e quelle aggiunte dall'agente di gestione:Esegui query sui dati di una metrica esportata che ha avuto origine in un ambito specifico. Il valore dell'etichetta
namespace
è l'ID istanza Compute Engine, un numero lungo come5671897148133813325
, assegnato alla VM. Una query ha il seguente aspetto:example_value_count{namespace="INSTANCE_ID"}
Esegui una query sui dati che corrispondono a un'espressione regolare specifica. Il file JSON L'esportazione emette metriche con un'etichetta
id
con valori comeid-A
,id-B
,id-C
. Per filtrare in base alle metriche con un'etichettaid
corrispondente a questo pattern, utilizza la seguente query:example_value_count{id=~"id.*"}
Per ulteriori informazioni sull'utilizzo di PromQL in Metrics Explorer e nei grafici di Cloud Monitoring, consulta PromQL in Cloud Monitoring.
Utilizza MQL
Per visualizzare i dati di Prometheus come serie temporali di Cloud Monitoring e creare grafici e dashboard, puoi anche utilizzare le interfacce basate su menu o MQL. Di seguito viene mostrata una semplice in Metrics Explorer:
-
Nella console Google Cloud, vai alla pagina leaderboard Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
Specifica i dati da visualizzare nel grafico. Oltre a utilizzare la scheda PromQL descritta in precedenza, puoi anche utilizzare MQL.
Per utilizzare MQL, segui questi passaggi:
- Nella barra degli strumenti della riquadro Query Builder, seleziona il pulsante con code MQL o code PromQL.
- Verifica che sia selezionato MQL nel pulsante di attivazione/disattivazione Lingua. Il pulsante di attivazione/disattivazione della lingua si trova nella stessa barra degli strumenti che consente di formattare la query.
Inserisci la seguente query:
fetch prometheus_target::prometheus.googleapis.com/up/gauge
Fai clic su Esegui query.
Per utilizzare l'interfaccia basata su menu, procedi nel seguente modo:
Nel campo Tipo di risorsa, digita "prometheus". per filtrare quindi seleziona Target Prometheus.
Nel campo Metrica, digita "up/". per filtrare l'elenco, quindi Seleziona prometheus/up/gauge.
Il grafico risultante da una di queste query mostra gli stessi dati del grafico mostrato con l'esempio PromQL.
La risorsa prometheus_target
In Cloud Monitoring, i dati delle serie temporali vengono scritti in base a una risorsa
di testo. Per le metriche Prometheus, il tipo di risorsa monitorata
prometheus_target
Monitoraggio delle query per
Metriche Prometheus non scritte in PromQL
devi specificare questo tipo di risorsa.
La risorsa prometheus_target
ha le seguenti etichette, che puoi
da utilizzare per filtrare e manipolare i dati sottoposti a query:
project_id
: l'identificatore del progetto Google Cloud, ad esempiomy-project
, in cui è in esecuzione l'agente operativo.location
: la regione Google Cloud o AWS in cui Ops Agent è in esecuzione; ad esempious-east1-a
(Google Cloud) oaws:us-east-1a
(AWS).cluster
: sempre__gce__
per le metriche Prometheus raccolte utilizzando Ops Agent.namespace
: l'ID istanza Compute Engine della VM su cui è in esecuzione Ops Agent.job
: il valore del campojob_name
nella configurazione del ricevitore.instance
: l'etichetta dell'istanza del target Prometheus, estratta dal la configurazione del ricevitore; per impostazione predefinita il target.
I valori di queste etichette vengono impostati durante la raccolta. I valori delle etichette namespace
, location
e cluster
sono immutabili. Se
le metriche tratte dalla tua applicazione hanno anche queste etichette,
l'agente Ops antepone alle etichette tratte la stringa exported_
.
Visualizzare l'utilizzo delle metriche e la diagnostica in Cloud Monitoring
La pagina Gestione delle metriche di Cloud Monitoring fornisce informazioni che possono aiutarti a controllare la spesa per le metriche fatturabili senza influire sull'osservabilità. La pagina Gestione delle metriche riporta le seguenti informazioni:
- Volumi di importazione sia per la fatturazione basata su byte che su sample, per i domini delle metriche e per le singole metriche.
- Dati su etichette e cardinalità delle metriche.
- Numero di letture per ogni metrica.
- Utilizzo di metriche nei criteri di avviso e nelle dashboard personalizzate.
- Percentuale di errori di scrittura delle metriche.
Puoi anche utilizzare la gestione delle metriche per: escludere le metriche non necessarie, eliminando il costo dell'importazione.
Per visualizzare la pagina Gestione delle metriche:
-
Nella console Google Cloud, vai alla pagina
Gestione delle metriche:Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Seleziona la finestra temporale nella barra degli strumenti. Per impostazione predefinita, La pagina Gestione delle metriche mostra informazioni sulle metriche raccolte. nel giorno precedente.
Per saperne di più sulla pagina Gestione delle metriche, consulta Visualizza e gestisci l'utilizzo delle metriche.
Rietichettatura: modifica dei dati di cui eseguire lo scraping
Puoi utilizzare la ridefinizione delle etichette per modificare l'insieme di etichette del target dello scraping o le relative metriche prima che il target venga sottoposto a scraping. Se in una configurazione di rinominazione sono presenti più passaggi, questi vengono applicati nell'ordine in cui compaiono nel file di configurazione.
Ops Agent crea un insieme di meta etichette (etichette che hanno come prefisso
stringa __meta_
. Queste meta etichette registrano le informazioni sull'istanza Compute Engine su cui è in esecuzione Ops Agent. Etichette con prefisso __
, incluse le meta etichette,
sono disponibili solo durante la rietichettatura. Puoi rietichettare i tuoi video per acquisire
i valori di queste etichette nelle etichette copiate.
La rietichettatura delle metriche viene applicata ai campioni; questo è l'ultimo passaggio prima per l'importazione. Puoi utilizzare la ridesignazione delle metriche per eliminare le serie temporali che non devi importare. L'eliminazione di queste serie temporali consente di ridurre il numero di campioni importati, il che può ridurre i costi.
Per ulteriori informazioni sul rinominazione, consulta la documentazione di Prometheus per relabel_config
e metric_relabel_configs
.
Meta etichette di Compute Engine disponibili durante la rietichettatura
Quando Ops Agent esegue lo scraping delle metriche, include un insieme di meta-etichette la cui
si basano sulla configurazione della VM di Compute Engine su cui
mentre l'agente è in esecuzione. Puoi utilizzare queste etichette e il prompt
relabel_configs
per aggiungere ulteriori metadati alle tue metriche su
alla VM da cui sono stati importati. Per un esempio, consulta
Configurazione aggiuntiva del ricevitore.
I seguenti meta-tag sono disponibili per i target e possono essere utilizzati nella sezione relabel_configs
:
__meta_gce_instance_id
: l'ID numerico dell'istanza Compute Engine (locale)__meta_gce_instance_name
: il nome dell'istanza Compute Engine (locale); Ops Agent inserisce automaticamente questo valore nell'etichettainstance_name
mutabile delle metriche.__meta_gce_machine_type
: URL completo o parziale del tipo di macchina dell'istanza. L'agente di gestione inserisce automaticamente questo valore nell'etichettamachine_type
mutabile nelle metriche.__meta_gce_metadata_NAME
: ogni elemento dei metadati dell'istanza__meta_gce_network
: l'URL di rete dell'istanza__meta_gce_private_ip
: l'indirizzo IP privato dell'istanza__meta_gce_interface_ipv4_NAME
: indirizzo IPv4 di ogni interfaccia denominata__meta_gce_project
: il progetto Google Cloud in cui è in esecuzione l'istanza (locale)__meta_gce_public_ip
: l'indirizzo IP pubblico dell'istanza, se presente__meta_gce_tags
: elenco separato da virgole di tag istanza__meta_gce_zone
: l'URL della zona Compute Engine in cui è in esecuzione l'istanza
I valori di queste etichette vengono impostati all'avvio di Ops Agent. Se modifichi i valori, devi riavviare Ops Agent per aggiornarli.
Configurazione destinatario aggiuntivo
Questa sezione fornisce esempi che utilizzano le sezioni relabel_configs
e
metric_relabel_configs
del ricevitore Prometheus per modificare
il numero e la struttura delle metriche importate. Questa sezione include anche una versione modificata del ricevitore per l'esempio di Esportatore JSON che utilizza le opzioni di rinominazione.
Aggiungere metadati della VM
Puoi utilizzare la sezione relabel_configs
per aggiungere etichette alle metriche.
Ad esempio, di seguito viene utilizzata una meta-etichetta, __meta_gce_zone
,
fornita da Ops Agent per creare un'etichetta della metrica, zone
, che
viene conservato dopo la rietichettatura, perché zone
non ha
il prefisso __
.
Per un elenco dei meta-etichetti disponibili, consulta Meta-etichette di Compute Engine disponibili durante il rinomino. Alcune delle etichette meta vengono rinominate automaticamente dalla configurazione predefinita di Ops Agent.
relabel_configs: - source_labels: [__meta_gce_zone] regex: '(.+)' replacement: '${1}' target_label: zone
Il ricevitore Prometheus mostrato in Esempio: configurazione di Ops Agent per Prometheus include l'aggiunta di questa etichetta.
Elimina metriche
Puoi utilizzare la sezione metrics_relabel_configs
per rilasciare metriche che
che non vuoi importare; questo pattern è utile per il contenimento dei costi.
Ad esempio, puoi utilizzare il seguente pattern per rilasciare qualsiasi metrica con
un nome che corrisponde a METRIC_NAME_REGEX_1 o METRIC_NAME_REGEX_2:
metric_relabel_configs: - source_labels: [ __name__ ] regex: 'METRIC_NAME_REGEX_1' action: drop - source_labels: [ __name__ ] regex: 'METRIC_NAME_REGEX_2' action: drop
Aggiungere etichette statiche
Puoi utilizzare la sezione metrics_relabel_configs
per aggiungere etichette statiche a
tutte le metriche importate dal ricevitore Prometheus. Puoi utilizzare le seguenti opzioni
pattern per aggiungere le etichette staticLabel1
e staticLabel2
a tutte le metriche importate:
metric_relabel_configs: - source_labels: [ __address__ ] action: replace replacement: 'STATIC_VALUE_1' target_label: staticLabel1 - source_labels: [ __address__ ] action: replace replacement: 'STATIC_VALUE_2' target_label: staticLabel2
La seguente versione del ricevitore Prometheus per l'esportazione JSON utilizza questi pattern di configurazione per:
- Imposta l'etichetta
zone
dal valore dell'elemento__meta_gce_zone
meta-etichetta fornita da Ops Agent. - Rilascia la metrica
example_global_value
dell'esportatore. - Aggiungi l'etichetta
staticLabel
con il valore "Un valore statico" a tutti i valori importati metriche di valutazione.
metrics: receivers: prometheus: type: prometheus config: scrape_configs: - job_name: 'json_exporter' scrape_interval: 10s metrics_path: /probe params: module: [default] target: [http://localhost:8000/examples/data.json] static_configs: - targets: ['localhost:7979'] relabel_configs: - source_labels: [__meta_gce_zone] regex: '(.+)' replacement: '${1}' target_label: zone metric_relabel_configs: - source_labels: [ __name__ ] regex: 'example_global_value' action: drop - source_labels: [ __address__ ] action: replace replacement: 'A static value' target_label: staticLabel