Pour envoyer vos logs Go à Datadog, nous vous recommandons d’activer la journalisation au sein d’un fichier et de le suivre avec l’Agent Datadog. Pour ce faire, nous vous suggérons d’utiliser la configuration suivante avec la bibliothèque de journalisation open source du nom de logrus.
Nous vous encourageons fortement à configurer votre bibliothèque de journalisation afin de générer vos logs au format JSON et d’éviter de créer des règles de parsing personnalisées.
Pour une configuration Go classique, ouvrez un fichier main.go
et collez le code suivant :
package main
import (
log "github.com/Sirupsen/logrus"
)
func main() {
// utiliser le JSONFormatteur
log.SetFormatter(&log.JSONFormatter{})
// enregistrer comme d'habitude un événement avec logrus
log.WithFields(log.Fields{"string": "foo", "int": 1, "float": 1.1 }).Info("Mon premier événement de golang à stdout")
}
Ajoutez des métadonnées à un log est un jeu d’enfant si vous fournissez un objet JSON à afficher dans l’événement du log.
Ces métadonnées peuvent correspondre à hostname
, username
, customers
, metric
ou à toute autre information facilitant de dépannage et la compréhension du fonctionnement de votre application Go.
package main
import (
log "github.com/Sirupsen/logrus"
)
func main() {
// utiliser JSONFormatter
log.SetFormatter(&log.JSONFormatter{})
// enregistrer comme d'habitude un événement avec logrus
log.WithFields(log.Fields{"string": "foo", "int": 1, "float": 1.1 }).Info("Mon premier événement de golang à stdout")
// Pour les métadonnées, un schéma récurrent consiste à réutiliser les champs entre les déclarations de journalisation en réutilisant
contextualizedLog := log.WithFields(log.Fields{
"hostname": "staging-1",
"appname": "foo-app",
"session": "1ce3f6v"
})
contextualizedLog.Info("Événement simple avec des métadonnées globales")
}
Créez un fichier go.d/conf.yaml
dans votre dossier conf.d/
avec le contenu suivant :
##Section des logs
logs:
- type: file
path: "/path/to/your/go/log.log"
service: go
source: go
sourcecategory: sourcecode
Voici quelques conseils :
Documentation, liens et articles supplémentaires utiles: