Le calcul des métriques consiste à générer de nouvelles métriques basées sur des journaux ou des métriques préexistants pour l'observabilité des données. Dans GDC, vous calculez les métriques en configurant des règles d'enregistrement dans une ressource personnalisée MonitoringRule
. Les règles d'enregistrement précalculent les expressions fréquemment nécessaires ou coûteuses en termes de calcul. Ces règles enregistrent leur résultat sous la forme d'un nouvel ensemble de séries temporelles. Interroger le résultat précalculé est plus rapide que d'exécuter l'expression d'origine chaque fois que nécessaire. Cette précomputation est particulièrement utile pour les tableaux de bord et les alertes complexes, qui doivent interroger la même expression à plusieurs reprises chaque fois qu'ils sont actualisés ou évalués.
Vous configurez des règles d'enregistrement dans la ressource personnalisée MonitoringRule
pour calculer des métriques basées sur d'autres métriques de surveillance du système. La ressource personnalisée MonitoringRule
contient des règles d'enregistrement qui décrivent les conditions à remplir pour calculer de nouvelles métriques à partir de métriques préexistantes.
Avant de commencer
Pour obtenir les autorisations nécessaires pour calculer des métriques à partir d'autres métriques, demandez à l'administrateur IAM du projet de vous accorder l'un des rôles suivants :
- Éditeur de règles de surveillance : permet de modifier les ressources personnalisées
MonitoringRule
. Demandez le rôle Éditeur de règles de surveillance (monitoringrule-editor
). - Lecteur de règles de surveillance : affiche les ressources personnalisées
MonitoringRule
. Demandez le rôle Lecteur des règles de surveillance (monitoringrule-viewer
).
Créer des règles d'enregistrement
Définissez un nom d'enregistrement et une expression valide qui évalue la règle. L'expression doit se résoudre en une valeur numérique pour être enregistrée en tant que nouvelle métrique. Déployez la ressource personnalisée dans l'espace de noms de votre projet sur le cluster d'administrateur pour créer les règles d'enregistrement.
Pour en savoir plus sur les règles d'enregistrement, consultez https://grafana.com/docs/loki/latest/rules/.
Suivez les étapes ci-dessous pour créer des règles d'enregistrement et calculer des métriques dans l'espace de noms de votre projet :
- Ouvrez ou créez le fichier YAML pour la RP à l'aide du modèle de RP
MonitoringRule
pour les règles d'enregistrement de la surveillance. - Dans le champ
namespace
du CR, saisissez l'espace de noms de votre projet. - Dans le champ
name
, saisissez le nom de la configuration de la règle. - Facultatif : Vous pouvez choisir la source du journal dans le champ
source
. Les options valides sontoperational
etaudit
. - Dans le champ
interval
, saisissez le nombre de secondes correspondant à la durée de l'intervalle d'évaluation de la règle. - Facultatif : Dans le champ
limit
, saisissez le nombre maximal d'alertes. Saisissez0
pour définir un nombre illimité d'alertes. Dans le champ
recordRules
, saisissez les informations suivantes pour calculer les métriques :- Dans le champ
record
, saisissez le nom de l'enregistrement. Cette valeur définit la série temporelle dans laquelle écrire la règle d'enregistrement. Il doit s'agir d'un nom de métrique valide. Dans le champ
expr
, saisissez une expression PromQL pour la règle de métrique.Cette expression doit correspondre à une valeur numérique pour être enregistrée en tant que métrique.
Facultatif : Dans le champ
labels
, définissez les libellés que vous souhaitez ajouter ou remplacer sous forme de paires clé/valeur.
- Dans le champ
Enregistrez le fichier YAML du CR.
Déployez le CR dans l'espace de noms de votre projet du cluster d'administrateur pour créer les règles d'enregistrement.
Règles d'enregistrement MonitoringRule
Une ressource personnalisée MonitoringRule
contient des règles d'enregistrement qui décrivent les conditions permettant de calculer de nouvelles métriques à partir de métriques de surveillance système préexistantes.
Le fichier YAML suivant montre un modèle pour le champ recordRules
de la 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>
...
Remplacez PROJECT_NAMESPACE par l'espace de noms de votre projet.
Règles d'enregistrement LoggingRule
Un CR LoggingRule
contient des règles d'enregistrement qui décrivent les conditions de calcul de nouvelles métriques basées sur des journaux préexistants.
Le fichier YAML suivant montre un modèle pour le champ recordRules
de la 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>
...