Il collaterale di Managed Service per Prometheus per Cloud Run è Metodo 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 metodo OpenTelemetry di terze parti. Ma per i servizi che scrivono Prometheus , utilizza il file collaterale Managed Service per Prometheus descritto in documento.
In questo documento viene descritto come:
- Aggiungi il file collaterale Managed Service per Prometheus a una versione esistente dal servizio Cloud Run.
- Crea un'app di esempio con il file collaterale. Puoi utilizzare l'esempio app per vedere come funziona il file collaterale, se non hai già dal servizio Cloud Run.
Il file collaterale utilizza Google Cloud Managed Service per Prometheus sul lato server e una distribuzione di OpenTelemetry Collector, creato appositamente per il serverless più carichi di lavoro sul lato client. Questa distribuzione personalizzata include alcune modifiche per supportare Cloud Run. Il raccoglitore esegue uno scrape di avvio dopo 10 secondi e uno scrape di arresto, indipendentemente dalla breve durata dell'istanza. Per la massima affidabilità, ai servizi Cloud Run che eseguono il file collaterale anche utilizzare una CPU sempre allocata, Per ulteriori informazioni, consulta Allocazione della CPU (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). Rimane disponibile una CPU sempre allocata.
Il sidecar si basa sul multicontainer (sidecar) di Cloud Run per eseguire il raccoglitore come container collaterale insieme al carico di lavoro containerizzato. Per ulteriori informazioni sui file collaterali in Cloud Run, consulta Deployment di più container in un servizio (file collaterali).
Il sidecar Managed Service per Prometheus per Cloud Run introduce una nuova configurazione,
RunMonitoring
, un sottoinsieme della piattaforma
PodMonitoring
personalizzato
risorsa. La maggior parte degli utenti può utilizzare il valore predefinito RunMonitoring
configurazione, ma puoi anche creare configurazioni personalizzate. Per maggiori informazioni
informazioni sull'elemento RunMonitoring
predefinito e personalizzato
configurazioni, consulta Aggiungere il file collaterale a un progetto Cloud Run
completamente gestito.
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, 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
Google Cloud CLI ed elimina la necessità di inserirlo a ogni comando.
Per impostare il progetto come predefinito, inserisci il seguente comando:
gcloud config set project PROJECT_ID
Puoi anche impostare una regione predefinita per il servizio Cloud Run. Per impostare una regione predefinita, inserisci il comando seguente:
gcloud config set run/region REGION
Abilita 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 un account
RunMonitoring
personalizzato config, devi configurare abilita 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 saperne di più, consulta Creare ed eseguire l'esempio Google Cloud.
- 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 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
Account di servizio per Cloud Run
Per impostazione predefinita, i job e i servizi Cloud Run utilizzano
Account di servizio predefinito Compute Engine,
PROJECT_NUMBER[email protected]
.
Questo account di servizio in genere dispone dei ruoli IAM (Identity and Access Management)
necessarie per scrivere le metriche e i log descritti in questo documento:
roles/monitoring.metricWriter
roles/logging.logWriter
Se crei una configurazione RunMonitoring
personalizzata,
il tuo 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 in Cloud Run. Un account di servizio gestito dall'utente deve avere anche 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 Managed Service per Prometheus per Cloud Run introduce una nuova configurazione,
RunMonitoring
, che è un sottoinsieme dell'API Kubernetes
PodMonitoring
personalizzato
risorsa. La configurazione RunMonitoring
utilizza
PodMonitoring
opzioni per supportare Cloud Run
eliminando al contempo alcune opzioni specifiche di Kubernetes.
Puoi utilizzare la configurazione predefinita di RunMonitoring
oppure
puoi creare una configurazione personalizzata. Le seguenti sezioni descrivono entrambi
approcci. Non è necessario eseguire entrambe le operazioni. Per ulteriori informazioni sull'utilizzo
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
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 a aggiungendo il file collaterale al servizio Cloud Run.
aggiungi il file collaterale a un servizio Cloud Run
Per utilizzare il file collaterale con il valore predefinito RunMonitoring
devi modificare le risorse Cloud Run esistenti
per aggiungere il file collaterale. Per aggiungere il file collaterale:
- Aggiungi un'annotazione container-dependency che specifichi l'avvio dell'ordine di arresto dei container. Nell'esempio seguente, container collaterale, denominato "collector", inizia dopo e si arresta prima del container dell'applicazione, denominato "app" dell'esempio.
- Crea un container per il raccoglitore denominato "collector" nel dall'esempio seguente.
Ad esempio, aggiungi le righe precedute dal carattere +
(più) alla riga
configurazione di Cloud Run ed 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 rieseguire 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 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 fa quanto segue:
- Esegue lo scraping delle 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_key
con il valorelabel_value
per ogni metrica estratta. - Aggiunge le etichette di metadati
service
erevision
a ogni metrica estratto.
Per informazioni sulle opzioni di configurazione disponibili, vedi Specifica RunMonitoring: opzioni di configurazione.
Quando utilizzi una configurazione RunMonitoring
personalizzata, devi:
eseguire la seguente configurazione aggiuntiva:
- Abilita l'API Secret Manager e concedi il tuo Cloud Run i ruoli di Secret Manager dell'account di servizio. 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.
- Crea un secret di Secret Manager che contenga il parametro personalizzato configurazione.
Il comando seguente crea un secret denominato mysecret dalla
custom-config.yaml
file:
gcloud secrets create mysecret --data-file=custom-config.yaml
Per applicare una modifica alla configurazione dopo aver modificato il
custom-config.yaml
, devi eliminare e ricreare il file
il secret ed eseguire nuovamente 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
tramite 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 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
configurazione di RunMonitoring
, devi modificare
configurazione di Cloud Run per:
- Aggiungi il sidecar Managed Service per Prometheus
- Aggiungi un'annotazione container-dependency che specifichi l'avvio dell'ordine di arresto dei container. Nell'esempio seguente, container collaterale, denominato "collector", inizia dopo e si arresta prima del container dell'applicazione, denominato "app" dell'esempio.
- Crea un container per il raccoglitore denominato "collector" nel dall'esempio seguente.
- Aggiungi il secret montando
secret nella località
/etc/rungmp/config.yaml
:- Aggiungi un'annotazione dei secret che indirizzi al secret che contiene il tuo
configurazione
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 il tuo
configurazione
Ad esempio, aggiungi le righe precedute dal carattere +
(più) alla riga
configurazione di Cloud Run ed 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 rieseguire 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
Specifica RunMonitoring: opzioni di configurazione
Questa sezione descrive le specifiche di configurazione di RunMonitoring
per
Managed Service per il sidecar 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 permanenti devono avere. |
metav1.ObjectMeta |
falso |
spec |
Specifica del deployment di Cloud Run selezionato per il rilevamento target da Prometheus. | RunMonitoringSpec |
true |
RunMonitoringSpec
Questa specifica descrive come la configurazione di RunMonitoring
monitora un servizio Cloud Run.
Campo | Descrizione | Scheme | Obbligatorio |
---|---|---|---|
endpoints |
Endpoint di cui eseguire lo scraping sui pod selezionati. | []ScrapeEndpoint |
true |
targetLabels |
Etichette da aggiungere alla destinazione Prometheus per gli endpoint rilevati.
L'etichetta instance è sempre impostata su
ID dell'istanza Cloud Run. |
RunTargetLabels |
falso |
limits |
Limiti da applicare al momento dello scraping. | *ScrapeLimits |
falso |
RunTargetLabels
La configurazione di RunTargetLabels
ti consente di includere
Etichette Cloud Run dalle destinazioni Prometheus rilevate.
Campo | Descrizione | Scheme | Obbligatorio |
---|---|---|---|
metadata |
le etichette dei metadati Cloud Run
impostati su tutti i target di scraping. Le chiavi consentite sono instance , revision ,
service e configuration .Se sono impostate le chiavi consentite, il file collaterale aggiunge le chiavi valore dell'istanza Cloud Run come etichette delle metriche a ogni metrica: instanceID , revision_name ,
service_name e
configuration_name .Il valore predefinito è tutte le chiavi consentite impostate. |
*[]string |
falso |
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 file collaterale con questo, quindi Aggiungi il sidecar Managed Service per Prometheus a un servizio Cloud Run.
Clona il repository run-gmp-sidecar
Per scaricare l'app di esempio e i relativi file di configurazione, clona run-gmp-sidecar
eseguendo il comando seguente:
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:
- Utilizza Cloud Build per l'esecuzione senza supporto locale per Docker. Se utilizzi Cloud Build, devi abilitare anche l'API Cloud Build.
- Crea ed esegui l'app di esempio manualmente.
Nelle sezioni seguenti vengono descritti entrambi gli approcci. Non è necessario eseguire entrambe le operazioni. Per ulteriori informazioni, seleziona la scheda di uno degli approcci.
Utilizza Cloud Build
Utilizza Cloud Build
Il repository run-gmp-sidecar
include file di configurazione per
in Cloud Build. Questi file raggruppano i passaggi necessari
per la creazione e il deployment
dell'app di esempio.
Puoi anche eseguire manualmente i passaggi gestiti da Cloud Build. Per saperne di più, consulta Creare ed eseguire manualmente.
Configura 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
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 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 il tuo 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 del tempo, quindi consigliamo di attendere circa 30 secondi prima di procedere con il passaggio successivo. In caso contrario, vedere gli errori di autorizzazione.
Invia richiesta Cloud Build
Dopo aver configurato l'account di servizio run-gmp-sa
e run-gmp
puoi avviare un job Cloud Build inviando
di configurazione di Cloud Build. Puoi utilizzare le seguenti opzioni
Comando gcloud builds submit
:
gcloud builds submit . --config=cloudbuild-simple.yaml --region=REGION
L'esecuzione di questo comando richiede diversi minuti, ma quasi immediatamente indica dove trovare i dettagli della build di Cloud Build. Il messaggio ha il seguente aspetto:
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 del file collaterale in Cloud Logging.
Controlla l'URL del servizio
Al termine del job Cloud Build, controlla Cloud Run l'URL dell'endpoint di servizio eseguendo il comando seguente:
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 Verifica che l'app sia in esecuzione.
Crea ed esegui manualmente
Crea ed esegui manualmente
Puoi eseguire manualmente i passaggi gestiti da Cloud Build, descritto in Utilizzare Cloud Build. Le seguenti sezioni descrivere come eseguire manualmente le stesse attività.
Imposta le variabili utilizzate nei passaggi successivi
Molti dei passaggi successivi utilizzano le variabili di ambiente per ottenere 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 il seguente 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 funzionano in un ambiente Windows o macOS.
Per creare l'app di esempio ed eseguirne il push in Artifact Registry, segui questi passaggi:
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 una
multicontainer Cloud Run che utilizza l'app di esempio
le immagini del raccoglitore che hai creato nei passaggi precedenti. La
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.1.1" name: collector
Questo file contiene un valore segnaposto per le immagini che hai creato in precedenza quindi devi aggiornare i segnaposto con i valori effettivi per progetto Google Cloud.
Sostituisci il segnaposto %SAMPLE_APP_IMAGE%
eseguendo questo 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,
può creare ed eseguire il deployment del servizio Cloud Run eseguendo
seguente 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 Verifica 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 di servizio Cloud Run per accettare
Accesso HTTP. 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
Verificare che l'app sia in esecuzione
Per verificare che il servizio Cloud Run abbia eseguito correttamente il
di esempio, usa l'utilità curl
per accedere all'app metrics
del servizio
endpoint.
Imposta la variabile di ambiente
SERVICE_URL
su Cloud Run URL del servizio dal 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
: l'ora corrente sotto forma di valore con virgola mobile (gauge).bar_metric
: l'ora corrente come valore in virgola mobile (contatore).
Per visualizzare queste metriche in Metrics Explorer, segui questi passaggi:
-
Nella console Google Cloud, vai alla leaderboard Pagina Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.
Nella barra degli strumenti della riquadro Query Builder, seleziona il pulsante con 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. consente di formattare la query.
Inserisci la seguente query nel riquadro dell'editor:
foo_metric
Fai clic su Aggiungi query.
Nella barra degli strumenti della riquadro Query Builder, seleziona il pulsante con 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. 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, negli attiva/disattiva Tabella del grafico per entrambe, seleziona Entrambe.
Esegui la pulizia
Al termine dell'esperimento con l'app di esempio, puoi
usa lo script clean-up-cloud-run.sh
nel repository run-gmp-sidecar
per
elimina le seguenti risorse che potresti aver creato per l'esempio:
- Il servizio Cloud Run.
- Il repository di Artifact Registry.
- L'account di servizio creato per Cloud Build.
L'eliminazione di queste risorse assicura che non ti vengano addebitati costi dopo dell'esecuzione del campione.
Per pulire l'app di esempio, esegui lo script clean-up-cloud-run.sh
:
./clean-up-cloud-run.sh
Visualizza le metriche personali in Metrics Explorer
Il file collaterale di Managed Service per Prometheus segnala le seguenti metriche su se stesso a Cloud Monitoring:
agent_uptime
: il tempo di attività del raccoglitore collaterale (contatore).agent_memory_usage
: la memoria utilizzata dal raccoglitore collaterale (calibro).agent_api_request_count
: il numero di richieste API dal file collaterale raccoglitore (contatore).agent_monitoring_point_count
: il numero di punti della metrica scritti in Cloud Monitoring dal raccoglitore collaterale (contatore).
Per visualizzare le metriche personali del file collaterale in Metrics Explorer, procedi nel seguente modo: seguenti:
-
Nella console Google Cloud, vai alla leaderboard Pagina Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.
Nella barra degli strumenti della riquadro Query Builder, seleziona il pulsante con 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. consente di formattare la query.
Inserisci il nome della metrica su cui vuoi eseguire la query nel riquadro dell'editor, per esempio:
agent_api_request_count
Fai clic su Esegui query.
Per visualizzare i dettagli sulle metriche, negli attiva/disattiva Tabella del grafico per entrambe, seleziona Entrambe.
Visualizza gli autolog in Esplora log
Il sidecar Managed Service per Prometheus scrive i log in Cloud Logging. Il file collaterale scrive
i log rispetto al tipo di risorsa monitorata di Logging
cloud_run_revision
Per visualizzare i log del file collaterale in Esplora log, segui questi passaggi:
-
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 Revisione Cloud Run o inserisci quanto segue 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 in base ai dati di Cloud Monitoring
Tipo di risorsa monitorata prometheus_target
.
Questo tipo di risorsa viene utilizzato sia per le metriche dell'applicazione sia per l'elemento collaterale
metriche di valutazione.
Quando scrive le metriche, il file collaterale imposta le etichette delle risorse come segue:
project_id
: l'ID del progetto Google Cloud in cui si trova il container in esecuzione.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 configurazioneRunMonitoring
; il valore predefinito èrun-gmp-sidecar
.instance
: il valorefaas.ID:PORT
del carico di lavoro locale da cui è configurato il container per il pull delle metriche. La Il valore faas.ID è l'ID istanza di Cloud Run in esecuzione in un'istanza Compute Engine.
Il file collaterale aggiunge anche le seguenti etichette di metrica:
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 di Cloud Run in esecuzione.
Queste etichette delle metriche vengono aggiunte tutte per impostazione predefinita. Se utilizzi un modello personalizzato
RunMonitoring
, puoi
ometti le etichette service_name
, revision_name
e configuration_name
per
utilizzando l'opzione targetLabels
nella specifica RunMonitoring
. Puoi
utilizza anche una configurazione personalizzata per rietichettare i valori di 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,
l'etichetta definita dall'utente è preceduta dal prefisso exported_
. Ad esempio:
un'etichetta specificata dall'utente namespace="playground"
è in conflitto con l'etichetta definita dal sistema
namespace
, quindi l'etichetta utente verrà visualizzata come exported_namespace="playground"
.
Tipo di metrica
Quando le metriche emesse dal file collaterale vengono importate in Cloud Monitoring,
le metriche sono scritte come prometheus.googleapis.com
e il tipo
della metrica Prometheus viene aggiunta alla fine del nome. Ad esempio:
l'app di esempio emette una metrica misuratore Prometheus denominata foo_metric
. Nella
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 usare il nome Prometheus, come illustrato in Visualizzare le metriche delle app in Esplora metriche. e Visualizza le metriche personali in Esplora metriche. Quando si utilizzano strumenti come Query Builder o Monitoring Query Language (MQL) in Metrics Explorer, il tipo di metrica 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
Managed Service per Prometheus, vedi Fatturazione.