Graylog: Utilisation avec Dot NET

Comment envoyer des logs de .NET/Serilog vers Graylog

👋 Bienvenue dans la documentation Stackhero

Stackhero offre une solution Graylog cloud entièrement gérée, conçue pour la rapidité et la simplicité. Vous pouvez :

  • Compter sur un serveur SMTP d'email dédié et illimité inclus avec votre service.
  • Appliquer les mises à jour facilement en un seul clic, sans intervention manuelle.
  • Utiliser un nom de domaine personnalisé sécurisé par HTTPS (par exemple, https://logs.votre-entreprise.com), pour offrir à votre équipe un accès direct et sécurisé.
  • Profiter d'une performance et d'une sécurité accrues sur une infrastructure privée et dédiée, sans ressources partagées ni voisins bruyants.

Concentrez-vous sur vos données, pas sur vos outils : vous pouvez commencer avec la solution Graylog cloud hosting de Stackhero en seulement quelques minutes.

Serilog est une bibliothèque de gestion des logs très populaire et hautement extensible, largement utilisée pour la gestion des logs dans les applications .NET. Elle permet aux développeurs de configurer différents sinks pour le stockage et la visualisation des logs.

Voici un exemple de base illustrant l’utilisation de Serilog :

var log = new LoggerConfiguration()
    .WriteTo.Console()
    .WriteTo.File("log.txt")
    .CreateLogger();

log.Information("Hello, Serilog!");

Pour envoyer des logs vers un serveur Graylog, vous pouvez utiliser le package serilog-sinks-graylog. Ce sink permet de transmettre les logs au format GELF directement à Graylog.

  1. Installer le package :

    Ajoutez le package serilog-sinks-graylog à votre projet en exécutant la commande suivante :

    Install-Package serilog.sinks.graylog
    
  2. Configurer Serilog pour Graylog :

    Mettez à jour la configuration de votre application avec le code ci-dessous. Remplacez <XXXXXX>.stackhero-network.com par le domaine de votre instance Graylog :

    var loggerConfig = new LoggerConfiguration()
        .WriteTo.Graylog(
            new GraylogSinkOptions
            {
                HostnameOrAddress = "<XXXXXX>.stackhero-network.com",
                Port = 12201
            }
        );
    
  3. Configurer Graylog :

    • Connectez-vous à votre tableau de bord Graylog.
    • Allez dans System > Inputs.
    • Créez un nouvel input de type "GELF UDP".
    • Cliquez sur "Launch new input". Dans la fenêtre qui s’affiche, activez l’option "Global", donnez un titre à l’input, puis sauvegardez sans modifier les autres paramètres.

Pour renforcer la sécurité, il est recommandé de restreindre les adresses IP autorisées à se connecter au port 12201. Vous pouvez configurer cela depuis le tableau de bord Stackhero, en sélectionnant votre service Graylog, puis en gérant les paramètres du "Firewall" afin de n’autoriser que certaines IP.

En suivant ces étapes, vous permettez à votre application .NET d’envoyer ses logs de façon sécuritaire et efficace vers votre instance Graylog.