ログ インジェストは、アプリケーション、サーバー、コンテナー、クラウド サービスからログ データを収集、変換、準備し、保存、分析、監視できるようにするプロセスです。 ログには、エラー、警告、使用パターン、システム パフォーマンスなどの情報がキャプチャされます。 信頼性の高いログ インジェストにより、トラブルシューティングと分析情報のために、運用データとセキュリティ データをほぼリアルタイムで使用できます。 この記事では、インストール、構成、検証の手順など、Fluentd から Azure Data Explorer (Kusto) にログを送信する方法について説明します。
概要
Fluentd とは
Fluentd は、複数のシステム間でログ収集とルーティングを統合するために使用できるオープンソースのデータ コレクターです。 1,000 を超えるプラグインをサポートし、データのフィルター処理、バッファリング、変換のための柔軟なオプションを提供します。 クラウドネイティブ環境とエンタープライズ環境で Fluentd を使用して、ログの集約と転送を一元化できます。
Azure Data Explorerとは
Azure Data Explorer (ADX) は、大量の構造化データ、半構造化データ、非構造化データをリアルタイムで分析するために最適化された、高速でフル マネージドの分析サービスです。 ADX は Kusto クエリ言語 (KQL) を使用し、テレメトリ、監視、診断、対話型データ探索に広く使用されています。
[前提条件]
- ログを取り込む必要があるノードに Ruby がインストールされている。 gem パッケージ マネージャーを使用して fluentd 依存関係をインストールするには、Ruby のインストール手順を参照してください
- Azure Data Explorer クラスターとデータベースへのアクセス。
- データを取り込むアクセス許可を持つ Azure Active Directory アプリケーション。
Fluentd と Azure Data Explorer の使用を開始する方法
RubyGems を使用して Fluentd をインストールします。
gem install fluentdFluentd Kusto プラグインをインストールします。
gem install fluent-plugin-kusto次の内容を含む構成ファイル (たとえば、) を作成して
fluent.confします。 プレースホルダーを Azure とプラグインの値に置き換えます。<match <tag-from-source-logs>> @type kusto endpoint https://<your-cluster>.<region>.kusto.windows.net database_name <your-database> table_name <your-table> logger_path <your-fluentd-log-file-path> # Authentication options auth_type <your-authentication-type> # AAD authentication tenant_id <your-tenant-id> client_id <your-client-id> client_secret <your-client-secret> # Managed identity authentication (optional) managed_identity_client_id <your-managed-identity-client-id> # Workload identity authentication (optional) workload_identity_tenant_id <your-workload-identity-tenant-id> workload_identity_client_id <your-workload-identity-client-id> # Non-buffered mode buffered false delayed false # Buffered mode # buffered true # delayed <true/false> <buffer> @type memory timekey 1m flush_interval 10s </buffer> </match>
構成と認証の詳細については、Fluentd Kusto プラグインのドキュメントを参照してください。
インジェストのために Azure Data Explorer を準備します。
ADX クラスターとデータベースを作成します。 「Azure Data Explorer クラスターとデータベースの作成」を参照してください。
Azure Active Directory アプリケーションを作成し、ADX データベースにデータを取り込むためのアクセス許可を付与します。 「Azure Data Explorer で Microsoft Entra アプリケーションの登録を作成する」を参照してください。
注
今後使用するために、アプリ キーとアプリケーション ID を保存します。
ログ インジェスト用のテーブルを作成します。 例えば次が挙げられます。
.create table LogTable ( tag:string, timestamp:datetime, record:dynamic )構成ファイルを使用して Fluentd を実行します。
fluentd -c fluent.conf次の方法でログ インジェストを検証 します。
Fluentd ログ ファイルを確認し、エラーがないことを確認し、インジェスト要求が正常に送信されたことを確認します。
ADX テーブルのクエリを 実行して、ログが正しく取り込まれたことを確認します。
LogTable | take 10インジェスト マッピング: Kusto の定義済みのインジェスト マッピングを使用して、既定の 3 列形式のデータを目的のスキーマに変換します。 詳細については、「 インジェスト マッピングのサポート」を参照してください。