Cette page fournit des informations de dépannage pour les cas d'utilisation courants des métriques basées sur les journaux dans Cloud Logging.
Impossible d'afficher ou de créer des métriques
Les métriques basées sur les journaux ne s'appliquent qu'à un seul projet Google Cloud ou à un bucket de journalisation au sein d'un projet Google Cloud. Vous ne pouvez pas créer de métriques basées sur les journaux pour d'autres ressources Google Cloud, telles que les comptes de facturation ou les organisations. Les métriques basées sur les journaux ne sont calculées que pour les journaux du projet ou du bucket Google Cloud dans lequel elles sont reçues.
Pour créer des métriques, vous devez disposer des autorisations IAM appropriées. Pour en savoir plus, consultez la page Contrôle des accès avec IAM : métriques basées sur les journaux.
La métrique ne contient pas de données de journal
L'absence de données dans les métriques basées sur les journaux peut s'expliquer par les raisons suivantes :
Les nouvelles entrées de journal ne correspondent peut-être pas au filtre de votre métrique. Une métrique basée sur les journaux récupère les données des entrées de journal correspondantes reçues après la création de la métrique. Logging n'intègre pas les entrées de journal précédentes dans la métrique.
Les nouvelles entrées de journal ne contiennent peut-être pas le bon champ, ou les données ne sont peut-être pas au format attendu pour l'extraction par votre métrique de distribution. Vérifiez que les noms des champs et les expressions régulières sont corrects.
Les décomptes de votre métrique sont peut-être retardés. Même si des entrées de journal dénombrables apparaissent dans l'explorateur de journaux, la mise à jour des métriques basées sur les journaux dans Cloud Monitoring peut prendre jusqu'à 10 minutes.
Les entrées de journal affichées peuvent être comptabilisées en retard ou ne pas être comptabilisées du tout, car elles sont horodatées trop loin dans le passé ou le futur. Si une entrée de journal est reçue par Cloud Logging plus de 24 heures dans le passé ou 10 minutes dans le futur, elle n'est pas comptabilisée dans la métrique basée sur les journaux.
Le nombre d'entrées tardives est enregistré dans la métrique basée sur les journaux
logging.googleapis.com/logs_based_metrics_error_count
.Exemple : Une entrée de journal correspondant à une métrique basée sur les journaux arrive en retard. Son horodatage (
timestamp
) est 14h30 le 20 février 2020 et son horodatage de réception (receivedTimestamp
) 14h45 le 21 février 2020. Cette entrée ne sera pas comptabilisée dans la métrique basée sur les journaux.La métrique basée sur les journaux a été créée après l'arrivée des entrées de journal que la métrique peut compter. Les métriques basées sur les journaux évaluent les entrées de journal telles qu'elles sont stockées dans des buckets de journaux. Ces métriques n'évaluent pas les entrées de journal stockées dans Logging.
Les données de la métrique basée sur les journaux présentent des lacunes. Des lacunes de données sont à prévoir, car les systèmes qui traitent les données de métrique basées sur les journaux ne garantissent pas la persistance de chaque point de données de métrique. Lorsqu'elles se produisent, elles sont généralement rares et de courte durée. Toutefois, si vous disposez d'une règle d'alerte qui surveille une métrique basée sur les journaux, des lacunes dans les données peuvent entraîner une fausse notification. Les paramètres que vous utilisez dans votre stratégie d'alerte peuvent réduire cette possibilité.
Exemple: Une entrée de journal "heartbeat" est écrite toutes les cinq minutes, et une métrique basée sur les journaux comptabilise le nombre d'entrées de journal "heartbeat". Une règle d'alerte résume les comptages sur une période de cinq minutes et vous avertit lorsque le total est inférieur à un. Lorsqu'un point de données est manquant dans la série temporelle, la règle d'alerte injecte une valeur synthétique, qui est un double de l'échantillon le plus récent et qui est le plus souvent égale à zéro, puis évalue la condition. Par conséquent, même un seul point de données manquant peut entraîner une valeur totale de zéro, ce qui déclenche l'envoi d'une notification par cette règle d'alerte.
Pour réduire le risque de fausse notification, configurez la règle pour qu'elle compte plusieurs entrées de journal "heartbeat", et non une seule.
Le type de ressource est "indéterminé" dans Cloud Monitoring
Certains types de ressources surveillées Cloud Logging ne sont pas directement mappés aux types de ressources surveillées Cloud Monitoring. Par exemple, lorsque vous créez pour la première fois une règle d'alerte ou un graphique à partir d'une métrique basée sur les journaux, vous pouvez constater que le type de ressource est "indéterminé".
Le type de ressource surveillée correspond à global
ou à un type de ressource surveillée différent dans Cloud Monitoring. Consultez la section Mappages pour les ressources Logging uniquement afin de déterminer le type de ressource surveillée que vous devez choisir.
Les incidents ne sont pas créés ou sont des faux positifs
Vous pouvez recevoir des incidents de faux positifs ou des situations où la surveillance ne crée pas d'incidents à partir de métriques basées sur les journaux, car la période d'alignement de la règle d'alerte est trop courte. Vous pouvez rencontrer des faux positifs dans les scénarios suivants:
- Lorsqu'une règle d'alerte utilise la logique moins de.
- Lorsqu'une règle d'alerte est basée sur une condition de percentile pour une métrique de distribution.
- En cas d'écart dans les données de métrique.
Des incidents de faux positifs peuvent se produire en raison d'un envoi tardif des entrées de journal à Logging. Par exemple, dans certains cas, les champs de journal timestamp
et receiveTimestamp
peuvent présenter un délai de plusieurs minutes. De même, lorsque Logging stocke des journaux dans des buckets de journaux, il existe un délai inhérent entre le moment où les entrées de journal sont générées et celui où Logging les reçoit. Cela signifie que Logging risque de ne pas enregistrer le nombre total d'occurrences pour une entrée de journal particulière jusqu'à une date postérieure à la génération des entrées de journal. C'est pourquoi une règle d'alerte utilisant une logique valeur inférieure à ou basée sur une condition de centile pour une métrique de distribution peut produire une alerte de faux positif, si toutes les entrées de journal n'ont pas encore été prises en compte.
Toutefois, les métriques basées sur les journaux sont cohérentes à terme, car une entrée de journal correspondant à une métrique basée sur les journaux peut être envoyée à Logging avec un horodatage timestamp
beaucoup plus ancien ou plus récent que celui du journal (receiveTimestamp
).
Cela signifie que la métrique basée sur les journaux peut recevoir des entrées de journal ayant des horodatages plus anciens après que Logging ait reçu des entrées de journal existantes portant le même horodatage. Par conséquent, la valeur de la métrique doit être mise à jour.
Pour que les notifications restent précises même pour les données ponctuelles, nous vous recommandons de définir la période d'alignement de la condition sur au moins 10 minutes. En particulier, cette valeur doit être suffisamment élevée pour s'assurer que plusieurs entrées de journal correspondant à votre filtre sont comptabilisées. Par exemple, si une métrique basée sur les journaux compte les entrées de journal "heartbeat", qui sont attendues toutes les N
minutes, définissez la période d'alignement sur 2N
minutes ou 10 minutes, selon la valeur la plus élevée:
Si vous utilisez la console Google Cloud, utilisez le menu Fenêtre glissante pour définir la période d'alignement.
Si vous utilisez l'API, utilisez le champ
aggregations.alignmentPeriod
de la condition pour définir la période d'alignement.
La métrique comporte trop de séries temporelles
Le nombre de séries temporelles d'une métrique dépend du nombre de combinaisons différentes des valeurs du libellé. Le nombre de séries temporelles correspond à la cardinalité de la métrique et ne doit pas dépasser 30 000.
Étant donné que vous pouvez générer une série temporelle pour chaque combinaison de valeurs de libellés, il est facile de dépasser 30 000 séries temporelles si vous possédez un ou plusieurs libellés avec un grand nombre de valeurs. Vous souhaitez éviter les métriques à cardinalité élevée.
À mesure que la cardinalité augmente, la métrique peut se trouver limitée et certains points de données peuvent ne pas y être écrits. Les graphiques affichant la métrique peuvent mettre du temps à se charger en raison du grand nombre de séries temporelles à traiter. De plus, les appels d'API exécutés afin d'interroger les données des séries temporelles peuvent entraîner des frais. Consultez la page des tarifs de Cloud Monitoring pour en savoir plus.
Pour éviter de créer des métriques avec une cardinalité élevée :
Vérifiez que les champs du libellé et les expressions régulières d'extracteur correspondent à des valeurs ayant une cardinalité limitée.
Évitez d'extraire des messages textuels longs qui risquent de changer sans limites en tant que valeurs de libellés.
Évitez d'extraire des valeurs numériques ayant une cardinalité illimitée.
N'extrayez que les valeurs de libellés ayant une cardinalité connue (par exemple, les codes d'état avec un ensemble de valeurs connues).
Ces deux métriques basées sur les journaux système peuvent vous aider à mesurer l'effet de l'ajout ou de la suppression de libellés sur la cardinalité de votre métrique :
logging.googleapis.com/metric_throttled
logging.googleapis.com/time_series_count
logging.googleapis.com/metric_label_throttled
logging.googleapis.com/metric_label_cardinality
Quand vous inspectez ces métriques, vous pouvez filtrer vos résultats par nom de métrique. Pour en savoir plus, consultez la page Sélectionner des métriques : filtrer.
Le nom de la métrique n'est pas valide
Lorsque vous créez une métrique de compteur ou de distribution, choisissez un nom unique parmi les métriques basées sur les journaux de votre projet Google Cloud.
Les chaînes de nom de métrique ne doivent pas dépasser 100 caractères et ne peuvent contenir que les caractères suivants :
A
-Z
a
-z
0
-9
Caractères spéciaux
_
-
.
,
+
!
*
'
,
(
)
%
\/
.La barre oblique
/
représente une arborescence d'éléments et ne peut donc pas être le premier caractère du nom.
Les valeurs des métriques ne sont pas correctes
Vous remarquez que les valeurs signalées pour une métrique basée sur les journaux sont parfois différentes du nombre d'entrées de journal signalées par l'explorateur de journaux.
Pour réduire la différence, procédez comme suit:
Assurez-vous que les applications n'envoient pas d'entrées de journal en double. Les entrées de journal sont considérées comme des doublons lorsqu'elles ont le même
timestamp
et le mêmeinsertId
. L'explorateur de journaux supprime automatiquement les doublons d'entrées de journal. Toutefois, les métriques basées sur les journaux comptent chaque entrée de journal correspondant au filtre de la métrique.Assurez-vous qu'une entrée de journal est envoyée à Cloud Logging lorsque le code temporel est inférieur à 24 heures dans le passé ou à 10 minutes dans le futur. Les entrées de journal dont les codes temporels ne se trouvent pas dans ces limites ne sont pas comptabilisées par les métriques basées sur les journaux.
Vous ne pouvez pas éliminer la possibilité de journaux en double. Si une erreur interne se produit lors du traitement d'une entrée de journal, un processus de nouvelle tentative est appelé par Cloud Logging. Le processus de nouvelle tentative peut entraîner une entrée de journal en double. Lorsque des entrées de journal en double existent, la valeur d'une métrique basée sur les journaux peut être trop élevée, car ces métriques comptent chaque entrée de journal correspondant au filtre de la métrique.
La valeur des libellés est tronquée
La valeur des libellés définis par l'utilisateur ne doit pas dépasser 1 024 octets.
Impossible de supprimer une métrique de journal personnalisée
Vous essayez de supprimer une métrique personnalisée basée sur les journaux à l'aide de la console Google Cloud.
La requête de suppression échoue et la boîte de dialogue de suppression affiche le message d'erreur There is an unknown error while executing this operation
.
Pour résoudre ce problème, procédez comme suit:
Actualisez la page Métriques basées sur les journaux de la console Google Cloud. Le message d'erreur peut s'afficher en raison d'un problème de synchronisation interne.
Identifiez et supprimez toutes les règles d'alerte qui surveillent la métrique basée sur les journaux. Une fois que vous vous êtes assuré que la métrique basée sur les journaux n'est pas surveillée par une règle d'alerte, supprimez-la. Les métriques basées sur les journaux surveillées par une règle d'alerte ne peuvent pas être supprimées.