Calcule métricas a partir de registos

Calcular métricas significa gerar novas métricas com base em registos ou métricas preexistentes para a observabilidade de dados. Calcula as métricas no GDC configurando regras de gravação num recurso personalizado LoggingRule. As regras de gravação pré-calculam expressões que são frequentemente necessárias ou computacionalmente dispendiosas. Estas regras guardam o respetivo resultado como um novo conjunto de séries cronológicas. Consultar o resultado pré-calculado é mais rápido do que executar a expressão original sempre que necessário. Este pré-cálculo é especialmente útil para painéis de controlo e alertas complexos, que têm de consultar a mesma expressão repetidamente sempre que são atualizados ou avaliados.

Configura regras de gravação no LoggingRule recurso personalizado para calcular métricas com base nos dados de registo do sistema. O recurso personalizado LoggingRule contém regras de gravação que descrevem as condições para calcular novas métricas com base em registos preexistentes.

Antes de começar

Para receber as autorizações necessárias para calcular métricas a partir de registos, peça ao administrador de IAM do projeto que lhe conceda uma das seguintes funções no espaço de nomes do projeto:

  • Logging Rule Creator: cria LoggingRule recursos personalizados. Peça a função de criador de regras de registo (loggingrule-creator).
  • Editor de regras de registo: edita ou modifica LoggingRule recursos personalizados. Peça a função Editor de regras de registo (loggingrule-editor).
  • Logging Rule Viewer: vê recursos personalizados do LoggingRule. Peça a função de visitante da regra de registo (loggingrule-viewer).

Crie regras de gravação

Defina um nome do registo e uma expressão válida que avalie a regra. A expressão tem de ser resolvida como um valor numérico para ser registada como uma nova métrica. Implemente o recurso personalizado no espaço de nomes do projeto no cluster de administrador da organização para criar as regras de gravação para a plataforma de observabilidade.

Para mais informações sobre as regras de gravação para a observabilidade, consulte https://grafana.com/docs/loki/latest/rules/

Siga os passos abaixo para criar regras de registo e calcular métricas no espaço de nomes do seu projeto:

  1. Abra ou crie o ficheiro YAML para o CR através do modelo de CR LoggingRule para regras de registo.
  2. No campo namespace do CR, introduza o espaço de nomes do seu projeto.
  3. No campo name, introduza o nome da configuração da regra.
  4. Opcional: pode escolher a origem de registo no campo source. Por exemplo, introduza um valor como operational ou audit.
  5. No campo interval, introduza o número de segundos para a duração do intervalo de avaliação da regra.
  6. Opcional: no campo limit, introduza o número máximo de alertas. Introduza 0 para alertas ilimitados.
  7. No campo recordRules, introduza as seguintes informações para calcular as métricas:

    • No campo record, introduza o nome do registo. Este valor define a série cronológica na qual escrever a regra de registo e tem de ser um nome de métrica válido.
    • No campo expr, introduza uma expressão LogQL para a regra de registo.

      Esta expressão tem de ser resolvida como um valor numérico para ser registada como uma nova métrica.

    • Opcional: no campo labels, defina as etiquetas que quer adicionar ou substituir como pares de chave-valor.

  8. Guarde o ficheiro YAML do CR.

  9. Implemente o CR no espaço de nomes do cluster de administrador do seu projeto para criar as regras de registo.

As LoggingRule regras de registo

Um recurso personalizado LoggingRule contém regras de gravação que descrevem as condições para calcular novas métricas com base nos dados de registo do sistema preexistentes para observabilidade.

O ficheiro YAML seguinte mostra um modelo para o campo recordRules do CR LoggingRule.

# Configures either an alert or a target record for precomputation
apiVersion: logging.gdc.goog/v1alpha1
kind: LoggingRule
metadata:
  # Choose namespace that matches the project's namespace
  # Note: The alert or record will be produced in the same namespace
  namespace: PROJECT_NAMESPACE
  name: alerting-config
spec:
  # Choose which log source to base alerts on (Operational/Audit/Security Logs)
  # Optional, Default: Operational
  source: <string>

  # Rule evaluation interval
  interval: <duration>

  # Configure limit for number of alerts (0: no limit)
  # Optional, Default: 0 (no limit)
  limit: <int>

  # Configure record rules to generate new metrics based on pre-existing logs.
  # Record rules generate metrics based on logs.
  # Use record rules for complex alerts, which query the same expression repeatedly every time they are evaluated.
  recordRules:
    # Define which timeseries to write to (must be a valid metric name)
  - record: <string>

    # Define LogQL expression to evaluate for this rule
    # https://grafana.com/docs/loki/latest/rules/
    expr: <string>

    # Define labels to add or overwrite
    # Optional, Map of {key, value} pairs
    labels:
      <labelname>: <labelvalue>
...

Substitua PROJECT_NAMESPACE pelo espaço de nomes do seu projeto.