Calcular métricas significa gerar novas métricas com base em registros ou métricas preexistentes para observabilidade de dados. Para calcular métricas no GDC, configure regras de gravação em um recurso personalizado MonitoringRule
. As regras de gravação pré-calculam expressões que são necessárias com frequência ou que exigem muita computação. Essas regras salvam o resultado como um novo conjunto de série temporal. Consultar o resultado pré-calculado é mais rápido do que executar a expressão original sempre que necessário. Essa pré-computação é especialmente útil para painéis e alertas complexos, que precisam consultar a mesma expressão repetidamente sempre que são atualizados ou avaliados.
Você configura regras de gravação no recurso personalizado MonitoringRule
para calcular métricas com base em outras métricas de monitoramento do sistema. O recurso personalizado MonitoringRule
contém regras de gravação que descrevem as condições para calcular novas métricas com base nas métricas preexistentes.
Antes de começar
Para receber as permissões necessárias para calcular métricas de métricas, peça ao administrador do IAM do projeto para conceder a você um dos seguintes papéis:
- Editor de regras de monitoramento: edita ou modifica recursos personalizados
MonitoringRule
. Solicite o papel de editor de regras do Monitoring (monitoringrule-editor
). - Leitor de regras do Monitoring: visualiza recursos personalizados
MonitoringRule
. Solicite o papel Leitor de regras do Monitoring (monitoringrule-viewer
).
Criar regras de gravação
Defina um nome de registro e uma expressão válida que avalie a regra. A expressão precisa ser resolvida como um valor numérico para ser registrada como uma nova métrica. Implante o recurso personalizado no namespace do projeto no cluster de administrador para criar as regras de gravação.
Para mais informações sobre regras de gravação, consulte https://grafana.com/docs/loki/latest/rules/
Siga as etapas abaixo para criar regras de registro e calcular métricas no namespace do seu projeto:
- Abra ou crie o arquivo YAML para o CR usando o modelo CR
MonitoringRule
para regras de registro de monitoramento. - No campo
namespace
do CR, insira o namespace do projeto. - No campo
name
, insira o nome da configuração de regra. - Opcional: você pode escolher a origem do registro no campo
source
. As opções válidas sãooperational
eaudit
. - No campo
interval
, insira o número de segundos para a duração do intervalo de avaliação da regra. - Opcional: no campo
limit
, insira o número máximo de alertas. Insira0
para alertas ilimitados. No campo
recordRules
, insira as seguintes informações para calcular métricas:- No campo
record
, insira o nome do registro. Esse valor define a série temporal em que a regra de gravação será escrita e precisa ser um nome de métrica válido. No campo
expr
, insira uma expressão PromQL para a regra de métrica.Essa expressão precisa ser resolvida como um valor numérico para ser registrada como uma nova métrica.
Opcional: no campo
labels
, defina os rótulos que você quer adicionar ou substituir como pares de chave-valor.
- No campo
Salve o arquivo YAML da CR.
Implante o CR no namespace do projeto do cluster de administrador para criar as regras de registro.
As regras de registro MonitoringRule
Um recurso personalizado MonitoringRule
contém regras de gravação que descrevem as condições para calcular novas métricas com base em métricas de monitoramento do sistema preexistentes.
O arquivo YAML a seguir mostra um modelo para o campo recordRules
da CR MonitoringRule
.
# Configures either an alert or a target record for precomputation
apiVersion: monitoring.gdc.goog/v1alpha1
kind: MonitoringRule
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:
# 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 metrics.
# Record rules precompute expressions that are frequently needed or computationally expensive.
# These rules save their result as a new set of time series.
recordRules:
# Define which timeseries to write to (must be a valid metric name)
- record: <string>
# Define PromQL expression to evaluate for this rule
expr: <string>
# Define labels to add or overwrite
# Optional, Map of {key, value} pairs
labels:
<labelname>: <labelvalue>
...
Substitua PROJECT_NAMESPACE pelo namespace do projeto.
As regras de registro LoggingRule
Um CR LoggingRule
contém regras de registro que descrevem as condições para calcular novas métricas com base em registros preexistentes.
O arquivo YAML a seguir mostra um modelo para o campo recordRules
da 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: g-fleetns-a
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>
...