Esta página descreve como gerar novas métricas a partir de métricas existentes através da implementação de um recurso personalizado no Google Distributed Cloud (GDC) air-gapped.MonitoringRule
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 de métricas existentes especificando os cálculos necessários nas respetivas regras de gravação.
Antes de começar
Para receber as autorizações necessárias para gerir recursos personalizados, peça ao administrador de IAM da organização ou ao administrador de IAM do projeto que lhe conceda uma das funções associadas.MonitoringRule
MonitoringRule
Consoante o nível de acesso e as autorizações de que precisa, pode obter as funções de criador, editor ou leitor para este recurso numa organização ou num projeto. Para mais informações, consulte o artigo Prepare as autorizações de IAM.
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
MonitoringRule
recurso personalizado.A especificação
MonitoringRule
completa 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 namespace
O espaço de nomes do projeto. name
O nome da configuração da regra. interval
A duração do intervalo de avaliação da regra em segundos. limit
Opcional. O número máximo de alertas. Definido como 0
para alertas ilimitados.recordRules
As definições para calcular novas métricas. recordRules.record
O 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.expr
Uma expressão PromQL para a regra de métricas, que tem de ser avaliada como um valor numérico. recordRules.labels
Opcional. Os pares de chave-valor das etiquetas a adicionar ou substituir na nova métrica. Guarde o ficheiro YAML.
Aplique a configuração
MonitoringRule
ao 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.yaml
Substitua o seguinte:
KUBECONFIG_PATH
: o caminho para o ficheiro kubeconfig para o servidor da API Management.MONITORING_RULE_NAME
: o nome do ficheiro de definiçãoMonitoringRule
.
Preencha a especificação de MonitoringRule
Um recurso personalizado MonitoringRule
conté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
.