Graylog: Używanie z Dot NET

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

👋 Witamy w dokumentacji Stackhero

Stackhero oferuje w pełni zarządzane rozwiązanie Graylog cloud, zaprojektowane z myślą o szybkości i prostocie. Możesz:

  • Korzystać z nielimitowanego, dedykowanego serwera SMTP email, który jest wliczony w usługę.
  • Wdrażać aktualizacje bez wysiłku, jednym kliknięciem, bez konieczności ręcznej ingerencji.
  • Używać własnej nazwy domeny zabezpieczonej przez HTTPS (na przykład https://logs.twoja-firma.com), zapewniając swojemu zespołowi bezpieczny, bezpośredni dostęp.
  • Doświadczać wysokiej wydajności i bezpieczeństwa na prywatnej, dedykowanej infrastrukturze – bez współdzielonych zasobów i zakłócających sąsiadów.

Skup się na swoich danych, nie na narzędziach: rozpoczęcie pracy z Graylog cloud hosting od Stackhero zajmuje tylko kilka minut.

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.