Graylog: Dot NETでの使用

.NET/SerilogからGraylogへのログ送信方法

👋 Stackheroのドキュメントへようこそ!

Stackheroは、数多くの利点を提供する、すぐに使えるGraylogクラウドソリューションを提供しています。

  • 無制限で専用のSMTP メールサーバーが含まれています。
  • ワンクリックで簡単にアップデート
  • HTTPSで保護されたカスタマイズ可能なドメイン名(例: https://logs.your-company.com)。
  • プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ

時間を節約し、生活を簡素化:StackheroのGraylogクラウドホスティングソリューションを試すのに5分しかかかりません!

Serilogは、.NETアプリケーションでログを管理するために広く使用されている人気の高い拡張性のあるログライブラリです。開発者はログの保存と可視化のためにさまざまなシンクを設定できます。

こちらはSerilogの使用を示す基本的な例です:

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

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

Graylogサーバーにログを送信するには、serilog-sinks-graylogパッケージを使用できます。このシンクは、GELF形式でログを直接Graylogに送信するのを容易にします。

  1. パッケージをインストールする

    次のコマンドを実行して、プロジェクトにserilog-sinks-graylogパッケージを追加します:

    Install-Package serilog.sinks.graylog
    
  2. Graylog用にSerilogを設定する

    次のコードスニペットでアプリケーションの設定を更新します。<XXXXXX>.stackhero-network.comをGraylogインスタンスのドメインに置き換えてください:

    var loggerConfig = new LoggerConfiguration()
        .WriteTo.Graylog(
            new GraylogSinkOptions
            {
                HostnameOrAddress = "<XXXXXX>.stackhero-network.com",
                Port = 12201
            }
        );
    
  3. Graylogを設定する

    • Graylogダッシュボードにログインします。
    • System > Inputsに移動します。
    • 「GELF UDP」タイプの新しい入力を作成します。
    • 「Launch new input」をクリックします。表示されるモーダルで「Global」オプションを有効にし、入力にタイトルを割り当て、設定をそのまま保存します。

セキュリティを強化するために、ポート12201に接続を許可するIPを制限することをお勧めします。Stackheroダッシュボードにアクセスし、Graylogサービスを選択して、「Firewall」設定を管理し、特定のIPのみを許可するように設定できます。

これらの手順に従うことで、.NETアプリケーションがGraylogインスタンスに安全かつ効率的にログを送信できるようになります。