Il sidecar di Managed Service per Prometheus per Cloud Run è il modo consigliato da Google per ottenere il monitoraggio in stile Prometheus per i servizi Cloud Run. Se il tuo servizio Cloud Run scrive metriche OTLP, puoi utilizzare il sidecar OpenTelemetry. Tuttavia, per i servizi che scrivono metriche Prometheus, utilizza il sidecar di Managed Service per Prometheus descritto in questo documento.
Questo documento descrive come:
- Aggiungi il sidecar Managed Service per Prometheus a un servizio Cloud Run esistente.
- Crea un'app di esempio con il sidecar. Se non disponi di un servizio Cloud Run esistente, puoi utilizzare l'app di esempio per vedere come funziona il sidecar.
Il sidecar utilizza Google Cloud Managed Service per Prometheus sul lato server e una distribuzione di OpenTelemetry Collector, creata su misura per i workload serverless, sul lato client. Questa distribuzione personalizzata include alcune modifiche per supportare Cloud Run. L'agente di raccolta esegue uno scraping di avvio dopo 10 secondi ed esegue uno scraping di arresto, indipendentemente dalla durata dell'istanza. Per la massima affidabilità, consigliamo che i servizi Cloud Run che eseguono il sidecar utilizzino anche l'impostazione di fatturazione basata sull'istanza. Per saperne di più, consulta Impostazioni di fatturazione (servizi). Alcuni tentativi di scraping potrebbero non riuscire se l'allocazione della CPU è limitata a causa di un numero ridotto di query al secondo (QPS). Una CPU sempre allocata rimane disponibile.
Il sidecar si basa sulla funzionalità multi-container (sidecar) di Cloud Run per eseguire l'agente di raccolta come container sidecar insieme al container del workload. Per ulteriori informazioni sui sidecar in Cloud Run, vedere Distribuzione di più container in un servizio (sidecar).
Il sidecar Managed Service per Prometheus per Cloud Run introduce una nuova configurazione, RunMonitoring, un sottoinsieme della risorsa personalizzata PodMonitoring di Kubernetes. La maggior parte degli utenti può utilizzare la configurazione predefinita RunMonitoring, ma è anche possibile creare configurazioni personalizzate. Per ulteriori
informazioni sulle configurazioni predefinite e personalizzate di RunMonitoring, consulta Aggiungere il sidecar a un servizio Cloud Run.
Prima di iniziare
Questa sezione descrive la configurazione necessaria per utilizzare questo documento.
Installa e configura gcloud CLI
Molti dei passaggi descritti in questo documento utilizzano Google Cloud CLI. Per informazioni sull'installazione di gcloud CLI, vedi Gestione dei componenti di Google Cloud CLI.
Quando richiami i comandi gcloud, devi specificare l'identificatore
per il tuo progetto Google Cloud . Puoi impostare un progetto predefinito per Google Cloud CLI ed eliminare la necessità di inserirlo a ogni comando.
Per impostare il progetto come predefinito, inserisci questo comando:
gcloud config set project PROJECT_ID
È inoltre possibile impostare una regione predefinita per il servizio Cloud Run. Per impostare una regione predefinita, inserisci questo comando:
gcloud config set run/region REGION
Abilita API
Devi abilitare le seguenti API nel tuo progetto Google Cloud :
- API Cloud Run Admin:
run.googleapis.com - API Artifact Registry:
artifactregistry.googleapis.com - API Cloud Monitoring:
monitoring.googleapis.com - API Cloud Logging:
logging.googleapis.com - (Facoltativo) Se crei una configurazione
RunMonitoringpersonalizzata, devi abilitare l'API Secret Manager:secretmanager.googleapis.com - (Facoltativo) Se scegli di eseguire l'app di esempio utilizzando Cloud Build,
devi abilitare anche le seguenti API:
- API Cloud Build:
cloudbuild.googleapis.com. - API Identity and Access Management:
iam.googleapis.com. Per saperne di più, consulta Crea ed esegui l'app di esempio.
- API Cloud Build:
Per visualizzare le API abilitate nel tuo progetto, esegui questo comando:
gcloud services list
Per abilitare un'API non abilitata, esegui uno dei seguenti comandi:
gcloud services enable run.googleapis.com gcloud services enable artifactregistry.googleapis.com gcloud services enable secretmanager.googleapis.com gcloud services enable monitoring.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable cloudbuild.googleapis.com gcloud services enable iam.googleapis.com
Service account per Cloud Run
Per impostazione predefinita, i processi e i servizi di Cloud Run utilizzano l'account di servizio predefinito di Compute Engine , PROJECT_NUMBER-compute@developer.gserviceaccount.com.
Questo account di servizio di solito dispone dei ruoli IAM (Identity and Access Management)
necessari per scrivere le metriche e i log descritti in questo documento:
roles/monitoring.metricWriterroles/logging.logWriter
Se crei una configurazione RunMonitoring personalizzata, il tuo account di servizio deve avere anche i seguenti ruoli:
roles/secretmanager.adminroles/secretmanager.secretAccessor
Puoi anche configurare un account di servizio gestito dall'utente per Cloud Run. Un account di servizio gestito dall'utente deve disporre anche di questi ruoli. Per saperne di più sui service account per Cloud Run, consulta Configurazione dell'identità di servizio.
Configura e aggiungi il sidecar a un servizio Cloud Run
Il sidecar Managed Service per Prometheus per Cloud Run introduce una nuova configurazione, RunMonitoring, che è un sottoinsieme della risorsa personalizzata PodMonitoring di Kubernetes. La configurazione RunMonitoring utilizza le opzioni PodMonitoring esistenti per supportare Cloud Run, eliminando al contempo alcune opzioni specifiche di Kubernetes.
Puoi utilizzare la configurazione RunMonitoring predefinita oppure
crearne una personalizzata. Nelle sezioni seguenti vengono descritti entrambi gli approcci. Non è necessario farlo da entrambe le piattaforme. Per ulteriori informazioni sull'utilizzo di configurazioni predefinite o personalizzate, selezionare la scheda corrispondente.
Configurazione predefinita
Utilizza la configurazione RunMonitoring predefinita
Se non crei una configurazione RunMonitoring personalizzata, il
collettore sidecar sintetizza la seguente configurazione predefinita per recuperare
le metriche dalla porta 8080 nel percorso delle metriche /metrics ogni 30 secondi:
apiVersion: monitoring.googleapis.com/v1beta
kind: RunMonitoring
metadata:
name: run-gmp-sidecar
spec:
endpoints:
- port: 8080
path: /metrics
interval: 30s
L'utilizzo della configurazione predefinita non richiede alcuna configurazione aggiuntiva oltreaggiunta del sidecar al servizio Cloud Run.
Aggiungi il sidecar a un servizio Cloud Run
Per utilizzare il sidecar con la configurazione RunMonitoring
predefinita, devi modificare la configurazione Cloud Run
esistente per aggiungere il sidecar. Per aggiungere il sidecar, procedi come segue:
- Aggiungi un'annotazione di dipendenza del container che specifica l'ordine di avvio e arresto dei container. Nell'esempio seguente, il container sidecar, denominato "collector", viene avviato dopo e arrestato prima del container dell'applicazione, denominato "app" nell'esempio.
- Crea un contenitore per l'agente di raccolta, denominato "collector" nell'esempio seguente.
Ad esempio, aggiungi le righe precedute dal carattere + (più) alla configurazione di Cloud Run e poi ridistribuisci il servizio:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
annotations:
run.googleapis.com/launch-stage: ALPHA
run.googleapis.com/cpu-throttling: 'false'
name: my-cloud-run-service
spec:
template:
metadata:
annotations:
run.googleapis.com/execution-environment: gen2
+ run.googleapis.com/container-dependencies: '{"collector":["app"]}'
spec:
containers:
- image: "REGION-docker.pkg.dev/PROJECT_ID/run-gmp/sample-app"
name: app
startupProbe:
httpGet:
path: /startup
port: 8000
livenessProbe:
httpGet:
path: /liveness
port: 8000
ports:
- containerPort: 8000
+ - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.2.0"
+ name: collector
Per eseguire nuovamente il deployment del servizio Cloud Run con il file di configurazione
run-service.yaml, esegui questo comando:
gcloud run services replace run-service.yaml --region=REGION
Configurazione personalizzata
Crea una configurazione RunMonitoring personalizzata
È possibile creare una configurazione RunMonitoring per un servizio Cloud Run se la configurazione predefinita non è sufficiente.
Ad esempio, è possibile creare una configurazione come la seguente:
apiVersion: monitoring.googleapis.com/v1beta
kind: RunMonitoring
metadata:
name: my-custom-cloud-run-job
spec:
endpoints:
- port: 8080
path: /metrics
interval: 10s
metricRelabeling:
- action: replace
sourceLabels:
- __address__
targetLabel: label_key
replacement: label_value
targetLabels:
metadata:
- service
- revision
Questa configurazione esegue le seguenti operazioni:
- Recupera le metriche dalla porta 8080 e utilizza il percorso delle metriche predefinito
/metrics. - Utilizza un intervallo di scraping di 10 secondi.
- Utilizza la rietichettatura per aggiungere l'etichetta
label_keycon il valorelabel_valuea ogni metrica sottoposta a scraping. - Aggiunge le etichette dei metadati
serviceerevisiona ogni metrica sottoposta a scraping.
Per informazioni sulle opzioni di configurazione disponibili, consulta RunMonitoring spec: configuration options.
Quando utilizzi una configurazione RunMonitoring personalizzata, devi
eseguire la seguente configurazione aggiuntiva:
- Abilita l'API Secret Manager e concedi al tuo account di servizio Cloud Run i ruoli Secret Manager. Per saperne di più, consulta Prima di iniziare.
- Memorizza la configurazione personalizzata come secret.
- Aggiungi il sidecar a un servizio Cloud Run .
Archivia la configurazione utilizzando Secret Manager
Per fornire una configurazione RunMonitoring personalizzata, procedere come segue:
- Crea un file contenente la configurazione personalizzata.
- Crea un segreto di Secret Manager che contenga la configurazione personalizzata.
Il seguente comando crea un secret denominato mysecret dal file
custom-config.yaml:
gcloud secrets create mysecret --data-file=custom-config.yaml
Per applicare una modifica alla configurazione dopo aver modificato il file custom-config.yaml, è necessario eliminare e ricreare il secret, quindi rifare il deployment del servizio Cloud Run.
Aggiornamento della configurazione in Secret Manager
Se vuoi aggiornare la configurazione personalizzata di RunMonitoring in qualsiasi
momento, puoi aggiungere una nuova versione del secret esistente a
Secret Manager.
Ad esempio, per aggiornare mysecret con una nuova configurazione archiviata nel file
custom-config-updated.yaml, puoi eseguire:
gcloud secrets versions add mysecret --data-file=custom-config-updated.yaml
Il sidecar si ricarica automaticamente e applica le modifiche alla sua configurazione.
Aggiungi il sidecar a un servizio Cloud Run
Dopo aver creato un secret di Secret Manager per la configurazione di RunMonitoring, devi modificare la configurazione di Cloud Run per eseguire le seguenti operazioni:
- Aggiungi il servizio gestito per il sidecar Prometheus
- Aggiungi un'annotazione di dipendenza del container che specifica l'ordine di avvio e arresto dei container. Nell'esempio seguente, il container sidecar, denominato "collector", viene avviato dopo e arrestato prima del container dell'applicazione, denominato "app" nell'esempio.
- Crea un contenitore per il raccoglitore, denominato "collector" nell'esempio seguente.
- Aggiungi il segreto montandolo nella posizione
/etc/rungmp/config.yaml:- Aggiungi un'annotazione secrets che punta al secret contenente la tua configurazione
RunMonitoringpersonalizzata. - Crea un volume, denominato "config" nell'esempio seguente, per il secret
che punta al file
config.yaml. - Monta il volume come parte dell'immagine del raccoglitore nel percorso di montaggio
/etc/rungmp.
- Aggiungi un'annotazione secrets che punta al secret contenente la tua configurazione
Ad esempio, aggiungi le righe precedute dal carattere + (più) alla configurazione di Cloud Run e poi ridistribuisci il servizio:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
annotations:
run.googleapis.com/launch-stage: ALPHA
run.googleapis.com/cpu-throttling: 'false'
name: my-cloud-run-service
spec:
template:
metadata:
annotations:
run.googleapis.com/execution-environment: gen2
+ run.googleapis.com/container-dependencies: '{"collector":["app"]}'
+ run.googleapis.com/secrets: 'mysecret:projects/PROJECT_ID/secrets/mysecret'
spec:
containers:
- image: "REGION-docker.pkg.dev/PROJECT_ID/run-gmp/sample-app"
name: app
startupProbe:
httpGet:
path: /startup
port: 8000
livenessProbe:
httpGet:
path: /liveness
port: 8000
ports:
- containerPort: 8000
+ - image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.2.0"
+ name: collector
+ volumeMounts:
+ - mountPath: /etc/rungmp/
+ name: config
+ volumes:
+ - name: config
+ secret:
+ items:
+ - key: latest
+ path: config.yaml
+ secretName: 'mysecret'
Per eseguire nuovamente il deployment del servizio Cloud Run con il file di configurazione
run-service.yaml, esegui questo comando:
gcloud run services replace run-service.yaml --region=REGION
RunMonitoring spec: configuration options
Questa sezione descrive la specifica di configurazione RunMonitoring per il
sidecar di Managed Service per Prometheus. Di seguito è riportato un esempio di configurazione personalizzata:
apiVersion: monitoring.googleapis.com/v1beta
kind: RunMonitoring
metadata:
name: my-custom-cloud-run-job
spec:
endpoints:
- port: 8080
path: /metrics
interval: 10s
metricRelabeling:
- action: replace
sourceLabels:
- __address__
targetLabel: label_key
replacement: label_value
targetLabels:
metadata:
- service
- revision
RunMonitoring
La configurazione RunMonitoring monitora un servizio Cloud Run.
| Campo | Descrizione | Scheme | Obbligatorio |
|---|---|---|---|
metadata |
Metadati che tutte le risorse persistenti devono avere. |
metav1.ObjectMeta |
false |
spec |
Specifica del deployment di Cloud Run selezionato per l'individuazione delle destinazioni da parte di Prometheus. | RunMonitoringSpec |
true |
RunMonitoringSpec
Questa specifica descrive in che modo la configurazione RunMonitoring monitora un servizio Cloud Run.
| Campo | Descrizione | Scheme | Obbligatorio |
|---|---|---|---|
endpoints |
Endpoint da cui estrarre dati dai pod selezionati. | []ScrapeEndpoint |
true |
targetLabels |
Etichette da aggiungere al target Prometheus per gli endpoint rilevati.
L'etichetta instance è sempre impostata sull'ID dell'istanza Cloud Run. |
RunTargetLabels |
false |
limits |
Limiti da applicare al momento della raschiatura. | *ScrapeLimits |
false |
RunTargetLabels
La configurazione RunTargetLabels consente di includere le etichette Cloud Run dai target Prometheus rilevati.
| Campo | Descrizione | Scheme | Obbligatorio |
|---|---|---|---|
metadata |
Etichette dei metadati di Cloud Run impostate su tutti i target sottoposti a scraping. I tasti consentiti sono instance, revision,
service e configuration.Se sono impostate chiavi consentite, il sidecar aggiunge il valore corrispondente dell'istanza Cloud Run come etichette delle metriche a ogni metrica: instanceID, revision_name,
service_name e
configuration_name.Per impostazione predefinita, vengono impostate tutte le chiavi consentite. |
*[]string |
false |
Crea ed esegui un'app di esempio
Questa sezione descrive come eseguire il sidecar Managed Service per Prometheus con un'app di esempio. Questa sezione è facoltativa. Se hai già un servizio Cloud Run e vuoi eseguire il deployment del sidecar, consulta Aggiungere il sidecar Managed Service per Prometheus a un servizio Cloud Run.
Clona il repository run-gmp-sidecar
Per ottenere l'app di esempio e i relativi file di configurazione, clonare il repository run-gmp-sidecar eseguendo il seguente comando:
git clone https://github.com/GoogleCloudPlatform/run-gmp-sidecar/
Dopo aver clonato il repository, passa alla directory run-gmp-sidecar:
cd run-gmp-sidecar
Crea ed esegui l'app di esempio
L'app di esempio richiede Docker o un sistema di compilazione di container simile per Linux. È possibile compilare ed eseguire l'applicazione di esempio in uno dei seguenti modi:
- Utilizza Cloud Build per l'esecuzione senza supporto Docker locale. Se utilizzi Cloud Build, devi abilitare anche l'API Cloud Build.
- Crea ed esegui l'app di esempio manualmente.
Le sezioni seguenti descrivono entrambi gli approcci. Non è necessario farlo da entrambe le piattaforme. Per ulteriori informazioni, seleziona la scheda di uno degli approcci.
Utilizzare Cloud Build
Utilizzare Cloud Build
Il repository run-gmp-sidecar include i file di configurazione per
Cloud Build. Questi file raggruppano i passaggi necessari per creare e distribuire l'app di esempio.
Puoi anche eseguire manualmente i passaggi gestiti da Cloud Build. Per saperne di più, consulta Creare ed eseguire manualmente.
Configurazione di Cloud Build
Questi file di configurazione richiedono un account di servizio Cloud Build e un repository Artifact Registry. Il repository run-gmp-sidecar include anche uno
script, create-sa-and-ar.sh, che esegue le seguenti operazioni:
- Crea un account di servizio,
run-gmp-sa@PROJECT_ID.iam.gserviceaccount.com. - Concede i seguenti ruoli al account di servizio:
roles/iam.serviceAccountUserroles/storage.objectViewerroles/logging.logWriterroles/artifactregistry.createOnPushWriterroles/secretmanager.adminroles/secretmanager.secretAccessorroles/run.admin
- Crea un repository Artifact Registry,
run-gmp, per le tue immagini container.
Per creare ilrun-gmp-sa account di servizio erun-gmp repository, eseguire il seguente comando:
./create-sa-and-ar.sh
La propagazione delle autorizzazioni richiede del tempo, pertanto si consiglia di attendere circa 30 secondi prima di procedere al passaggio successivo. Altrimenti, potrebbero comparire errori di autorizzazione.
Invia richiesta Cloud Build
Dopo aver configurato il account di servizio run-gmp-sa e il repository run-gmp, puoi avviare un job Cloud Build inviando il file di configurazione di Cloud Build. È possibile utilizzare il seguente comando gcloud builds submit:
gcloud builds submit . --config=cloudbuild-simple.yaml --region=REGION
L'esecuzione di questo comando richiede diversi minuti, ma indica quasi immediatamente dove puoi trovare i dettagli della build di Cloud Build. Il messaggio è simile al seguente:
Logs are available at [ https://console.cloud.google.com/cloud-build/builds/637860fb-7a14-46f2-861e-09c1dc4cea6b?project=PROJECT_NUMBER].
Per monitorare l'avanzamento della build, vai all'URL restituito nel browser. È inoltre possibile visualizzare i log del sidecar in Cloud Logging.
Controllare l'URL del servizio
Al termine del job Cloud Build, controlla l'URL dell'endpoint del servizio Cloud Run eseguendo questo comando:
gcloud run services describe my-cloud-run-service --region=REGION --format="value(status.url)"
Questo comando restituisce l'URL del servizio, che ha il seguente aspetto:
https://my-cloud-run-service-abcdefghij-ue.a.run.app
Crea ed esegui manualmente
Compilare ed eseguire manualmente
È possibile eseguire manualmente i passaggi gestiti da Cloud Build, descritti in Utilizzare Cloud Build. Le sezioni seguenti descrivono come eseguire manualmente le stesse attività.
Imposta le variabili utilizzate dai passaggi successivi
Diversi passaggi successivi utilizzano variabili di ambiente per i valori comuni. Configura queste variabili utilizzando i seguenti comandi:
export GCP_PROJECT=PROJECT_ID export REGION=REGION
Crea un repository di immagini container
Crea un repository Artifact Registry per l'immagine container eseguendo il seguente comando:
gcloud artifacts repositories create run-gmp \
--repository-format=docker \
--location=${REGION}
Crea e pubblica l'app di esempio
Questo esempio utilizza Docker su Linux per creare l'app di esempio ed eseguirne il push in un repository Artifact Registry. Potrebbe essere necessario adattare questi comandi se si lavora in un ambiente Windows o macOS.
Per creare l'app di esempio ed eseguirne il push in Artifact Registry:
Esegui l'autenticazione del client Docker con Google Cloud CLI:
gcloud auth configure-docker ${REGION}-docker.pkg.devVai alla directory
simple-appnel repositoryrun-gmp-sidecar:pushd sample-apps/simple-app
Crea l'app
simple-appeseguendo questo comando:docker build -t ${REGION}-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app .Esegui il push dell'immagine per l'app creata eseguendo questo comando:
docker push ${REGION}-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-appTorna alla directory
run-gmp-sidecar:popd
Configura il servizio Cloud Run
Il file run-service-simple.yaml nel repository run-gmp-sidecar definisce un servizio Cloud Run multi-container che utilizza l'app di esempio e le immagini del raccoglitore create nei passaggi precedenti. Il file run-service-simple.yaml contiene la seguente specifica del servizio:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
annotations:
run.googleapis.com/launch-stage: ALPHA
run.googleapis.com/cpu-throttling: 'false'
name: my-cloud-run-service
spec:
template:
metadata:
annotations:
run.googleapis.com/execution-environment: gen2
run.googleapis.com/container-dependencies: '{"collector":["app"]}'
spec:
containers:
- image: "%SAMPLE_APP_IMAGE%"
name: app
startupProbe:
httpGet:
path: /startup
port: 8000
livenessProbe:
httpGet:
path: /liveness
port: 8000
ports:
- containerPort: 8000
- image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/cloud-run-gmp-sidecar/cloud-run-gmp-sidecar:1.2.0"
name: collector
Questo file contiene un valore segnaposto per le immagini che hai creato nei passaggi precedenti, quindi devi aggiornare i segnaposto con i valori effettivi per il tuo progettoGoogle Cloud .
Sostituisci il segnaposto %SAMPLE_APP_IMAGE% eseguendo il seguente comando:
sed -i s@%SAMPLE_APP_IMAGE%@REGION-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app@g run-service-simple.yaml
Esegui il deployment del servizio Cloud Run
Dopo aver aggiornato il file run-service-simple.yaml con i tuoi valori, puoi creare e distribuire il servizio Cloud Run eseguendo questo comando:
gcloud run services replace run-service-simple.yaml --region=REGION
Questo comando restituisce l'URL del servizio, che ha il seguente aspetto:
https://my-cloud-run-service-abcdefghij-ue.a.run.app
Consenti l'accesso HTTP non autenticato
Prima di poter effettuare una richiesta all'URL del servizio, devi modificare
il criterio del servizio Cloud Run per accettare l'accesso HTTP non autenticato. Il file policy.yaml nel repository run-gmp-sidecar
contiene la modifica necessaria.
Per modificare la policy del servizio, esegui questo comando:
gcloud run services set-iam-policy my-cloud-run-service policy.yaml --region=REGION
Verifica che l'app sia in esecuzione
Per verificare che il servizio Cloud Run abbia eseguito correttamente l'app di esempio, utilizza l'utilità curl per accedere all'endpoint metrics del servizio.
Esegui questo comando per ottenere l'URL del servizio:
SERVICE_URL=$(gcloud run services describe my-cloud-run-service --region=REGION --format 'value(status.url)')
Sostituisci REGION con la regione Cloud Run del tuo servizio.
Invia una richiesta all'URL del servizio eseguendo il seguente comando:
curl $SERVICE_URL
Se l'app è stata avviata correttamente, viene visualizzata la seguente risposta:
User request received!
Visualizza le metriche dell'app in Metrics Explorer
Il container di esempio app scrive le seguenti metriche:
foo_metric: l'ora attuale come valore in virgola mobile (indicatore).bar_metric: l'ora attuale come valore in rappresentazione in virgola mobile (contatore).
Per visualizzare queste metriche in Metrics Explorer, procedi come segue:
-
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 di creazione query, selezionare il pulsante denominato code PromQL.
Inserisci la seguente query nel riquadro dell'editor:
foo_metric
Fai clic su Aggiungi query.
Nella barra degli strumenti del riquadro di creazione query, selezionare il pulsante denominato code PromQL.
Inserisci la seguente query nel secondo riquadro dell'editor:
bar_metric
Fai clic su Esegui query.
Per visualizzare i dettagli relativi alle metriche, nel selettore denominato Grafico Tabella Entrambi, selezionare Entrambi.
Esegui la pulizia
Quando hai finito di sperimentare con l'app di esempio, puoi usare l'clean-up-cloud-run.sh sceneggiatura nelrun-gmp-sidecar repository per eliminare le seguenti risorse che potresti aver creato per l'esempio:
- Il servizio Cloud Run.
- Il repository di Artifact Registry.
- Il account di servizio creato per Cloud Build.
L'eliminazione di queste risorse garantisce che non vengano sostenuti costi dopo l'esecuzione del campione.
Per pulire l'app di esempio, esegui lo script clean-up-cloud-run.sh:
./clean-up-cloud-run.sh
Visualizzare le metriche personali in Metrics Explorer
Il sidecar di Managed Service per Prometheus invia a Cloud Monitoring le seguenti metriche relative a se stesso:
agent_uptime: Il tempo di attività del raccoglitore sidecar (contatore).agent_memory_usage: La memoria utilizzata dal collettore sidecar (indicatore).agent_api_request_count: il numero di richieste API dal raccoglitore sidecar (contatore).agent_monitoring_point_count: Il numero di punti della metrica scritti in Cloud Monitoring dall'agente di raccolta sidecar (contatore).
Per visualizzare le self-metriche del sidecar 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.
Nella barra degli strumenti del riquadro di creazione query, selezionare il pulsante denominato code PromQL.
Inserisci il nome della metrica che vuoi interrogare nel riquadro dell'editor, ad esempio:
agent_api_request_count
Fai clic su Esegui query.
Per visualizzare i dettagli relativi alle metriche, nel selettore denominato Grafico Tabella Entrambi, selezionare Entrambi.
Visualizzare i log personali in Esplora log
Il sidecar di Managed Service per Prometheus scrive i log in Cloud Logging. Il sidecar scrive i log rispetto al tipo di risorsa monitorata Logging.cloud_run_revision .
Per visualizzare i log del sidecar in Esplora log, procedi come segue:
-
Nella console Google Cloud , vai alla pagina Esplora log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Seleziona il tipo di risorsa Cloud Run Revision oppure inserisci la seguente query e fai clic su Esegui query:
resource.type="cloud_run_revision"
Informazioni sulle metriche raccolte
Quando le metriche emesse dal sidecar vengono importate in Cloud Monitoring, vengono scritte in base al tipo di risorsa monitorata prometheus_target di Cloud Monitoring.
Questo tipo di risorsa viene utilizzato sia per le metriche dell'applicazione sia per le metriche automatiche del sidecar.
Quando scrive le metriche, il sidecar imposta le etichette delle risorse nel seguente modo:
project_id: l'ID del progetto Google Cloud in cui è in esecuzione il container.location: la regione Google Cloud in cui è in esecuzione il container.cluster: il valore__run__.namespace: il nome del servizio Cloud Run in esecuzione; deriva dalla variabile di ambienteK_SERVICE.job: nome della configurazioneRunMonitoring; il valore predefinito èrun-gmp-sidecar.instance: il valorefaas.ID:PORTdel workload locale da cui il container è configurato per estrarre le metriche. Il valore faas.ID è l'ID istanza dell'istanza Cloud Run.
Il sidecar aggiunge anche le seguenti etichette metriche:
instanceId: l'ID dell'istanza Cloud Run.service_name: Il nome del servizio Cloud Run in esecuzione.revision_name: il nome della revisione Cloud Run in esecuzione.configuration_name: il nome della configurazione Cloud Run in esecuzione.
Tutte queste etichette metriche vengono aggiunte di default. Se utilizzi una configurazione
RunMonitoring personalizzata, puoi omettere le etichette service_name, revision_name e configuration_name utilizzando l'opzione targetLabels nella specifica RunMonitoring. Puoi anche utilizzare una configurazione personalizzata per rietichettare i valori delle etichette service_name, revision_name e configuration_name.
Tutte le altre etichette visualizzate con le metriche importate provengono dalla metrica.
Se un'etichetta definita dall'utente è in conflitto con una delle etichette fornite dal sistema, all'etichetta definita dall'utente viene preceduta la stringa exported_. Ad esempio,
un'etichetta specificata dall'utente namespace="playground" è in conflitto con l'etichetta
namespace definita dal sistema, quindi l'etichetta utente viene visualizzata come exported_namespace="playground".
Tipo di metrica
Quando le metriche emesse dal sidecar vengono importate in Cloud Monitoring, vengono scritte come metriche prometheus.googleapis.com e il tipo della metrica Prometheus viene aggiunto alla fine del nome. Ad esempio,
l'app di esempio emette una metrica di tipo Gauge di Prometheus denominata foo_metric. In
Cloud Monitoring, la metrica viene archiviata come tipo di metrica
prometheus.googleapis.com/foo_metric/gauge.
Quando si interroga la metrica con PromQL, è possibile utilizzare il nome Prometheus, come illustrato in Visualizza le metriche dell'app in Esplora metriche e Visualizza le metriche personali in Esplora metriche. Quando utilizzi strumenti come il generatore di query o Monitoring Query Language (MQL) in Metrics Explorer, il tipo di metrica Cloud Monitoring è pertinente.
Fatturazione
Le metriche emesse dal sidecar vengono importate in Cloud Monitoring con
il prefisso prometheus.googleapis.com. Le metriche con questo prefisso vengono tariffate in base al numero di campioni analizzati. Per saperne di più sulla fatturazione e su
Managed Service per Prometheus, consulta Fatturazione.