0

J'ai une micro-instance de VM fonctionnant sur le nuage de calcul de google et je veux enregistrer un message d'erreur à stackdriver. Cette page https://cloud.google.com/logging/docs/agent/installation montre cet exempleComment utiliser logger pour enregistrer une erreur dans stackdriver?

logger "Some test message"

qui fonctionne très bien pour les messages normaux, mais je veux Stackdriver reconnaître certains messages comme des erreurs, de sorte qu'ils se présenteraient ici https://console.cloud.google.com/errors, ce qui me permettrait de recevoir des notifications par e-mail . Je suis conscient que l'outil gcloud dispose d'une solution de journalisation bêta, mais j'espère éviter d'installer les composants supplémentaires dont il a besoin.

Répondre

0

Vous voulez lire sur la documentation sur le formatage à https://cloud.google.com/error-reporting/docs/formatting-error-messages

Quelque chose comme:

{ 
    "message": "Some test message", 
    "context": { 
    "reportLocation": { 
     "functionName": "my_function" 
    } 
    }, 
    "serviceContext": { 
    "service": "my service", 
    } 
    } 

Vous aurez besoin du message à la jsonPayload de l'entrée du journal, pas le textPayload. Je crois que l'agent reconnaîtra automatiquement les messages JSON, mais s'il y a aussi des messages non-JSON, il peut revenir à l'utilisation du texte dans tous les cas. Dans ce cas, l'utilisation d'un journal dédié pour les erreurs devrait aider.

Vous pouvez également être intéressé par les documents sur la façon dont les messages sont regroupés: https://cloud.google.com/error-reporting/docs/grouping

+0

Merci pour la réponse. J'ai essayé votre exemple avec 'logger" $ json "' (dans shell) et il apparaît dans stackdriver mais pas reporter d'erreur. J'ai aussi essayé la même chose mais en remplaçant les nouvelles lignes par '\ n' comme si' json = '{\ n "message": "Un message de test", \ n "context": {\ n "reportLocation": {\ n "functionName": "my_function" \ n "\ n", \ n "serviceContext": {\ n "service": "mon service", \ n} \ n} '' –

+0

Lorsque vous développez l'entrée de journal dans le cloud console log viewer, quel type de charge est le contenu de (json, text, proto)? –

+0

Je pense que c'est juste du texte, mais voici la réponse https://gist.github.com/bijoutrouvaille/881d3b8780ba2e35e3e4dc3320172189 –