Elastic Agent を使用した NetFlow ログデータの収集
NetFlow は、リアルタイムでトラフィックをモニター、分析、診断できるネットワークトラフィック分析プロトコルです。このチュートリアルでは、完全なデータ収集パイプラインを設定する方法を説明します。具体的には、Elastic Compute Service (ECS) インスタンスに Fleet エージェントをデプロイし、Fleet Server を使用してエージェントを管理し、分析のために NetFlow データを Kibana に送信します。
基本概念
| 用語 | 説明 |
|---|---|
| Fleet | Elasticsearch における Fleet エージェントを集中管理するためのソリューション |
| Fleet エージェント | さまざまなオペレーティングシステムで実行され、複数のデータの型を収集する軽量なデータ収集エージェント |
| Fleet Server | Fleet エージェントによって収集されたデータをソースサーバーから Elasticsearch に転送するコンポーネント |
前提条件
開始する前に、次のものが揃っていることを確認してください。
Alibaba Cloud Elasticsearch クラスター (この例では V8.5 を使用) — Alibaba Cloud Elasticsearch クラスターの作成
Elasticsearch クラスターと同じ Virtual Private Cloud (VPC) 内にある ECS インスタンス — ウィザードを使用したインスタンスの作成
ECS インスタンスはソースサーバーとして機能します。Fleet エージェントは、このインスタンス上で実行され、NetFlow データを収集します。
エージェントポリシーの作成と統合の追加
ステップ 1: エージェントポリシーの作成
お使いの Elasticsearch クラスターの Kibana コンソールにログインします。詳細については、「Kibana コンソールへのログイン」をご参照ください。
左上隅の
アイコンをクリックします。左側のナビゲーションウィンドウで、管理 > Fleet を選択します。[フリート] ページで、[エージェントポリシー] タブをクリックします。
[エージェントポリシーの作成] をクリックします。[エージェントポリシーの作成] パネルで、ポリシーを設定します。
[名前] フィールドに
netflow-logを入力します。クリア [システムログとメトリックの収集]。
[詳細オプション] をクリックします。[エージェントモニタリング] セクションで、[エージェントログの収集] と [エージェントメトリックの収集] の選択を解除します。

このチュートリアルでは NetFlow Records ログのみを収集するため、システムログ、エージェントログ、エージェントメトリクスは不要です。
[エージェントポリシーの作成] をクリックします。
ステップ 2: Fleet Server 統合の追加
「エージェントポリシー」タブで、「netflow-log」ポリシーを探して、その名前をクリックします。
[統合] タブで、[統合を追加] をクリックします。
「[インテグレーションの参照]」タブで、
Fleet Serverを検索し、その後「[Fleet Server]」カードをクリックします。Fleet Server 統合をインストールします。
「Fleet Server」ページで、[設定項目] タブをクリックします。
[Fleet Server アセットのインストール] をクリックします。確認ダイアログで、[Fleet Server のインストール] をクリックします。
インストール後、統合バージョンが [Settings] タブに表示されます。
Fleet Server ページの右上隅で、[Fleet Server の追加] をクリックします。
Fleet Server インテグレーションの追加 ページで:
[統合の設定] セクションで、[統合名] フィールドに名前を入力します。
「[このインテグレーションを追加する場所]」セクションで、[エージェントポリシー] ドロップダウンリストから
netflow-logを選択します。
[保存して続行] をクリックします。確認メッセージで、[後で Elastic Agent を追加] をクリックします。
ステップ 3: NetFlow Records 統合の追加
「[netflow-log]」エージェントポリシーの[統合]タブで、[統合の追加]をクリックします。
[統合の参照]タブで、
NetFlow Recordsを検索し、次に[NetFlow Records]カードをクリックします。NetFlow Records 統合をインストールします。
[NetFlow Records] ページで、[設定] タブをクリックします。
[NetFlow Records アセットをインストール] をクリックします。確認ダイアログで、[NetFlow Records をインストール] をクリックします。
インストール後、統合バージョンが [Settings] タブに表示されます。
NetFlow レコード ページの右上隅で、[NetFlow レコードの追加] をクリックします。
「[NetFlow レコード統合の追加]」ページで、統合を設定します。
[統合の設定] セクションで、[統合名] フィールドに
netflow-1を入力します。「[デフォルトの変更]」を、「[NetFlow ログの収集]」の横にある箇所をクリックします。以下の値を設定します:
フィールド
値
説明
リッスンする UDP ホスト
0.0.0.0すべてのネットワークインターフェイスでリッスンします
リッスンする UDP ポート
2055デフォルト値を維持します。softflowd はこのポートに送信します

