Graylog: Używanie z Dot NET

Jak wysyłać logi z .NET/Serilog do Graylog

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Graylog cloud, które zapewnia wiele korzyści, w tym:

  • Nieograniczony i dedykowany serwer e-mail SMTP w zestawie.
  • Bezproblemowe aktualizacje za pomocą jednego kliknięcia.
  • Dostosowywalna nazwa domeny zabezpieczona za pomocą HTTPS (na przykład, https://logs.twoja-firma.com).
  • Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj swoje życie: wystarczy 5 minut, aby wypróbować rozwiązanie Graylog cloud hosting Stackhero!

Serilog to popularna i wysoce rozszerzalna biblioteka do logowania, szeroko stosowana do zarządzania logami w aplikacjach .NET. Pozwala deweloperom konfigurować różne "sinks" do przechowywania i wizualizacji logów.

Oto podstawowy przykład demonstrujący użycie Serilog:

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

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

Aby wysyłać logi do serwera Graylog, można użyć pakietu serilog-sinks-graylog. Ten "sink" ułatwia przesyłanie logów w formacie GELF bezpośrednio do Graylog.

  1. Zainstaluj pakiet:

    Dodaj pakiet serilog-sinks-graylog do swojego projektu, wykonując następujące polecenie:

    Install-Package serilog.sinks.graylog
    
  2. Skonfiguruj Serilog dla Graylog:

    Zaktualizuj konfigurację aplikacji za pomocą poniższego fragmentu kodu. Zamień <XXXXXX>.stackhero-network.com na domenę swojej instancji Graylog:

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

    • Zaloguj się do swojego panelu Graylog.
    • Przejdź do System > Inputs.
    • Utwórz nowy input typu "GELF UDP".
    • Kliknij "Launch new input". W oknie modalnym, które się pojawi, włącz opcję "Global", przypisz tytuł do inputu i zapisz ustawienia bez dalszych zmian.

Aby zwiększyć bezpieczeństwo, zaleca się ograniczenie adresów IP, które mogą łączyć się z portem 12201. Można to skonfigurować, uzyskując dostęp do panelu Stackhero, wybierając swoją usługę Graylog i zarządzając ustawieniami "Firewall", aby zezwolić tylko na określone adresy IP.

Postępując zgodnie z tymi krokami, można umożliwić aplikacji .NET bezpieczne i efektywne wysyłanie logów do instancji Graylog.