Métricas de rótulo

Os recursos personalizados MonitoringTarget no dispositivo do Google Distributed Cloud (GDC) com isolamento físico permitem rotular métricas coletadas para diferenciar as características delas e filtrar dados de séries temporais. Além de coletar métricas, é possível configurar regras de nova rotulagem para encaminhar métricas para outro projeto, adicionar rótulos personalizados de chave-valor ou renomear métricas antes da ingestão.

Cada combinação exclusiva de pares de rótulos de chave-valor cria uma nova série temporal, o que pode aumentar significativamente o repositório de dados. Evite usar rótulos para dimensões de alta cardinalidade com muitos valores possíveis, como IDs do usuário ou endereços de e-mail. Para mais informações sobre a nova rotulagem de métricas, consulte Como funciona a nova rotulagem no Prometheus.

Antes de começar

Para gerenciar recursos personalizados do MonitoringTarget, peça as permissões necessárias ao administrador.

Papéis necessários do IAM

Entre em contato com o administrador do IAM do projeto para solicitar os seguintes papéis:

  • Criador de MonitoringTarget (monitoringtarget-creator): cria recursos personalizados MonitoringTarget no namespace do projeto.
  • Editor do MonitoringTarget (monitoringtarget-editor): edite ou modifique recursos personalizados MonitoringTarget no namespace do projeto.
  • Leitor do MonitoringTarget (monitoringtarget-viewer): visualizar recursos personalizados MonitoringTarget no namespace do projeto.

Enviar métricas para outro projeto

Os autores de contêineres podem codificar métricas específicas para serem enviadas a um projeto diferente, mesmo para projetos que não são deles. Para enviar uma métrica a um projeto específico, adicione o rótulo _gdch_project à métrica no código, definindo o valor como o nome do projeto de destino.

Como alternativa, use o recurso personalizado MonitoringTarget para enviar todos os dados de métricas coletados para outro projeto. Defina o rótulo _gdch_project como um rótulo de destino no campo metricsRelabelings, com o novo nome do projeto como o valor de substituição.

O exemplo de código a seguir mostra como definir o rótulo de destino _gdch_project no recurso personalizado MonitoringTarget para enviar métricas ao projeto chamado another-project-name:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  [...]
  podMetricsEndpoints:
    [...]
    metricsRelabelings:
      - action: replace
        targetLabel: _gdch_project
        replacement: another-project-name
      [...]

Substitua:

  • PROJECT_NAMESPACE: o namespace do projeto.
  • MONITORING_TARGET_NAME: o nome do arquivo de definição de MonitoringTarget.

Adicionar novos rótulos às métricas

Os rótulos ajudam na observabilidade e no monitoramento ao identificar as características das métricas. É possível adicionar rótulos que os contêineres extraídos não expõem inicialmente. No recurso personalizado MonitoringTarget, defina o novo rótulo como um rótulo de destino e forneça um valor de substituição. Esse par de chave-valor é adicionado a todas as métricas coletadas pelo recurso.

O exemplo de código a seguir mostra como definir o rótulo de destino my_new_label e configurar o valor como my_label_value no recurso personalizado MonitoringTarget:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  [...]
  podMetricsEndpoints:
    [...]
    metricsRelabelings:
      - action: replace
        targetLabel: my_new_label
        replacement: my_label_value
      [...]

Substitua:

  • PROJECT_NAMESPACE: o namespace do projeto.
  • MONITORING_TARGET_NAME: o nome do arquivo de definição de MonitoringTarget.

Renomear uma métrica

É possível renomear a métrica de um contêiner usando o recurso MonitoringTarget. Defina o nome da métrica original e a substituição no campo metricsRelabelings. O nome original é tratado como uma expressão regular (regex) e é substituído pelo novo nome.

O exemplo de código a seguir mostra como substituir o nome da métrica cpu_usage (regex) por cpu_usage_new_name no recurso personalizado MonitoringTarget:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  [...]
  podMetricsEndpoints:
    [...]
    metricsRelabelings:
      - action: replace
        regex: cpu_usage
        replacement: cpu_usage_new_name
        sourceLabels: [__name__]
        targetLabel: __name__
      [...]

Substitua:

  • PROJECT_NAMESPACE: o namespace do projeto.
  • MONITORING_TARGET_NAME: o nome do arquivo de definição de MonitoringTarget.