Calculer des métriques à partir des journaux

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 LoggingRule. 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 LoggingRule pour calculer les métriques en fonction des données de journalisation du système. La ressource personnalisée LoggingRule contient des règles d'enregistrement qui décrivent les conditions à remplir pour calculer de nouvelles métriques à partir de journaux préexistants.

Avant de commencer

Pour obtenir les autorisations nécessaires pour calculer les métriques à partir des journaux, demandez à votre administrateur IAM de projet de vous accorder l'un des rôles suivants dans l'espace de noms de votre projet :

  • Créateur de règles de journalisation : crée des ressources personnalisées LoggingRule. Demandez le rôle Créateur de règles Logging (loggingrule-creator).
  • Éditeur de règles de journalisation : permet de modifier les ressources personnalisées LoggingRule. Demandez le rôle Éditeur de règles de journalisation (loggingrule-editor).
  • Lecteur de règles de journalisation : affiche les ressources personnalisées LoggingRule. Demandez le rôle Lecteur de règles de journalisation (loggingrule-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 de l'organisation pour créer les règles d'enregistrement pour la plate-forme Observability.

Pour en savoir plus sur les règles d'enregistrement pour l'observabilité, 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 :

  1. Ouvrez ou créez le fichier YAML pour le CR à l'aide du modèle CR LoggingRule pour les règles d'enregistrement des journaux.
  2. Dans le champ namespace du CR, saisissez l'espace de noms de votre projet.
  3. Dans le champ name, saisissez le nom de la configuration de la règle.
  4. Facultatif : Vous pouvez choisir la source du journal dans le champ source. Par exemple, saisissez une valeur telle que operational ou audit.
  5. Dans le champ interval, saisissez le nombre de secondes correspondant à la durée de l'intervalle d'évaluation de la règle.
  6. Facultatif : Dans le champ limit, saisissez le nombre maximal d'alertes. Saisissez 0 pour définir un nombre illimité d'alertes.
  7. 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 LogQL pour la règle de journal.

      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.

  8. Enregistrez le fichier YAML du CR.

  9. 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 LoggingRule

Une ressource personnalisée LoggingRule contient des règles d'enregistrement qui décrivent les conditions permettant de calculer de nouvelles métriques basées sur des données de journalisation système préexistantes pour l'observabilité.

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: 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>
...

Remplacez PROJECT_NAMESPACE par l'espace de noms de votre projet.