Esta página descreve como gerar novas métricas a partir de métricas existentes através da
implementação de um MonitoringRulerecurso personalizado no
Google Distributed Cloud (GDC) isolado.
As regras de gravação permitem pré-calcular expressões usadas com frequência ou computacionalmente caras, o que melhora o desempenho dos painéis de controlo e dos alertas. Definidas
nos recursos personalizados, estas regras geram novas métricas de séries cronológicas
a partir de métricas existentes, o que melhora a observabilidade dos dados.MonitoringRule
Ao armazenar resultados pré-calculados, as regras de registo eliminam os cálculos redundantes
sempre que uma expressão é necessária. Este método acelera significativamente os tempos de consulta, especialmente para painéis de controlo e alertas complexos que requerem avaliações repetidas da mesma expressão. Essencialmente, os recursos MonitoringRule permitem-lhe derivar novas métricas das existentes especificando os cálculos necessários nas respetivas regras de gravação.
Antes de começar
Para gerir recursos personalizados do MonitoringRule, 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:
- MonitoringRule PA Creator (
monitoringrule-pa-creator): crie recursos personalizadosMonitoringRule. - MonitoringRule PA Editor (
monitoringrule-pa-editor): edite ou elimine recursos personalizadosMonitoringRule. - MonitoringRule PA Viewer (
monitoringrule-pa-viewer): vejaMonitoringRulerecursos personalizados.
Peça funções do projeto de IAM
Contacte o administrador de IAM do projeto para pedir as seguintes funções:
- MonitoringRule Editor (
monitoringrule-editor): edite ou elimine recursos personalizadosMonitoringRuleno espaço de nomes do projeto. - MonitoringRule Viewer (
monitoringrule-viewer): veja recursos personalizadosMonitoringRuleno espaço de nomes do projeto.
Crie regras de gravação
Para criar uma regra de gravação, defina um nome para a métrica registada e uma expressão válida que produza um valor numérico. Esta expressão, quando avaliada,
gera a nova métrica. Implemente o recurso personalizado MonitoringRule no espaço de nomes do projeto no servidor da API Management para ativar a regra de gravação.
Para mais informações sobre as regras de gravação, consulte https://grafana.com/docs/loki/latest/rules/.
Siga estes passos para criar regras de gravação no espaço de nomes do projeto:
- Determine o projeto do GDC a partir do qual quer criar regras de gravação.
Crie um ficheiro YAML que defina o recurso personalizado
MonitoringRule.A especificação
MonitoringRulecompleta mostra um exemplo de regras de gravação baseadas em métricas. Para mais informações, consulte a documentação de referência da API.Substitua os seguintes valores no ficheiro YAML de acordo com as suas necessidades:
Nome do campo Descrição namespaceO espaço de nomes do projeto. nameO nome da configuração da regra. intervalA duração do intervalo de avaliação da regra em segundos. limitOpcional. O número máximo de alertas. Definido como 0para alertas ilimitados.recordRulesAs definições para calcular novas métricas. recordRules.recordO nome do registo da nova métrica. O valor tem de ser um nome de métrica válido que defina a série cronológica onde os resultados são armazenados. recordRules.exprUma expressão PromQL para a regra de métricas, que tem de ser avaliada como um valor numérico. recordRules.labelsOpcional. Os pares de chave-valor das etiquetas a adicionar ou substituir na nova métrica. Guarde o ficheiro YAML.
Aplique a configuração
MonitoringRuleao servidor da API Management no mesmo espaço de nomes que as suas regras de gravação:kubectl --kubeconfig KUBECONFIG_PATH apply -f MONITORING_RULE_NAME.yamlSubstitua o seguinte:
KUBECONFIG_PATH: o caminho para o ficheiro kubeconfig do servidor da API Management.MONITORING_RULE_NAME: o nome do ficheiro de definiçãoMonitoringRule.
Preencha a especificação de MonitoringRule
Um recurso personalizado MonitoringRulecontém regras de gravação que descrevem as condições para criar novas métricas com base nas métricas existentes para observabilidade.
O ficheiro YAML seguinte mostra um modelo para o recurso personalizado MonitoringRule. Para mais informações, consulte a
documentação de referência da API.
# Configures either an alert or a target record for precomputation.
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringRule
metadata:
# Choose a namespace that matches the project namespace.
# The alert or record is produced in the same namespace.
namespace: PROJECT_NAMESPACE
name: MONITORING_RULE_NAME
spec:
# Rule evaluation interval.
interval: 60s
# Configure the limit for the number of alerts.
# A value of '0' means no limit.
# Optional.
# Default value: '0'
limit: 0
# Configure recording rules to generate new metrics based on existing metrics.
# Recording rules precompute expressions that are frequently needed or computationally expensive.
# Results are saved as a new set of time series.
recordRules:
# Define the time series where you want to write the recording rule.
# The value must be a valid metric name.
- record: MyMetricsName
# Define the PromQL expression to evaluate for this rule.
expr: rate({service_name="bob-service"} [1m])
# Define labels to add or overwrite.
# Map of key-value pairs.
# Optional.
labels:
verb: read
Substitua o seguinte:
PROJECT_NAMESPACE: o espaço de nomes do seu projeto.MONITORING_RULE_NAME: o nome do ficheiro de definiçãoMonitoringRule.