Graylog: Choisir le format d'entrée
Cette documentation fait partie du guide Choisir les types d'entrée. Consultez le guide complet ici : Comment choisir le bon type d'entrée Graylog.
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Graylog cloud prête à l'emploi qui offre de nombreux avantages, notamment :
- Serveur e-mail SMTP illimité et dédié inclus.
- Mises à jour sans effort en un clic.
- Nom de domaine personnalisable sécurisé avec HTTPS (par exemple, https://logs.votre-entreprise.com).
- Performance optimale et sécurité robuste grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Graylog cloud hosting de Stackhero !
La première décision consiste à choisir le format de vos messages de log. Trois options principales existent : RAW/Plaintext, Syslog ou GELF.
Format RAW/Plaintext
C'est le format le plus simple. Il fonctionne avec n'importe quel système puisqu'il envoie un message en texte brut. Il est très facile à utiliser et parfait pour des tests initiaux, comme l'envoi d'un message avec l'utilitaire netcat.
Pour tester, vous pouvez créer une entrée "Raw/Plaintext UDP" puis envoyer un log de test avec l'une des commandes suivantes :
- Depuis macOS :
echo "Hello Graylog from UDP" | nc -u -w1 -c <XXXXXX>.stackhero-network.com 5555 - Depuis Linux :
echo "Hello Graylog from UDP" | nc -u -w1 <XXXXXX>.stackhero-network.com 5555
C'est très simple, n'est-ce pas ? Cependant, comme il s'agit d'un format basique, vous serez rapidement confronté à des limitations. Nous déconseillons donc de l'utiliser au-delà de simples tests.
Format Syslog
Il s'agit d'un format bien connu, largement utilisé pour stocker et transmettre des logs dans les environnements serveurs. On le retrouve sous Linux, Windows, *BSD et d'autres systèmes d'exploitation.
Si vous utilisez Syslog, Rsyslog ou un autre service compatible et souhaitez envoyer des logs d'un serveur vers Graylog, l'entrée syslog est l'option la plus simple.
Cependant, puisque GELF est plus puissant, si vous pouvez envoyer des messages au format GELF, nous vous recommandons de le faire, comme expliqué ci-dessous.
Notez que le format syslog est limité à 1024 caractères.
Format GELF (recommandé)
GELF signifie "Graylog Extended Log Format". Ce format a été créé par Graylog et est aujourd'hui largement adopté par de nombreux produits, devenant ainsi un standard.
Le format GELF est puissant car il permet d'envoyer des logs de façon structurée. La journalisation structurée permet de transmettre plusieurs champs et valeurs, plutôt qu'un simple message texte non structuré. Cela facilite l'analyse et la recherche d'informations par Graylog.
Par exemple, si vous souhaitez envoyer un log contenant une adresse IP et un type de requête, vous pouvez transmettre un message avec deux champs nommés ip et request_type. Côté Graylog, vous pourrez ensuite effectuer des recherches directement sur ces champs, comme rechercher toutes les requêtes avec la requête : request_type: POST.
GELF est basé sur JSON et doit inclure au minimum les champs version, host et short_message. Vous pouvez ensuite ajouter d'autres champs, qui doivent commencer par un underscore (_).
Par exemple, un message simple avec un champ supplémentaire nommé device_id ressemble à ceci :
{
"version": "1.1",
"host": "myIotDevice",
"short_message": "Something is happening",
"_device_id": "abcd"
}
Vous pourrez ensuite rechercher tous les messages provenant de l'appareil "abcd" sur Graylog avec la requête : device_id: abcd.
Pour plus de détails sur GELF, vous pouvez consulter la spécification officielle ici : https://docs.graylog.org/en/4.0/pages/gelf.html.
Si vous souhaitez envoyer des logs depuis des serveurs ou des applications, vous pouvez utiliser l'une des nombreuses librairies disponibles qui créent et envoient automatiquement vos messages. Des exemples sont disponibles pour Node.js, .NET et Python.