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 programistom konfigurować różne "sinks" (miejsca docelowe) do przechowywania i wizualizacji logów.

Poniżej znajduje się podstawowy przykład użycia 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 umożliwia przesyłanie logów w formacie GELF bezpośrednio do Graylog.

  1. Zainstaluj pakiet:

    Dodaj pakiet serilog-sinks-graylog do swojego projektu, wykonując poniższe polecenie:

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

    Zaktualizuj konfigurację swojej aplikacji poniższym fragmentem 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 wyświetlonym oknie modalnym zaznacz opcję "Global", nadaj nazwę inputowi i zapisz ustawienia bez wprowadzania dalszych zmian.

W celu zwiększenia bezpieczeństwa zaleca się ograniczenie adresów IP, które mogą łączyć się z portem 12201. Można to skonfigurować w panelu Stackhero, wybierając swoją usługę Graylog i zarządzając ustawieniami "Firewall", aby zezwolić tylko na wybrane adresy IP.

Stosując się do powyższych kroków, umożliwisz swojej aplikacji .NET bezpieczne i wydajne wysyłanie logów do instancji Graylog.