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 file collaterale OpenTelemetry. Tuttavia, per i servizi che scrivono metriche di Prometheus, utilizza il servizio gestito per il file collaterale Prometheus descritto in questo documento.
Questo documento descrive come effettuare le seguenti operazioni:
- Aggiungi il servizio collaterale Managed Service per Prometheus a un servizio Cloud Run esistente.
- Crea un'app di esempio con il file collaterale. Se non disponi di un servizio Cloud Run esistente, puoi utilizzare l'app di esempio per vedere come funziona il file collaterale.
Il file collaterale utilizza Google Cloud Managed Service per Prometheus sul lato server e una distribuzione di OpenTelemetry Collector, realizzata appositamente per carichi di lavoro serverless, sul lato client. Questa distribuzione personalizzata include alcune modifiche per supportare Cloud Run. Il raccoglitore esegue uno scrape di avvio dopo 10 secondi ed esegue uno scrape di arresto, indipendentemente dalla durata breve dell'istanza. Per la massima affidabilità, consigliamo che anche i servizi Cloud Run che eseguono il file collaterale utilizzino una CPU sempre allocata. Per saperne di più, consulta Allocazione della CPU (servizi). Alcuni tentativi di scrape 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 file collaterale si basa sulla funzionalità multicontainer (sidecar) di Cloud Run per eseguire il raccoglitore come container collaterale insieme al container dei carichi di lavoro. Per maggiori informazioni sui file collaterali in Cloud Run, consulta Deployment di più container in un servizio (sidecar).
Il sidecar di Managed Service per Prometheus per Cloud Run introduce una nuova configurazione,
RunMonitoring
, un sottoinsieme della risorsa Kubernetes
PodMonitoring
personalizzata. La maggior parte degli utenti può utilizzare la configurazione predefinita di RunMonitoring
, ma puoi anche creare configurazioni personalizzate. Per ulteriori informazioni sulle configurazioni RunMonitoring
predefinite e personalizzate, consulta Aggiungere il file collaterale a un servizio Cloud Run.
Prima di iniziare
In questa sezione viene descritta l'impostazione 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, consulta 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 con ogni comando.
Per impostare il tuo progetto come predefinito, inserisci il seguente comando:
gcloud config set project PROJECT_ID
Puoi anche impostare una regione predefinita per il tuo servizio Cloud Run. Per impostare una regione predefinita, inserisci il seguente comando:
gcloud config set run/region REGION
Abilita le API
Devi abilitare le API seguenti 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
RunMonitoring
personalizzata, 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 API seguenti:
- API Cloud Build:
cloudbuild.googleapis.com
. - API Identity and Access Management:
iam.googleapis.com
. Per maggiori informazioni, consulta Creare ed eseguire l'app di esempio.
- API Cloud Build:
Per visualizzare le API abilitate nel progetto, esegui questo comando:
gcloud services list
Per abilitare un'API non abilitata, esegui uno dei comandi seguenti:
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
Account di servizio per Cloud Run
Per impostazione predefinita, i job e i servizi Cloud Run utilizzano l'account di servizio predefinito di Compute Engine PROJECT_NUMBER-compute@developer.gserviceaccount.com
.
Questo account di servizio in genere dispone dei ruoli Identity and Access Management (IAM) necessari per scrivere le metriche e i log descritti in questo documento:
roles/monitoring.metricWriter
roles/logging.logWriter
Se crei una configurazione RunMonitoring
personalizzata, l'account di servizio deve avere anche i seguenti ruoli:
roles/secretmanager.admin
roles/secretmanager.secretAccessor
Puoi anche configurare un account di servizio gestito dall'utente per Cloud Run. Anche un account di servizio gestito dall'utente deve avere questi ruoli. Per ulteriori informazioni sugli account di servizio per Cloud Run, consulta Configurazione dell'identità del servizio.
Configura e aggiungi il file collaterale a un servizio Cloud Run
Il sidecar di Managed Service per Prometheus per Cloud Run introduce una nuova configurazione, RunMonitoring
, che è un sottoinsieme della risorsa Kubernetes PodMonitoring
personalizzata. La configurazione RunMonitoring
utilizza le opzioni PodMonitoring
esistenti per supportare Cloud Run, eliminando al contempo alcune opzioni specifiche di Kubernetes.
Puoi usare la configurazione predefinita di RunMonitoring
oppure creare una configurazione personalizzata. Le seguenti sezioni descrivono
entrambi gli approcci. Non è necessario eseguire entrambe le operazioni. Per ulteriori informazioni sull'utilizzo di configurazioni predefinite o personalizzate, seleziona la scheda corrispondente.
Configurazione predefinita
Utilizza la configurazione RunMonitoring predefinita
Se non crei una configurazione RunMonitoring
personalizzata, il raccoglitore collaterale sintetizza la seguente configurazione predefinita per eseguire lo scraping delle 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 oltre all'aggiunta del file collaterale al servizio Cloud Run.
aggiungi il file collaterale a un servizio Cloud Run
Per utilizzare il file collaterale con la configurazione RunMonitoring
predefinita, devi modificare la configurazione di Cloud Run esistente per aggiungere il file collaterale. Per aggiungere il file collaterale:
- Aggiungi un'annotazione dipendente dai container che specifichi l'ordine di avvio e arresto dei container. Nell'esempio seguente, il container collaterale denominato "collector" inizia dopo e si arresta prima del container dell'applicazione, denominato "app" nell'esempio.
- Crea un container per il raccoglitore, denominato "collector" nell'esempio seguente.
Ad esempio, aggiungi le righe precedute dal carattere +
(più) alla configurazione di Cloud Run, quindi esegui nuovamente il deployment 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: "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.1.1" + 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
Puoi creare una configurazione RunMonitoring
per un servizio Cloud Run se la configurazione predefinita non è sufficiente.
Ad esempio, potresti creare una configurazione simile alla 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 svolge le seguenti operazioni:
- Esegue lo scraping delle metriche dalla porta 8080 e utilizza il percorso delle metriche predefinito
/metrics
. - Utilizza un intervallo di scrape di 10 secondi.
- Utilizza la rietichettatura per aggiungere l'etichetta
label_key
con il valorelabel_value
a ogni metrica di cui è stato eseguito lo scraping. - Aggiunge le etichette dei metadati
service
erevision
a ogni metrica di cui è stato eseguito lo scraping.
Per informazioni sulle opzioni di configurazione disponibili, consulta Specifica di RunMonitoring: opzioni di configurazione.
Quando utilizzi una configurazione RunMonitoring
personalizzata, devi eseguire la seguente configurazione aggiuntiva:
- Abilitare l'API Secret Manager e concedere i ruoli di Secret Manager all'account di servizio Cloud Run. Per ulteriori informazioni, consulta Prima di iniziare.
- Archivia la configurazione personalizzata come secret.
- Aggiungi il file collaterale a un servizio Cloud Run .
Archivia la configurazione utilizzando Secret Manager
Per fornire una configurazione RunMonitoring
personalizzata:
- Crea un file contenente la configurazione personalizzata.
- Creare un secret di Secret Manager contenente la configurazione personalizzata.
Il comando seguente 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
, devi eliminare e ricreare il secret ed eseguire nuovamente il deployment del servizio Cloud Run.
Aggiornamento della configurazione in Secret Manager
Se vuoi aggiornare la configurazione RunMonitoring
personalizzata 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 file collaterale si ricarica automaticamente e applica le modifiche alla sua configurazione.
aggiungi il file collaterale 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:
- Aggiungi il servizio collaterale Managed Service per Prometheus
- Aggiungi un'annotazione dipendente dai container che specifichi l'ordine di avvio e arresto dei container. Nell'esempio seguente, il container collaterale denominato "collector" inizia dopo e si arresta prima del container dell'applicazione, denominato "app" nell'esempio.
- Crea un container per il raccoglitore, denominato "collector" nell'esempio seguente.
- Aggiungi il secret montandolo
nella posizione
/etc/rungmp/config.yaml
:- Aggiungi un'annotazione dei secret che indirizzi al secret che contiene la
configurazione di
RunMonitoring
personalizzata. - Crea un volume, denominato "config" nell'esempio seguente, per il secret che rimanda al file
config.yaml
. - Monta il volume come parte dell'immagine del raccoglitore nel percorso di montaggio
/etc/rungmp
.
- Aggiungi un'annotazione dei secret che indirizzi al secret che contiene la
configurazione di
Ad esempio, aggiungi le righe precedute dal carattere +
(più) alla configurazione di Cloud Run, quindi esegui nuovamente il deployment 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"]}' + 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.1.1" + 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
Specifiche RunMonitoring: opzioni di configurazione
Questa sezione descrive le specifiche di configurazione di RunMonitoring
per il file collaterale 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 di RunMonitoring
monitora un servizio Cloud Run.
Campo | Descrizione | Scheme | Obbligatorio |
---|---|---|---|
metadata |
I metadati che devono essere presenti tutte le risorse persistenti. |
metav1.ObjectMeta |
false |
spec |
Specifica del deployment Cloud Run selezionato per il rilevamento della destinazione da parte di Prometheus. | RunMonitoringSpec |
true |
RunMonitoringSpec
Questa specifica descrive il modo in cui la configurazione di RunMonitoring
monitora un servizio Cloud Run.
Campo | Descrizione | Scheme | Obbligatorio |
---|---|---|---|
endpoints |
Endpoint per lo scraping dei pod selezionati. | []ScrapeEndpoint |
true |
targetLabels |
Etichette da aggiungere alla destinazione Prometheus per gli endpoint rilevati.
L'etichetta instance è sempre impostata sull'ID dell'istanza Cloud Run. |
RunTargetLabels |
false |
limits |
Limiti da applicare al momento dello scraping. | *ScrapeLimits |
false |
RunTargetLabels
La configurazione RunTargetLabels
consente di includere
le etichette Cloud Run delle destinazioni Prometheus rilevate.
Campo | Descrizione | Scheme | Obbligatorio |
---|---|---|---|
metadata |
Etichette dei metadati Cloud Run impostate su tutte le destinazioni di cui è stato eseguito lo scraping. Le chiavi consentite sono instance , revision ,
service e configuration .Se sono impostate chiavi consentite, il file collaterale aggiunge il valore corrispondente dell'istanza Cloud Run sotto forma di etichette delle metriche a ogni metrica: instanceID , revision_name ,
service_name e
configuration_name .Il valore predefinito è tutte le chiavi consentite che vengono impostate. |
*[]string |
false |
Crea ed esegui un'app di esempio
Questa sezione descrive come eseguire il servizio collaterale 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 servizio collaterale con questo servizio, consulta Aggiungere il servizio gestito per il servizio collaterale Prometheus a un servizio Cloud Run.
clona il repository run-gmp-sidecar
Per recuperare l'app di esempio e i relativi file di configurazione, clona il repository run-gmp-sidecar
eseguendo questo 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. Puoi creare ed eseguire l'app di esempio in uno dei seguenti modi:
- Usa Cloud Build per l'esecuzione senza il supporto Docker locale. Se utilizzi Cloud Build, devi abilitare anche l'API Cloud Build.
- Crea ed esegui manualmente l'app di esempio.
Nelle sezioni seguenti vengono descritti entrambi gli approcci. Non è necessario eseguire entrambe le operazioni. Per saperne di più, seleziona la scheda relativa a uno degli approcci.
Utilizzare Cloud Build
Utilizzare Cloud Build
Il repository run-gmp-sidecar
include i file di configurazione per Cloud Build. che raggruppano i passaggi necessari
per la creazione e il deployment dell'app.
Puoi anche eseguire manualmente i passaggi gestiti da Cloud Build. Per saperne di più, consulta Creare ed eseguire manualmente.
Configura per 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:
- Crea un account di servizio,
run-gmp-sa@PROJECT_ID.iam.gserviceaccount.com
. - Concede i ruoli seguenti all'account di servizio:
roles/iam.serviceAccountUser
roles/storage.objectViewer
roles/logging.logWriter
roles/artifactregistry.createOnPushWriter
roles/secretmanager.admin
roles/secretmanager.secretAccessor
roles/run.admin
- Crea un repository Artifact Registry,
run-gmp
, per le tue immagini container.
Per creare l'account di servizio run-gmp-sa
e il repository run-gmp
, esegui questo comando:
./create-sa-and-ar.sh
La propagazione delle autorizzazioni richiede un po' di tempo, quindi ti consigliamo di attendere circa 30 secondi prima di andare al passaggio successivo. In caso contrario, potresti visualizzare errori di autorizzazione.
Invia richiesta Cloud Build
Dopo aver configurato l'account di servizio run-gmp-sa
e il repository run-gmp
, puoi avviare un job di Cloud Build inviando il file di configurazione di Cloud Build. Puoi 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 controllare l'avanzamento della build, accedi all'URL restituito nel browser. Puoi anche visualizzare i log collaterali in Cloud Logging.
Verifica l'URL del servizio
Al termine del job di Cloud Build, controlla l'URL dell'endpoint di 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 è simile al seguente:
https://my-cloud-run-service-abcdefghij-ue.a.run.app
Utilizza l'URL restituito come valore di SERVICE_URL nella sezione Verificare che l'app sia in esecuzione.
Crea ed esegui manualmente
Crea ed esegui manualmente
Puoi 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 dei passaggi successivi utilizzano le variabili di ambiente per i valori comuni. Imposta 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 questo comando:
gcloud artifacts repositories create run-gmp \ --repository-format=docker \ --location=${REGION}
Crea ed esegui il push dell'app di esempio
Questo esempio utilizza Docker su Linux per creare l'app di esempio ed eseguirne il push in un repository Artifact Registry. Potresti dover adattare questi comandi se stai lavorando in un ambiente Windows o macOS.
Per creare l'app di esempio ed eseguirne il push in Artifact Registry:
Autentica il tuo client Docker con Google Cloud CLI:
gcloud auth configure-docker ${REGION}-docker.pkg.dev
Vai alla directory
simple-app
nel repositoryrun-gmp-sidecar
:pushd sample-apps/simple-app
Crea l'app
simple-app
eseguendo 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-app
Torna 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 multicontainer che utilizza l'app di esempio e le immagini dei raccoglitori che hai creato nei passaggi precedenti. Il
file run-service-simple.yaml
contiene la seguente specifica di 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.1.1" 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 del tuo progetto Google Cloud.
Sostituisci il segnaposto %SAMPLE_APP_IMAGE%
eseguendo il comando seguente:
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 il servizio Cloud Run ed eseguirne il deployment eseguendo questo comando:
gcloud run services replace run-service-simple.yaml --region=REGION
Questo comando restituisce l'URL del servizio, che è simile al seguente:
https://my-cloud-run-service-abcdefghij-ue.a.run.app
Utilizza l'URL restituito come valore di SERVICE_URL nella sezione Verificare che l'app sia in esecuzione.
Consenti accesso HTTP non autenticato
Prima di poter effettuare una richiesta all'URL del servizio, devi modificare il criterio del servizio Cloud Run in modo da accettare l'accesso HTTP non autenticato. Il file policy.yaml
nel repository run-gmp-sidecar
contiene la modifica necessaria.
Per modificare il criterio di 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.
Imposta la variabile di ambiente
SERVICE_URL
sull'URL del servizio Cloud Run del passaggio precedente:export SERVICE_URL=SERVICE_URL
Invia una richiesta all'URL del servizio eseguendo questo 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 app
di esempio scrive le seguenti metriche:
foo_metric
: ora corrente sotto forma di valore con virgola mobile (indicatore).bar_metric
: l'ora corrente come valore con virgola mobile (contatore).
Per visualizzare queste metriche in Metrics Explorer:
-
Nel pannello di navigazione della console Google Cloud, seleziona Monitoring e poi leaderboard Metrics Explorer:
Nella barra degli strumenti del riquadro del generatore di query, seleziona il pulsante il cui nome è code MQL o code PromQL.
Verifica che sia selezionato PromQL 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 nel riquadro dell'editor:
foo_metric
Fai clic su Aggiungi query.
Nella barra degli strumenti del riquadro del generatore di query, seleziona il pulsante il cui nome è code MQL o code PromQL.
Verifica che sia selezionato PromQL 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 nel secondo riquadro dell'editor:
bar_metric
Fai clic su Esegui query.
Per visualizzare i dettagli sulle metriche, utilizza l'opzione di attivazione/disattivazione con l'etichetta Tabella relativa al grafico Entrambi, seleziona Entrambe.
Esegui la pulizia
Una volta ultimata la sperimentazione con l'app di esempio, puoi utilizzare lo script clean-up-cloud-run.sh
nel repository run-gmp-sidecar
per eliminare le seguenti risorse che potresti aver creato per l'esempio:
- Il servizio Cloud Run.
- Il repository Artifact Registry.
- L'account di servizio creato per Cloud Build.
L'eliminazione di queste risorse garantisce che non ti vengano addebitati costi dopo l'esecuzione dell'esempio.
Per eseguire la pulizia dell'app di esempio, esegui lo script clean-up-cloud-run.sh
:
./clean-up-cloud-run.sh
Visualizza metriche personali in Metrics Explorer
Il file collaterale Managed Service per Prometheus segnala a Cloud Monitoring le seguenti metriche:
agent_uptime
: il tempo di attività del raccoglitore collaterale (contatore).agent_memory_usage
: la memoria utilizzata dal raccoglitore collaterale (gauge).agent_api_request_count
: il numero di richieste API dal raccoglitore (contatore) collaterale.agent_monitoring_point_count
: il numero di punti metrica scritti in Cloud Monitoring dal raccoglitore collaterale (contatore).
Per visualizzare le metriche automatiche del file collaterale in Metrics Explorer:
-
Nel pannello di navigazione della console Google Cloud, seleziona Monitoring e poi leaderboard Metrics Explorer:
Nella barra degli strumenti del riquadro del generatore di query, seleziona il pulsante il cui nome è code MQL o code PromQL.
Verifica che sia selezionato PromQL 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 il nome della metrica su cui vuoi eseguire una query nel riquadro dell'editor, ad esempio:
agent_api_request_count
Fai clic su Esegui query.
Per visualizzare i dettagli sulle metriche, utilizza l'opzione di attivazione/disattivazione con l'etichetta Tabella relativa al grafico Entrambi, seleziona Entrambe.
Visualizza gli autolog in Esplora log
Il servizio collaterale Managed Service per Prometheus scrive i log in Cloud Logging. Il file collaterale scrive log in base al tipo di risorsa monitorata Logging cloud_run_revision
.
Per visualizzare i log del file collaterale in Esplora log, segui questi passaggi:
-
Nel pannello di navigazione della console Google Cloud, seleziona Logging, quindi Esplora log:
Seleziona il tipo di risorsa Revisione Cloud Run o inserisci la seguente query e fai clic su Esegui query:
resource.type="cloud_run_revision"
Informazioni sulle metriche raccolte
Quando le metriche emesse dal file collaterale vengono importate in Cloud Monitoring,
vengono scritte nel tipo di risorsa monitorata
prometheus_target
di Cloud Monitoring.
Questo tipo di risorsa viene utilizzato sia per le metriche dell'applicazione sia per le autometriche del file collaterale.
Durante la scrittura delle metriche, il file collaterale 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; proviene dalla variabile di ambienteK_SERVICE
.job
: nome dalla configurazione diRunMonitoring
; il valore predefinito èrun-gmp-sidecar
.instance
: il valorefaas.ID:PORT
del carico di lavoro locale da cui il container è configurato per estrarre le metriche. Il valore faas.ID è l'ID istanza dell'istanza Cloud Run.
Il file collaterale aggiunge anche le seguenti etichette di metriche:
instanceId
: l'ID dell'istanza Cloud Run.service_name
: il nome del servizio Cloud Run in esecuzione.revision_name
: il nome della revisione di Cloud Run in esecuzione.configuration_name
: il nome della configurazione Cloud Run in esecuzione.
Queste etichette delle metriche vengono aggiunte per impostazione predefinita. Se utilizzi una configurazione RunMonitoring
personalizzata, puoi omettere queste etichette utilizzando l'opzione targetLabels
nella specifica RunMonitoring
. Puoi utilizzare una configurazione personalizzata anche per rietichettare una di queste etichette delle metriche tranne instanceId
.
Tutte le altre etichette visualizzate con le metriche importate provengono dalla metrica dell'utente.
Se un'etichetta definita dall'utente è in conflitto con una delle etichette fornite dal sistema,
l'etichetta definita dall'utente ha come prefisso la stringa exported_
. Ad esempio,
un'etichetta specificata dall'utente namespace=playground
è in conflitto con l'etichetta
namespace
definita dal sistema, perciò l'etichetta utente viene visualizzata come exported_namespace=playground
.
Tipo di metrica
Quando le metriche emesse dal file collaterale vengono importate in Cloud Monitoring, vengono scritte come metriche prometheus.googleapis.com
e il tipo di metrica Prometheus viene aggiunto alla fine del nome. Ad esempio,
l'app di esempio emette una metrica di misura Prometheus denominata foo_metric
. In Cloud Monitoring, la metrica viene archiviata come tipo di metrica prometheus.googleapis.com/foo_metric/gauge
.
Quando esegui una query sulla metrica con PromQL, puoi utilizzare il nome Prometheus, come illustrato in Visualizzare le metriche delle app in Metrics Explorer e Visualizzare le metriche automatiche in Metrics Explorer. Quando utilizzi strumenti come Query Builder o Monitoring Query Language (MQL) in Metrics Explorer, il tipo di metrica di Cloud Monitoring è pertinente.
Fatturazione
Le metriche emesse dal file collaterale vengono importate in Cloud Monitoring con il prefisso prometheus.googleapis.com
. Le metriche con questo prefisso vengono addebitate
in base al numero di campioni importati. Per ulteriori informazioni sulla fatturazione e su Managed Service per Prometheus, consulta Fatturazione.