Esta página descreve como gerar novas métricas a partir de registos existentes implementando um recurso personalizado num dispositivo isolado do Google Distributed Cloud (GDC).LoggingRule
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 dos registos existentes, o que melhora a observabilidade dos dados.LoggingRule
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 LoggingRule
permitem-lhe
derivar novas métricas de dados de registo 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.LoggingRule
LoggingRule
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 registo, defina um nome para o registo gravado 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 LoggingRule
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
LoggingRule
recurso personalizado.A especificação
LoggingRule
completa mostra um exemplo de regras de gravação baseadas em registos. 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. source
A origem do registo da regra de gravação. As opções válidas são operational
eaudit
.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 LogQL para a regra de registo, 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
LoggingRule
ao servidor da API Management no mesmo espaço de nomes que as suas regras de gravação:kubectl --kubeconfig KUBECONFIG_PATH apply -f LOGGING_RULE_NAME.yaml
Substitua o seguinte:
KUBECONFIG_PATH
: o caminho para o ficheiro kubeconfig para o servidor da API Management.LOGGING_RULE_NAME
: o nome do ficheiro de definiçãoLoggingRule
.
Preencha a especificação de LoggingRule
Um recurso personalizado LoggingRule
contém regras de gravação que descrevem as condições para criar novas métricas com base nos registos existentes para observabilidade.
O ficheiro YAML seguinte 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 o seguinte:
PROJECT_NAMESPACE
: o espaço de nomes do seu projeto.LOGGING_RULE_NAME
: o nome do ficheiro de definiçãoLoggingRule
.