O Managed Service for Prometheus sidecar para o Cloud Run é a forma recomendada pela Google de obter a monitorização ao estilo do Prometheus para os serviços do Cloud Run. Se o seu serviço do Cloud Run escrever métricas OTLP, pode usar o sidecar do OpenTelemetry. No entanto, para serviços que escrevem métricas do Prometheus, use o sidecar do Managed Service for Prometheus descrito neste documento.
Este documento descreve como:
- Adicione o sidecar do Managed Service for Prometheus a um serviço do Cloud Run existente.
- Crie uma app de exemplo com o sidecar. Pode usar a app de exemplo para ver como o sidecar funciona se não tiver um serviço do Cloud Run existente.
O sidecar usa o Google Cloud Managed Service for Prometheus no lado do servidor e uma distribuição do OpenTelemetry Collector, criado à medida para cargas de trabalho sem servidor, no lado do cliente. Esta distribuição personalizada inclui algumas alterações para suportar o Cloud Run. O coletor executa uma recolha de arranque após 10 segundos e uma recolha de encerramento, independentemente da duração da instância. Para máxima fiabilidade, recomendamos que os serviços do Cloud Run que executam o sidecar também usem a definição de faturação baseada em instâncias. Para mais informações, consulte Definições de faturação (serviços). Algumas tentativas de extração podem falhar se a atribuição da CPU for limitada devido a um número baixo de consultas por segundo (QPS). Uma CPU sempre atribuída permanece disponível.
O sidecar baseia-se na funcionalidade de vários contentores (sidecar) do Cloud Run para executar o coletor como um contentor sidecar juntamente com o contentor de carga de trabalho. Para mais informações sobre os sidecars no Cloud Run, consulte o artigo Implementar vários contentores num serviço (sidecars).
O sidecar do Managed Service for Prometheus para o Cloud Run introduz uma nova configuração,
RunMonitoring
, um subconjunto do recurso personalizado
PodMonitoring
do Kubernetes. A maioria dos utilizadores pode usar a configuração RunMonitoring
predefinida, mas também pode criar configurações personalizadas. Para mais informações sobre as configurações predefinidas e personalizadas, consulte o artigo Adicione o sidecar a um serviço do Cloud Run.RunMonitoring
Antes de começar
Esta secção descreve a configuração necessária para usar este documento.
Instale e configure a CLI gcloud
Muitos dos passos descritos neste documento usam a CLI do Google Cloud. Para obter informações sobre a instalação da CLI gcloud, consulte o artigo Faça a gestão dos componentes da CLI Google Cloud.
Quando invocar comandos gcloud
, tem de especificar o identificador do seu projeto Google Cloud . Pode definir um projeto predefinido para a CLI gcloud e eliminar a necessidade de o introduzir com cada comando.
Para definir o seu projeto como predefinido, introduza o seguinte comando:
gcloud config set project PROJECT_ID
Também pode definir uma região predefinida para o seu serviço do Cloud Run. Para definir uma região predefinida, introduza o seguinte comando:
gcloud config set run/region REGION
Ativar APIs
Tem de ativar as seguintes APIs no seu Google Cloud projeto:
- Cloud Run Admin API:
run.googleapis.com
- API Artifact Registry:
artifactregistry.googleapis.com
- Cloud Monitoring API:
monitoring.googleapis.com
- Cloud Logging API:
logging.googleapis.com
- (Opcional) Se criar uma configuração
RunMonitoring
personalizada, tem de ativar a API Secret Manager:secretmanager.googleapis.com
- (Opcional) Se optar por executar a app de exemplo através do Cloud Build,
também tem de ativar as seguintes APIs:
- API Cloud Build:
cloudbuild.googleapis.com
. - API Identity and Access Management:
iam.googleapis.com
. Para mais informações, consulte o artigo Crie e execute a app de exemplo.
- API Cloud Build:
Para ver as APIs ativadas no seu projeto, execute o seguinte comando:
gcloud services list
Para ativar uma API que não está ativada, execute um dos seguintes comandos:
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
Conta de serviço para o Cloud Run
Por predefinição, as tarefas e os serviços do Cloud Run usam a conta de serviço predefinida do Compute Engine, PROJECT_NUMBER-compute@developer.gserviceaccount.com
.
Normalmente, esta conta de serviço tem as funções de gestão de identidade e de acesso (IAM) necessárias para escrever as métricas e os registos descritos neste documento:
roles/monitoring.metricWriter
roles/logging.logWriter
Se criar uma configuração personalizada RunMonitoring
,
a sua conta de serviço também tem de ter as seguintes funções:
roles/secretmanager.admin
roles/secretmanager.secretAccessor
Também pode configurar uma conta de serviço gerida pelo utilizador para o Cloud Run. Uma conta de serviço gerida pelo utilizador também tem de ter estas funções. Para mais informações sobre as contas de serviço do Cloud Run, consulte o artigo Configurar a identidade do serviço.
Configure e adicione o sidecar a um serviço do Cloud Run
O sidecar do Managed Service for Prometheus para o Cloud Run introduz uma nova configuração,
RunMonitoring
, que é um subconjunto do recurso personalizado do Kubernetes
PodMonitoring
. A configuração RunMonitoring
usa opções existentes
PodMonitoring
para suportar o Cloud Run
ao mesmo tempo que elimina algumas opções específicas do Kubernetes.
Pode usar a configuração RunMonitoring
predefinida ou
criar uma configuração personalizada. As secções seguintes descrevem ambas as abordagens. Não precisa de o fazer em ambas. Para mais informações sobre a utilização de configurações predefinidas ou personalizadas, selecione o separador correspondente.
Configuração predefinida
Use a configuração RunMonitoring predefinida
Se não criar uma configuração RunMonitoring
personalizada, o coletor sidecar sintetiza a seguinte configuração predefinida para extrair métricas da porta 8080 no caminho das métricas /metrics
a cada 30 segundos:
apiVersion: monitoring.googleapis.com/v1beta kind: RunMonitoring metadata: name: run-gmp-sidecar spec: endpoints: - port: 8080 path: /metrics interval: 30s
A utilização da configuração predefinida não requer configuração adicional além de adicionar o sidecar ao seu serviço do Cloud Run.
Adicione o sidecar a um serviço do Cloud Run
Para usar o sidecar com a configuração RunMonitoring
predefinida, tem de modificar a configuração do Cloud Run
existente para adicionar o sidecar. Para adicionar o sidecar, faça o seguinte:
- Adicione uma anotação container-dependency que especifique a ordem de arranque e encerramento dos contentores. No exemplo seguinte, o contentor sidecar, denominado "collector", é iniciado após o contentor da aplicação e é encerrado antes do contentor da aplicação, denominado "app" no exemplo.
- Crie um contentor para o coletor, denominado "collector" no exemplo seguinte.
Por exemplo, adicione as linhas precedidas pelo caráter +
(mais) à sua configuração do Cloud Run e, em seguida, volte a implementar o serviço:
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
Para voltar a implementar o serviço do Cloud Run com o ficheiro de configuração
run-service.yaml
, execute o seguinte comando:
gcloud run services replace run-service.yaml --region=REGION
Configuração personalizada
Crie uma configuração RunMonitoring personalizada
Pode criar uma configuração RunMonitoring
para um serviço do Cloud Run se a configuração predefinida não for suficiente.
Por exemplo, pode criar uma configuração como a seguinte:
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
Esta configuração faz o seguinte:
- Extrai métricas da porta 8080 e usa o caminho das métricas predefinido
/metrics
. - Usa um intervalo de recolha de 10 segundos.
- Usa a reetiquetagem para adicionar a etiqueta
label_key
com o valorlabel_value
a todas as métricas recolhidas. - Adiciona as etiquetas de metadados
service
erevision
a todas as métricas extraídas.
Para informações sobre as opções de configuração disponíveis, consulte o artigo Especificação RunMonitoring: opções de configuração.
Quando usa uma configuração RunMonitoring
personalizada, tem de
fazer a seguinte configuração adicional:
- Ative a API Secret Manager e conceda funções do Secret Manager à sua conta de serviço do Cloud Run. Para mais informações, consulte a secção Antes de começar.
- Armazene a configuração personalizada como um segredo.
- Adicione o sidecar a um serviço do Cloud Run .
Armazene a configuração através do Secret Manager
Para fornecer uma configuração RunMonitoring
personalizada, faça o seguinte:
- Crie um ficheiro que contenha a configuração personalizada.
- Crie um Secret do Secret Manager que contenha a configuração personalizada.
O seguinte comando cria um segredo com o nome mysecret a partir do ficheiro custom-config.yaml
:
gcloud secrets create mysecret --data-file=custom-config.yaml
Para aplicar uma alteração à configuração depois de modificar o ficheiro custom-config.yaml
, tem de eliminar e recriar o segredo e, em seguida, reimplementar o serviço do Cloud Run.
Atualizar a configuração no Secret Manager
Se quiser atualizar a configuração personalizada do RunMonitoring
em qualquer altura, pode adicionar uma nova versão do segredo existente ao Secret Manager.
Por exemplo, para atualizar mysecret com uma nova configuração armazenada no ficheiro custom-config-updated.yaml
, pode executar o seguinte comando:
gcloud secrets versions add mysecret --data-file=custom-config-updated.yaml
O sidecar é recarregado automaticamente e aplica as alterações à respetiva configuração.
Adicione o sidecar a um serviço do Cloud Run
Depois de criar um segredo do Secret Manager para a sua configuração RunMonitoring
, tem de modificar a configuração do Cloud Run para fazer o seguinte:
- Adicione o sidecar do Managed Service for Prometheus
- Adicione uma anotação container-dependency que especifique a ordem de arranque e encerramento dos contentores. No exemplo seguinte, o contentor sidecar, denominado "collector", é iniciado após o contentor da aplicação e é encerrado antes do contentor da aplicação, denominado "app" no exemplo.
- Crie um contentor para o coletor, denominado "collector" no exemplo seguinte.
- Adicione o segredo ao montar o segredo na localização
/etc/rungmp/config.yaml
:- Adicione uma anotação de segredos que aponte para o segredo que contém a sua configuração
RunMonitoring
personalizada. - Crie um volume, denominado "config" no exemplo seguinte, para o segredo que aponta para o ficheiro
config.yaml
. - Monte o volume como parte da imagem do coletor no caminho de montagem
/etc/rungmp
.
- Adicione uma anotação de segredos que aponte para o segredo que contém a sua configuração
Por exemplo, adicione as linhas precedidas pelo caráter +
(mais) à sua configuração do Cloud Run e, em seguida, volte a implementar o serviço:
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'
Para voltar a implementar o serviço do Cloud Run com o ficheiro de configuração
run-service.yaml
, execute o seguinte comando:
gcloud run services replace run-service.yaml --region=REGION
Especificação RunMonitoring: opções de configuração
Esta secção descreve a especificação de configuração do RunMonitoring
para o componente sidecar do Managed Service for Prometheus. A imagem seguinte mostra um exemplo de configuração personalizada:
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
A configuração RunMonitoring
monitoriza um serviço do Cloud Run.
Campo | Descrição | Esquema | Obrigatória |
---|---|---|---|
metadata |
Metadados que todos os recursos persistentes têm de ter. |
metav1.ObjectMeta |
falso |
spec |
Especificação da implementação do Cloud Run selecionada para a descoberta de alvos pelo Prometheus. | RunMonitoringSpec |
verdadeiro |
RunMonitoringSpec
Esta especificação descreve como a configuração RunMonitoring
monitoriza um serviço do Cloud Run.
Campo | Descrição | Esquema | Obrigatória |
---|---|---|---|
endpoints |
Pontos finais a extrair nos pods selecionados. | []ScrapeEndpoint |
verdadeiro |
targetLabels |
Etiquetas a adicionar ao destino do Prometheus para pontos finais descobertos.
A etiqueta instance está sempre definida como o ID da instância do Cloud Run. |
RunTargetLabels |
falso |
limits |
Limites a aplicar no momento da obtenção de dados. | *ScrapeLimits |
falso |
RunTargetLabels
A configuração RunTargetLabels
permite-lhe incluir etiquetas do Cloud Run a partir dos destinos do Prometheus descobertos.
Campo | Descrição | Esquema | Obrigatória |
---|---|---|---|
metadata |
Etiquetas de metadados do Cloud Run que são
definidas em todos os alvos extraídos. As teclas permitidas são instance , revision ,
service e configuration .Se as chaves permitidas estiverem definidas, o sidecar adiciona o valor correspondente da instância do Cloud Run como etiquetas de métricas a todas as métricas: instanceID , revision_name ,
service_name e
configuration_name .A predefinição é a definição de todas as chaves permitidas. |
*[]string |
falso |
Crie e execute uma app de amostra
Esta secção descreve como executar o sidecar do Managed Service for Prometheus com uma app de exemplo. Esta secção é opcional. Se já tiver um serviço do Cloud Run e quiser implementar o sidecar com ele, consulte o artigo Adicione o sidecar do Managed Service for Prometheus a um serviço do Cloud Run.
Clone o repositório run-gmp-sidecar
Para obter a app de exemplo e os respetivos ficheiros de configuração, clone o repositório run-gmp-sidecar
executando o seguinte comando:
git clone https://github.com/GoogleCloudPlatform/run-gmp-sidecar/
Depois de clonar o repositório, mude para o diretório run-gmp-sidecar
:
cd run-gmp-sidecar
Crie e execute a app de exemplo
A app de exemplo requer o Docker ou um sistema de compilação de contentores semelhante para Linux. Pode criar e executar a app de exemplo de uma das seguintes formas:
- Use o Cloud Build para executar sem suporte local do Docker. Se usar o Cloud Build, também tem de ativar a API Cloud Build.
- Crie e execute a app de exemplo manualmente.
As secções seguintes descrevem ambas as abordagens. Não precisa de o fazer em ambas. Para mais informações, selecione o separador de uma das abordagens.
Use o Cloud Build
Use o Cloud Build
O repositório run-gmp-sidecar
inclui ficheiros de configuração para o Cloud Build. Estes ficheiros agrupam os passos necessários para criar e implementar a app de exemplo.
Também pode executar manualmente os passos processados pelo Cloud Build. Para mais informações, consulte o artigo Crie e execute manualmente.
Configuração para o Cloud Build
Estes ficheiros de configuração requerem uma conta de serviço do Cloud Build
e um repositório do Artifact Registry. O repositório run-gmp-sidecar
também inclui um script, create-sa-and-ar.sh
, que faz o seguinte:
- Cria uma conta de serviço,
run-gmp-sa@PROJECT_ID.iam.gserviceaccount.com
. - Concede as seguintes funções à conta de serviço:
roles/iam.serviceAccountUser
roles/storage.objectViewer
roles/logging.logWriter
roles/artifactregistry.createOnPushWriter
roles/secretmanager.admin
roles/secretmanager.secretAccessor
roles/run.admin
- Cria um repositório do Artifact Registry,
run-gmp
, para as suas imagens de contentores.
Para criar a conta de serviço run-gmp-sa
e o repositório run-gmp
,
execute o seguinte comando:
./create-sa-and-ar.sh
As autorizações demoram algum tempo a propagar-se. Por isso, recomendamos que aguarde cerca de 30 segundos antes de avançar para o passo seguinte. Caso contrário, pode ver erros de autorização.
Envie um pedido do Cloud Build
Depois de configurar a run-gmp-sa
conta de serviço e o run-gmp
repositório, pode iniciar uma tarefa do Cloud Build enviando o ficheiro de configuração do Cloud Build. Pode usar o seguinte comando
gcloud builds submit
:
gcloud builds submit . --config=cloudbuild-simple.yaml --region=REGION
Este comando demora vários minutos a ser executado, mas indica quase imediatamente onde pode encontrar os detalhes da compilação do Cloud Build. A mensagem tem o seguinte aspeto:
Logs are available at [ https://console.cloud.google.com/cloud-build/builds/637860fb-7a14-46f2-861e-09c1dc4cea6b?project=PROJECT_NUMBER].
Para ver o progresso da compilação, navegue para o URL devolvido no navegador. Também pode ver os registos do sidecar no Cloud Logging.
Verifique o URL do serviço
Após a conclusão da tarefa do Cloud Build, verifique o URL do ponto final do serviço do Cloud Run executando o seguinte comando:
gcloud run services describe my-cloud-run-service --region=REGION --format="value(status.url)"
Este comando devolve o URL do serviço, que tem o seguinte aspeto:
https://my-cloud-run-service-abcdefghij-ue.a.run.app
Crie e execute manualmente
Crie e execute manualmente
Pode executar manualmente os passos processados pelo Cloud Build, conforme descrito no artigo Usar o Cloud Build. As secções seguintes descrevem como realizar manualmente as mesmas tarefas.
Defina variáveis usadas por passos posteriores
Vários dos passos posteriores usam variáveis de ambiente para valores comuns. Configure estas variáveis através dos seguintes comandos:
export GCP_PROJECT=PROJECT_ID export REGION=REGION
Crie um repositório de imagens de contentores
Crie um repositório do Artifact Registry para a imagem de contentor executando o seguinte comando:
gcloud artifacts repositories create run-gmp \ --repository-format=docker \ --location=${REGION}
Crie e envie a app de exemplo
Este exemplo usa o Docker no Linux para criar a app de exemplo e enviá-la para um repositório do Artifact Registry. Pode ter de adaptar estes comandos se estiver a trabalhar num ambiente Windows ou macOS.
Para criar a app de exemplo e enviá-la para o Artifact Registry, faça o seguinte:
Autentique o seu cliente Docker com a CLI do Google Cloud:
gcloud auth configure-docker ${REGION}-docker.pkg.dev
Aceda ao
simple-app
diretório no repositóriorun-gmp-sidecar
:pushd sample-apps/simple-app
Crie a app
simple-app
executando o seguinte comando:docker build -t ${REGION}-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app .
Envie a imagem da app criada executando o seguinte comando:
docker push ${REGION}-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app
Regresse ao diretório
run-gmp-sidecar
:popd
Configure o serviço do Cloud Run
O ficheiro run-service-simple.yaml
no repositório run-gmp-sidecar
define um serviço do Cloud Run com vários contentores que usa a app de exemplo e as imagens do coletor que criou nos passos anteriores. O ficheiro
run-service-simple.yaml
contém a seguinte especificação do serviço:
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
Este ficheiro contém um valor de marcador de posição para as imagens que criou nos passos anteriores, pelo que tem de atualizar os marcadores de posição com os valores reais do seu projetoGoogle Cloud .
Substitua o marcador de posição %SAMPLE_APP_IMAGE%
executando o seguinte comando:
sed -i s@%SAMPLE_APP_IMAGE%@REGION-docker.pkg.dev/${GCP_PROJECT}/run-gmp/sample-app@g run-service-simple.yaml
Implemente o serviço do Cloud Run
Depois de atualizar o ficheiro run-service-simple.yaml
com os seus valores, pode criar e implementar o serviço do Cloud Run executando o seguinte comando:
gcloud run services replace run-service-simple.yaml --region=REGION
Este comando devolve o URL do serviço, que tem o seguinte aspeto:
https://my-cloud-run-service-abcdefghij-ue.a.run.app
Permita o acesso HTTP não autenticado
Antes de poder fazer um pedido ao URL do serviço, tem de alterar a política do serviço do Cloud Run para aceitar o acesso HTTP não autenticado. O ficheiro policy.yaml
no repositório run-gmp-sidecar
contém a alteração necessária.
Para alterar a política de serviço, execute o seguinte comando:
gcloud run services set-iam-policy my-cloud-run-service policy.yaml --region=REGION
Valide se a sua app está em execução
Para verificar se o serviço do Cloud Run executou corretamente a app de exemplo, use a utilidade curl
para aceder ao ponto final metrics
do serviço.
Execute o seguinte comando para obter o URL do seu serviço:
SERVICE_URL=$(gcloud run services describe my-cloud-run-service --region=REGION --format 'value(status.url)')
Substitua REGION pela região do Cloud Run do seu serviço.
Envie um pedido para o URL do serviço executando o seguinte comando:
curl $SERVICE_URL
Se a app tiver sido iniciada com êxito, vê a seguinte resposta:
User request received!
Veja métricas de apps no explorador de métricas
O contentor de amostra app
escreve as seguintes métricas:
foo_metric
: a hora atual como um valor de vírgula flutuante (indicador).bar_metric
: a hora atual como um valor de vírgula flutuante (contador).
Para ver estas métricas no explorador de métricas, faça o seguinte:
-
Na Google Cloud consola, aceda à página leaderboard Explorador de métricas:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
Na barra de ferramentas do painel do criador de consultas, selecione o botão cujo nome é code MQL ou code PromQL.
Verifique se a opção PromQL está selecionada no botão Idioma. O botão para alternar o idioma encontra-se na mesma barra de ferramentas que lhe permite formatar a consulta.
Introduza a seguinte consulta no painel do editor:
foo_metric
Clique em Adicionar consulta.
Na barra de ferramentas do painel do criador de consultas, selecione o botão cujo nome é code MQL ou code PromQL.
Verifique se a opção PromQL está selecionada no botão Idioma. O botão para alternar o idioma encontra-se na mesma barra de ferramentas que lhe permite formatar a consulta.
Introduza a seguinte consulta no segundo painel do editor:
bar_metric
Clique em Executar consulta.
Para ver detalhes sobre as métricas, no botão de ativação/desativação com a etiqueta Tabela de gráficos ambos, selecione Ambos.
Limpar
Quando terminar de experimentar a app de exemplo, pode usar o script clean-up-cloud-run.sh
no repositório run-gmp-sidecar
para eliminar os seguintes recursos que possa ter criado para o exemplo:
- O serviço do Cloud Run.
- O repositório do Artifact Registry.
- A conta de serviço criada para o Cloud Build.
A eliminação destes recursos garante que não incorre em custos após a execução do exemplo.
Para limpar a app de exemplo, execute o script clean-up-cloud-run.sh
:
./clean-up-cloud-run.sh
Veja as métricas próprias no explorador de métricas
O sidecar do Managed Service for Prometheus comunica as seguintes métricas sobre si próprio ao Cloud Monitoring:
agent_uptime
: o tempo de atividade do coletor sidecar (contador).agent_memory_usage
: a memória consumida pelo coletor sidecar (indicador).agent_api_request_count
: o número de pedidos de API do coletor auxiliar (contador).agent_monitoring_point_count
: o número de pontos de métricas escritos no Cloud Monitoring pelo coletor sidecar (contador).
Para ver as métricas automáticas do sidecar no explorador de métricas, faça o seguinte:
-
Na Google Cloud consola, aceda à página leaderboard Explorador de métricas:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
Na barra de ferramentas do painel do criador de consultas, selecione o botão cujo nome é code MQL ou code PromQL.
Verifique se a opção PromQL está selecionada no botão Idioma. O botão para alternar o idioma encontra-se na mesma barra de ferramentas que lhe permite formatar a consulta.
Introduza o nome da métrica que quer consultar no painel do editor, por exemplo:
agent_api_request_count
Clique em Executar consulta.
Para ver detalhes sobre as métricas, no botão de ativação/desativação com a etiqueta Tabela de gráficos ambos, selecione Ambos.
Veja os seus próprios registos no Explorador de registos
O sidecar do Managed Service for Prometheus escreve registos no Cloud Logging. O sidecar escreve registos no tipo de recurso monitorizado do Logging cloud_run_revision
.
Para ver os registos do sidecar no Explorador de registos, faça o seguinte:
-
Na Google Cloud consola, aceda à página Explorador de registos:
Aceda ao Explorador de registos
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.
Selecione o tipo de recurso Revisão do Cloud Run ou introduza a seguinte consulta e clique em Executar consulta:
resource.type="cloud_run_revision"
Acerca das métricas recolhidas
Quando as métricas emitidas pelo sidecar são carregadas no Cloud Monitoring,
as métricas são escritas em função do tipo de recurso monitorizado prometheus_target
do Cloud Monitoring.
Este tipo de recurso é usado para as métricas da aplicação e as métricas próprias do sidecar.
Ao escrever as métricas, o sidecar define as etiquetas de recursos da seguinte forma:
project_id
: o ID do projeto do Google Cloud no qual o contentor está a ser executado.location
: a Google Cloud região em que o contentor está a ser executado.cluster
: O valor__run__
.namespace
: o nome do serviço do Cloud Run em execução; é proveniente da variável de ambienteK_SERVICE
.job
: nome da configuraçãoRunMonitoring
; a predefinição érun-gmp-sidecar
.instance
: O valorfaas.ID:PORT
da carga de trabalho local a partir da qual o contentor está configurado para extrair métricas. O valor faas.ID é o ID da instância do Cloud Run.
O sidecar também adiciona as seguintes etiquetas de métricas:
instanceId
: o ID da instância do Cloud Run.service_name
: o nome do serviço do Cloud Run em execução.revision_name
: o nome da revisão do Cloud Run que está a ser executada.configuration_name
: O nome da configuração do Cloud Run em execução.
Por predefinição, todas estas etiquetas de métricas são adicionadas. Se usar uma configuração
RunMonitoring
personalizada, pode
omitir as etiquetas service_name
, revision_name
e configuration_name
usando a opção targetLabels
na especificação RunMonitoring
. Também pode usar uma configuração personalizada para reetiquetar os valores das etiquetas service_name
, revision_name
e configuration_name
.
Todas as outras etiquetas apresentadas com as métricas carregadas provêm da sua métrica.
Se uma etiqueta definida pelo utilizador entrar em conflito com uma das etiquetas fornecidas pelo sistema,
a etiqueta definida pelo utilizador tem o prefixo da string exported_
. Por exemplo, uma etiqueta especificada pelo utilizador namespace="playground"
entra em conflito com a etiqueta namespace
definida pelo sistema, pelo que a etiqueta do utilizador é apresentada como exported_namespace="playground"
.
Tipo de métrica
Quando as métricas emitidas pelo sidecar são carregadas no Cloud Monitoring, as métricas são escritas como métricas prometheus.googleapis.com
e o tipo de métrica Prometheus é anexado ao final do nome. Por exemplo, a app de exemplo emite uma métrica de indicador do Prometheus denominada foo_metric
. No Cloud Monitoring, a métrica é armazenada como o tipo de métrica prometheus.googleapis.com/foo_metric/gauge
.
Quando consulta a métrica com o PromQL, pode usar o nome do Prometheus, conforme ilustrado em Veja métricas de apps no Explorador de métricas e Veja métricas próprias no Explorador de métricas. Quando usa ferramentas como o criador de consultas ou a linguagem de consultas de monitorização (MQL) no Explorador de métricas, o tipo de métrica do Cloud Monitoring é relevante.
Faturação
As métricas emitidas pelo sidecar são carregadas no Cloud Monitoring com o prefixo prometheus.googleapis.com
. As métricas com este prefixo são cobradas
pelo número de amostras carregadas. Para mais informações sobre a faturação e o
Managed Service for Prometheus, consulte o artigo Faturação.