[この統合を追加する場所] セクションの [既存のホスト] タブで、[エージェントポリシー] ドロップダウンリストから
netflow-logを選択します。
[保存して続行] をクリックします。確認メッセージで、[後で Elastic Agent を追加] をクリックします。
Fleet エージェントの追加と NetFlow の開始
ステップ 1: Fleet Server ホストと出力の設定
Kibana コンソールにログインします。詳細については、「Kibana コンソールへのログイン」をご参照ください。
左上隅の
アイコンをクリックします。左側のナビゲーションウィンドウで、管理 > Fleet を選択します。[Fleet] ページで、[設定] タブをクリックします。
Fleet Server ホストを設定します。
[Fleet サーバー ホスト] セクションで、[ホストの編集] をクリックします。
「Fleet Server ホスト」パネルで、[ホスト URL の指定] フィールドにホスト URL を入力します。フォーマットは
https://<ECS のプライベート IP>:<ポート>を使用し、たとえばhttps://172.16.*.***:8220のようにします。ご利用の ECS インスタンスのプライマリプライベート IP アドレスを入力してください。Fleet Server ホストの設定に関する詳細については、「Fleet Server hosts」をご参照ください。
[保存して設定を適用] をクリックします。確認ダイアログで、[保存してデプロイ] をクリックします。
出力を Elasticsearch クラスターにポイントするように設定します。
[出力]セクションで、[操作]列の
アイコンをクリックします。[出力の編集] パネルで、[ホスト] フィールドに Elasticsearch クラスターの内部エンドポイント URL を入力します。 フォーマットとして
http://<internal-endpoint>:<port>を使用します (例:http://es-cn-uqm3auln80001****.elasticsearch.aliyuncs.com:9200)。[設定を保存して適用] をクリックします。確認ダイアログで、[保存してデプロイ] をクリックします。
ステップ 2: Fleet エージェントの追加
複数のソースサーバーから NetFlow トラフィックを収集するには、各サーバーでこのステップを繰り返します。各 Fleet エージェントはそれぞれのソースサーバーからデータを収集し、Fleet Server がすべてのエージェントを一元的に管理します。
左上隅の
アイコンをクリックします。左側のナビゲーションウィンドウで、管理 > Fleet を選択します。「Fleet」ページで、[エージェントポリシー] タブをクリックします。
「netflow-log」エージェントポリシーを見つけ、[操作] 列の
アイコンをクリックし、[エージェントの追加] を選択します。[エージェントの追加] パネルの [Fleet への登録] タブで、[Fleet Server の追加] をクリックします。[Fleet Server の追加] パネルで、[詳細設定] をクリックします。[Fleet Server のポリシーを選択] セクションで、デフォルト値
netflow-logを保持します。「セキュリティのデプロイモードの選択」セクションで、デフォルトの クイックスタート をそのまま使用します。
「Fleet Server ホストの追加」セクションで、[ホストの追加] をクリックします。
「サービストークンの生成」セクションで、[サービストークンの生成] をクリックします。
[集中管理ホストに Fleet Server をインストールする] セクションで、生成されたコマンドをコピーし、ECS インスタンスで実行します。 出力に
Successfullyが表示された場合、Fleet エージェントは ECS インスタンスにインストールされ、実行中です。
ステップ 3: NetFlow サービスの設定
このチュートリアルでは、softflowd を使用して NetFlow トラフィックデータを生成します。ECS インスタンスで次のコマンドを実行します。
softflowd ソースパッケージをダウンロードします。
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/softflowd/softflowd-0.9.9.tar.gzlibpcap 開発ライブラリ (パケットキャプチャに必要) をインストールします。
yum install libpcap-develsoftflowd をビルドしてインストールします。
tar -xvf softflowd-0.9.9.tar.gz cd softflowd-0.9.9 ./configure make make installsoftflowd を開始します。
フラグ 値 説明 -v9NetFlow バージョン 9 を使用します -D— デーモンとして実行します -ieth0eth0 インターフェイスでトラフィックをキャプチャします -tmaxlife=1最大ライフタイム 1 分後にフローをエクスポートします -nlocalhost:2055NetFlow レコードをポート 2055 に送信します (統合設定と一致) nohup softflowd -v 9 -D -i eth0 -t maxlife=1 -n localhost:2055 >/dev/null 2>&1 &次の表は、主要なフラグについて説明しています。
収集されたデータの表示
パイプラインが実行された後、次のいずれかの方法を使用して、NetFlow データが収集されていることを確認します。
方法 1: ダッシュボードでのデータの表示
左上隅の
アイコンをクリックします。左側のナビゲーションウィンドウで、管理 > Fleet を選択します。[Fleet] ページで、[データストリーム] タブをクリックして、収集された NetFlow ログデータをデータセットリストで表示します。
目的のデータセットを見つけ、[アクション] 列の
アイコンをクリックし、[ダッシュボードの表示] を選択します。確認するダッシュボード (たとえば、[Logs Netflow] 概要) を選択します。
方法 2: Discover でのデータの探索
左上隅の
アイコンをクリックします。左側のナビゲーションウィンドウで、分析 > Discover を選択します。[Discover] ページで、宛先インデックスのデータを参照します。
方法 3: Dev Tools からのデータクエリ
左上隅の
アイコンをクリックします。左側のナビゲーションウィンドウで、管理 > Dev Tools を選択します。[コンソール] タブで、次のクエリを実行します。
GET logs-netflow.log-default/_search