Os recursos personalizados do MonitoringTarget no Google Distributed Cloud (GDC) com isolamento físico permitem
rotular métricas coletadas para diferenciar as características das métricas 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, é preciso ter as permissões necessárias.
Solicitar papéis do IAM da organização
Entre em contato com o admin. da organização do IAM para solicitar os seguintes papéis:
- Criador de PA do MonitoringTarget (
monitoringtarget-pa-creator): cria recursos personalizadosMonitoringTarget. - Editor de PA do MonitoringTarget (
monitoringtarget-pa-editor): edita ou modifica recursos personalizadosMonitoringTarget. - Leitor de PA do MonitoringTarget (
monitoringtarget-pa-viewer~): viewMonitoringTarget`.
Solicitar papéis do IAM para o projeto
Entre em contato com o administrador do projeto do IAM para solicitar os seguintes papéis:
- Editor do MonitoringTarget (
monitoringtarget-editor): edite ou modifique recursos personalizadosMonitoringTargetno namespace do projeto. - Leitor de 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 características de 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 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.