web-dev-qa-db-fra.com

Compter le nombre d'entrées de journal GCP pendant une période spécifiée

Est-il possible de compter le nombre d'occurrences d'un message de journal spécifique sur une période spécifique à partir de la journalisation GCP Stackdriver? Pour répondre à la question "Combien de fois cet événement s'est-il produit pendant cette période?" Fondamentalement, je voudrais l'intégrale de la courbe dans le tableau ci-dessous.

Il n'est pas nécessaire que ce soit une fenêtre mobile, cette fois, c'est plutôt une tâche ponctuelle. Un agrégateur de comptage ou similaire sur la requête de journal avancée fonctionnerait également s'il était disponible.

Example log based metric chart in stack driver

La requête ressemble à ceci:

(resource.type="container"
logName="projects/xyz-142842/logs/drs"
"Publish Message for updated entity"
) AND (timestamp>="2018-04-25T06:20:53Z" timestamp<="2018-04-26T06:20:53Z")

Ma métrique basée sur le journal pour le graphique ci-dessus ressemble à ceci: Log based metrig with Type=Counter and Units=1

Mon tableau de bord est configuré comme ceci: Dashboard with aggregation sum

11
Andreas Lundgren

J'ai fini par construire des bars empilés.

Avec un niveau de zoom correct, je peux résumer assez facilement le nombre d'occurrences. Cela aurait été une fonctionnalité intéressante d'obtenir le décompte directement à partir d'un graphique (l'intégrale), mais cela fonctionne pour l'instant.

Stacked bar diagram with Aggregation: sum and Aligner: sum

3
Andreas Lundgren

Il y a plusieurs façons de le faire, les deux que j'ai vues réellement fonctionner et qui peuvent s'appliquer à votre situation sont les suivantes:

  • Utilisation de métriques basées sur les journaux . Ils peuvent, par exemple, enregistrer le nombre d'entrées de journal contenant des messages d'erreur particuliers, ou ils peuvent extraire les informations de latence signalées dans les entrées de journal.

    Les métriques basées sur les journaux de Stackdriver Logging peuvent être l'un des deux types de métriques: compteur ou distribution. [...] Les métriques de compteur comptent le nombre d'entrées de journal correspondant à un filtre de journaux avancé. [...] Les métriques de distribution accumulent des données numériques à partir des entrées de journal correspondant à un filtre.

    Je vous conseille de parcourir la documentation pour vérifier que cette fonctionnalité couvre complètement votre cas d'utilisation.

  • Vous pouvez exporter vos journaux vers Big query , une fois que vous les avez là, vous pouvez utiliser les outils classiques comme groupby, select et tous les outils que BigQuery propose tu.

    Ici vous pouvez trouver un guide étape par étape très minimal concernant la façon d'exporter les journaux et la façon d'analyser les journaux d'audit à l'aide de BigQuery, mais je suis sûr que vous pouvez trouver en ligne de nombreuses ressources.


Le produit et les approches sont vraiment différents, je dirais que BigQuery est plus flexible, mais aussi plus complexe à configurer et à utiliser correctement. Si vous trouvez un troisième meilleur moyen, veuillez mettre à jour votre question avec ces informations.

2
GalloCedrone

Il y a encore une option. Vous pouvez lire votre métrique personnalisée à l'aide de l'API Stackdriver Monitoring ( https://cloud.google.com/monitoring/api/v3/ ) et la traiter dans un script avec l'agrégation dont vous avez besoin.

Si vous travaillez avec python - vous pouvez consulter gcloud python https://github.com/GoogleCloudPlatform/google-cloud- python/arbre/maître/surveillance Ce sera un script très simple et vous pouvez diffuser les résultats du calcul dans une table bigquery et l'utiliser dans votre tableau de bord

0
Alexey Maloletkin