Esta página descreve como gerar novas métricas de registros atuais implantando
um recurso personalizado LoggingRule no Google Distributed Cloud (GDC) isolado por ar.
Com as regras de gravação, é possível pré-calcular expressões usadas com frequência ou computacionalmente caras, melhorando o desempenho de painéis e alertas. Definidas em recursos personalizados LoggingRule, essas regras geram novas métricas de série temporal com base em registros atuais, melhorando a observabilidade dos dados.
Ao armazenar resultados pré-calculados, as regras de gravação eliminam cálculos redundantes
sempre que uma expressão é necessária. Esse método acelera significativamente os tempos de consulta, principalmente para painéis e alertas complexos que exigem avaliações repetidas da mesma expressão. Basicamente, os recursos LoggingRule permitem derivar novas métricas dos dados de registros atuais especificando os cálculos necessários nas regras de gravação.
Antes de começar
Para receber as permissões necessárias para gerenciar recursos personalizados do LoggingRule, peça ao administrador do IAM da organização ou do projeto para conceder a você uma das funções associadas do LoggingRule.
Dependendo do nível de acesso e das permissões necessárias, você pode receber papéis de criador, editor ou leitor para esse recurso em uma organização ou um projeto. Para mais informações, consulte Preparar permissões do IAM.
Criar regras de gravação
Para criar uma regra de gravação, defina um nome para o registro gravado e uma expressão válida que produza um valor numérico. Essa expressão, quando avaliada, gera a nova métrica. Implante o recurso personalizado LoggingRule no namespace do projeto no servidor da API Management para ativar a regra de gravação.
Para mais informações sobre regras de gravação, consulte https://grafana.com/docs/loki/latest/rules/.
Siga estas etapas para criar regras de gravação no namespace do projeto:
- Determine o projeto do GDC em que você quer criar regras de gravação.
Crie um arquivo YAML definindo o recurso personalizado
LoggingRule.A especificação completa do
LoggingRulemostra um exemplo de regras de gravação com base em registros. Para mais informações, consulte a documentação de referência da API.Substitua os seguintes valores no arquivo YAML de acordo com suas necessidades:
Nome do campo Descrição namespaceO namespace do projeto. nameO nome da configuração de regra. sourceA origem do registro para a regra de gravação. As opções válidas são operationaleaudit.intervalA duração do intervalo de avaliação da regra em segundos. limitOpcional. O número máximo de alertas. Defina como 0para alertas ilimitados.recordRulesAs definições para calcular novas métricas. recordRules.recordO nome do registro da nova métrica. O valor precisa ser um nome de métrica válido que defina a série temporal em que os resultados são armazenados. recordRules.exprUma expressão LogQL para a regra de registro, que precisa ser avaliada como um valor numérico. recordRules.labelsOpcional. Os pares de chave-valor de rótulos a serem adicionados ou substituídos na nova métrica. Salve o arquivo YAML.
Aplique a configuração
LoggingRuleao servidor da API Management no mesmo namespace das regras de gravação:kubectl --kubeconfig KUBECONFIG_PATH apply -f LOGGING_RULE_NAME.yamlSubstitua:
KUBECONFIG_PATH: o caminho para o arquivo kubeconfig do servidor da API Management.LOGGING_RULE_NAME: o nome do arquivo de definição deLoggingRule.
Especificação completa de LoggingRule
Um recurso personalizado LoggingRule contém regras de gravação que descrevem as condições para criar novas métricas com base em registros atuais para observabilidade.
O arquivo YAML a seguir mostra um modelo para o recurso
personalizado LoggingRule. Para mais informações, consulte a
documentação de referência da API.
# Configures either an alert or a target record for precomputation.
apiVersion: logging.gdc.goog/v1
kind: LoggingRule
metadata:
# Choose a namespace that matches the project namespace.
# The alert or record is produced in the same namespace.
namespace: PROJECT_NAMESPACE
name: LOGGING_RULE_NAME
spec:
# Choose the log source to base alerts on (operational or audit logs).
# Optional.
# Valid options: 'operational' and 'audit'
# Default value: 'operational'
source: operational
# 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 logs.
# 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 LogQL 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:
PROJECT_NAMESPACE: o namespace do projeto.LOGGING_RULE_NAME: o nome do arquivo de definição deLoggingRule.