Graylog: Dot NET での利用方法
.NET/Serilog から Graylog へログを送信する方法
👋 Stackhero ドキュメントへようこそ
Stackhero は、スピードとシンプルさを追求したフルマネージドの Graylog cloud ソリューションを提供しています。主な特長は以下の通りです:
- サービスに含まれる、無制限かつ専用の SMTP メールサーバーをご利用いただけます。
- アップデートはワンクリックで簡単に適用でき、手動での作業は不要です。
- HTTPS で保護された カスタムドメイン名(例:https://logs.your-company.com)を利用でき、チームに安全かつ直接的なアクセスを提供します。
- プライベートかつ専用インフラストラクチャ上で、高いパフォーマンスとセキュリティを実現。他のユーザーとのリソース共有やノイズの心配はありません。
ツールではなくデータに集中できます:Stackhero の Graylog cloud hosting ソリューションは、数分でご利用を開始いただけます。
Serilog は、.NET アプリケーションのログ管理で広く利用されている、拡張性の高い人気のロギングライブラリです。開発者は、さまざまなシンク(sink)を設定して、ログの保存や可視化を柔軟に行うことができます。
以下は Serilog の基本的な使用例です:
var log = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.File("log.txt")
.CreateLogger();
log.Information("Hello, Serilog!");
ログを Graylog サーバーへ送信するには、serilog-sinks-graylog パッケージを利用します。このシンクは、GELF フォーマットでログを直接 Graylog に転送することができます。
手順ガイド
-
パッケージのインストール:
以下のコマンドを実行して、
serilog-sinks-graylogパッケージをプロジェクトに追加します。Install-Package serilog.sinks.graylog -
Serilog の Graylog 向け設定:
アプリケーションの設定を以下のコードスニペットで更新してください。
<XXXXXX>.stackhero-network.comはご自身の Graylog インスタンスのドメインに置き換えてください。var loggerConfig = new LoggerConfiguration() .WriteTo.Graylog( new GraylogSinkOptions { HostnameOrAddress = "<XXXXXX>.stackhero-network.com", Port = 12201 } ); -
Graylog のセットアップ:
Graylogのダッシュボードにログインします。- System > Inputs に移動します。
- 「GELF UDP」タイプの新しいインプットを作成します。
- 「Launch new input」をクリックします。表示されるモーダルで「Global」オプションを有効にし、インプットにタイトルを付けて、他の設定は変更せずに保存してください。
セキュリティを強化するため、12201 ポートへの接続を許可する IP を制限することを推奨します。Stackhero ダッシュボードから Graylog サービスを選択し、「Firewall」設定で特定の IP のみ許可するように設定できます。
これらの手順を実施することで、.NET アプリケーションから安全かつ効率的に Graylog インスタンスへログを送信できるようになります。