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 personalizadosMonitoringTargetno namespace do projeto. - Editor do MonitoringTarget (
monitoringtarget-editor): edite ou modifique recursos personalizadosMonitoringTargetno namespace do projeto. - Leitor do MonitoringTarget (
monitoringtarget-viewer): visualizar recursos personalizadosMonitoringTargetno 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 deMonitoringTarget.
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 deMonitoringTarget.
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 deMonitoringTarget.