Métricas de etiquetas

As etiquetas permitem-lhe diferenciar as caraterísticas de uma métrica. Além de recolher métricas, o recurso personalizado MonitoringTarget permite-lhe etiquetar métricas para funcionalidades de observabilidade opcionais:

Para mais informações sobre a reetiquetagem de métricas, consulte https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/.

Antes de começar

Para gerir recursos personalizados do MonitoringTarget, tem de ter as autorizações necessárias.

Peça funções de organização do IAM

Contacte o administrador de IAM da organização para pedir as seguintes funções:

  • MonitoringTarget PA Creator (monitoringtarget-pa-creator): crie MonitoringTarget recursos personalizados.
  • Editor de PA de MonitoringTarget (monitoringtarget-pa-editor): editar ou modificar recursos personalizados MonitoringTarget.
  • MonitoringTarget PA Viewer (monitoringtarget-pa-viewer~): viewMonitoringTarget` recursos personalizados.

Peça funções do projeto de IAM

Contacte o administrador de IAM do projeto para pedir as seguintes funções:

  • MonitoringTarget Editor (monitoringtarget-editor): edite ou modifique recursos personalizados MonitoringTarget no espaço de nomes do projeto.
  • MonitoringTarget Viewer (monitoringtarget-viewer): veja recursos personalizados MonitoringTarget no espaço de nomes do projeto.

Envie métricas para outro projeto

Os autores de contentores podem codificar métricas específicas para serem enviadas para um projeto diferente, mesmo para projetos que não sejam seus. Para enviar uma métrica para um projeto específico, adicione a etiqueta _gdch_project à métrica no seu código, definindo o respetivo valor como o nome do projeto de destino.

Em alternativa, use o recurso personalizado MonitoringTarget para enviar todos os dados de métricas recolhidos para outro projeto. Defina a etiqueta _gdch_project como uma etiqueta de destino no campo metricsRelabelings, com o novo nome do projeto como o valor de substituição.

O seguinte exemplo de código mostra como definir a etiqueta de destino _gdch_project no recurso personalizado MonitoringTarget para enviar métricas para o projeto denominado 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 o seguinte:

  • PROJECT_NAMESPACE: o espaço de nomes do seu projeto.
  • MONITORING_TARGET_NAME: o nome do ficheiro de definição MonitoringTarget.

Adicione novas etiquetas às métricas

As etiquetas ajudam na observabilidade e na monitorização, identificando as características das métricas. Pode adicionar etiquetas que os contentores extraídos não expõem inicialmente. No recurso personalizado MonitoringTarget, defina a nova etiqueta como um alvo e forneça um valor de substituição. Este par de chave-valor é adicionado a todas as métricas que o recurso recolhe.

O seguinte exemplo de código mostra como definir a etiqueta de destino my_new_label e configurar o respetivo valor para 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 o seguinte:

  • PROJECT_NAMESPACE: o espaço de nomes do seu projeto.
  • MONITORING_TARGET_NAME: o nome do ficheiro de definição MonitoringTarget.

Mude o nome de uma métrica

Pode mudar o nome da métrica de um contentor através do recurso MonitoringTarget. Defina o nome da métrica original e a respetiva substituição no campo metricsRelabelings. O nome original é tratado como uma expressão regular (regex) e é substituído pelo novo nome.

O seguinte exemplo de código mostra como substituir o cpu_usage nome da métrica (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 o seguinte:

  • PROJECT_NAMESPACE: o espaço de nomes do seu projeto.
  • MONITORING_TARGET_NAME: o nome do ficheiro de definição MonitoringTarget.