NetFlow は、ネットワークトラフィックの監視、分析、および診断に使用できるネットワークトラフィック分析テクノロジーです。 NetFlow を使用してネットワークトラフィックをリアルタイムで監視し、ネットワークトラフィックを分析することで、ネットワークパフォーマンスの向上とネットワークセキュリティの確保に役立ちます。 このトピックでは、Kibana が提供する Fleet サーバーを使用して、Fleet エージェントによって収集された NetFlow ログデータを管理し、収集されたデータを分析のために Kibana に転送する方法について説明します。
用語
用語 | 説明 |
Fleet | Fleet は、Elasticsearch が提供する強力なソリューションであり、Fleet エージェントを一元的に管理するために使用されます。 |
Fleet エージェント | Fleet エージェントは、ソースからデータを収集するために使用される軽量のデータ収集エージェントです。 Fleet エージェントは、さまざまなタイプのオペレーティングシステムで実行でき、複数のタイプのデータを収集できます。 |
Fleet サーバー | Fleet サーバーは、Fleet エージェントによってソースから収集されたデータを Elasticsearch に転送するために使用されます。 |
環境を準備する
Alibaba Cloud Elasticsearch クラスタを作成します。 詳細については、「Alibaba Cloud Elasticsearch クラスタを作成する」をご参照ください。 この例では、Alibaba Cloud Elasticsearch V8.5 クラスタが作成されます。
Elasticsearch クラスタと同じ仮想プライベートクラウド (VPC) に Elastic Compute Service (ECS) インスタンスを作成します。 詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。
説明ECS インスタンスはソースサーバーとして使用されます。 Fleet エージェントは ECS インスタンスからデータを収集します。
エージェントポリシーを作成し、インテグレーションを追加する
手順 1: エージェントポリシーを作成する
Elasticsearch クラスタの Kibana コンソールにログオンします。 詳細については、「Kibana コンソールにログオンする」をご参照ください。
左上隅にある
アイコンをクリックします。 左側のナビゲーションペインで、 を選択します。[fleet] ページで、[エージェントポリシー] タブをクリックします。
[エージェントポリシーの作成] をクリックします。 [エージェントポリシーの作成] パネルで、エージェントポリシーを設定します。
[名前] フィールドに netflow-log という名前を入力します。
[システムログとメトリックを収集する] の選択を解除します。
[詳細オプション] をクリックします。 [エージェントの監視] セクションで、[エージェントログを収集する] と [エージェントメトリックを収集する] の選択を解除します。
説明この例では、NetFlow レコードログのみを収集する必要があります。 したがって、[システムログとメトリックを収集する]、[エージェントログを収集する]、および [エージェントメトリックを収集する] を選択する必要はありません。
[エージェントポリシーの作成] をクリックします。
手順 2: Fleet サーバーインテグレーションを追加する
[fleet] ページの [エージェントポリシー] タブで、netflow-log エージェントポリシーを見つけて、その名前をクリックします。
表示されるページの [インテグレーション] タブで、[インテグレーションの追加] をクリックします。
[インテグレーションの参照] タブで、検索ボックスに Fleet Server と入力します。 表示された [fleet Server] カードをクリックします。
Fleet サーバーインテグレーションをインストールします。
[fleet Server] ページで、[設定] タブをクリックします。
[fleet Server アセットのインストール] をクリックします。 [Fleet Server のインストール] メッセージで、[fleet Server のインストール] をクリックします。
説明インテグレーションがインストールされると、インテグレーションのバージョンが Fleet Server ページの [設定] タブに表示されます。
Fleet Server ページの右上隅にある [fleet Server の追加] をクリックします。
[fleet Server インテグレーションの追加] ページで、[インテグレーションの設定] セクションの [インテグレーション名] フィールドにインテグレーションの名前を入力し、[このインテグレーションを追加する場所] セクションの [エージェントポリシー] ドロップダウンリストから
netflow-logを選択します。[Fleet Server インテグレーションの追加] ページの右下隅にある [保存して続行] をクリックします。 [Fleet Server インテグレーションが追加されました] メッセージで、[後で Elastic Agent を追加] をクリックします。
手順 3: NetFlow インテグレーションを追加する
エージェントポリシー netflow-log の [インテグレーション] タブで、[インテグレーションの追加] をクリックします。
[インテグレーションの参照] タブで、検索ボックスに NetFlow Records と入力します。 表示された [netflow Records] カードをクリックします。
NetFlow Records インテグレーションをインストールします。
[netflow Records] ページで、[設定] タブをクリックします。
[netflow Records アセットのインストール] をクリックします。 [NetFlow Records のインストール] メッセージで、[netflow Records のインストール] をクリックします。
説明インテグレーションがインストールされると、インテグレーションのバージョンが NetFlow Records ページの [設定] タブに表示されます。
NetFlow Records ページの右上隅にある [netflow Records の追加] をクリックします。
[netflow Records インテグレーションの追加] ページで、インテグレーションを設定します。
[インテグレーションの設定] セクションで、[インテグレーション名] フィールドに netflow-1 と入力します。
[netflow ログを収集する] の横にある [デフォルトを変更] をクリックします。 [リッスンする UDP ホスト] フィールドに
0.0.0.0と入力し、[リッスンする UDP ポート] フィールドにデフォルト値 2055 を保持します。
[このインテグレーションを追加する場所] セクションの [既存のホスト] タブで、[エージェントポリシー] ドロップダウンリストから
netflow-logを選択します。
[NetFlow Records インテグレーションの追加] ページの右下隅にある [保存して続行] をクリックします。 [NetFlow Records インテグレーションが追加されました] メッセージで、[後で Elastic Agent を追加] をクリックします。
Fleet エージェントを追加し、NetFlow を開始する
手順 1: Fleet サーバーのホストを設定する
Elasticsearch クラスタの Kibana コンソールにログオンします。 詳細については、「Kibana コンソールにログオンする」をご参照ください。
左上隅にある
アイコンをクリックします。 左側のナビゲーションペインで、 を選択します。[fleet] ページで、[設定] タブをクリックします。 [設定] タブで、Fleet のパラメータを設定します。
[fleet サーバーホスト] セクションで、[ホストの編集] をクリックします。
[fleet サーバーホスト] パネルで、データを収集するソースの URL を [ホスト URL を指定] フィールドに入力します。 URL は
https://<ソースのプライベート IP アドレス>:<ポート番号>形式 (例:https://172.16.*.***:8220) である必要があります。 次に、[設定の保存と適用] をクリックします。 [変更の保存とデプロイ] メッセージで、[保存とデプロイ] をクリックします。説明この例では、ECS インスタンスのプライマリプライベート IP アドレスを含む URL が入力されます。 設定の詳細については、「Fleet サーバーホスト」をご参照ください。
Fleet ページの [出力] セクションで、
[アクション] 列の アイコンをクリックします。[出力の編集] パネルで、[ホスト] フィールドに Elasticsearch クラスタの URL を入力します。 URL は
http://<Elasticsearch クラスタの内部エンドポイント>:<ポート番号>形式 (例:http://es-cn-uqm3auln80001****.elasticsearch.aliyuncs.com:9200) である必要があります。[設定の保存と適用] をクリックします。 [変更の保存とデプロイ] メッセージで、[保存とデプロイ] をクリックします。
手順 2: Fleet エージェントを追加する
Fleet サーバーに Fleet エージェントを追加します。
複数のソースサーバーから NetFlow トラフィックデータを収集する場合、次の手順を繰り返すことができます。 複数の Fleet エージェントを Fleet サーバーに追加すると、各 Fleet エージェントは関連するソースサーバーからデータを収集します。 収集されたデータは、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 を起動するには、次のコードを実行する必要があります。
softflowd のソースコードパッケージをダウンロードします。
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/softflowd/softflowd-0.9.9.tar.gzibpcap-devel 環境をインストールします。
yum install libpcap-develコードをコンパイルし、softflowd をインストールします。
tar -xvf softflowd-0.9.9.tar.gz cd softflowd-0.9.9 ./configure make make installsoftflowd を実行します。
nohup softflowd -v 9 -D -i eth0 -t maxlife=1 -n localhost:2055 >/dev/null 2>&1 &
収集されたデータを表示する
次のいずれかの方法を使用して、収集された NetFlow ログデータを表示できます。
方法 1: [ダッシュボードの表示] ページで収集された NetFlow ログデータを表示する
左上隅にある
アイコンをクリックします。 左側のナビゲーションペインで、 を選択します。[fleet] ページで、[データストリーム] タブをクリックします。 [データストリーム] タブで、データセットリストに収集された NetFlow ログデータを表示できます。
目的のデータセットを見つけ、
[アクション] 列の ダッシュボードの表示[ログ Netflow] 概要アイコンをクリックし、 を選択します。 表示されるページで、情報を表示する項目を選択できます。 たとえば、 を選択して、その情報を表示できます。
方法 2: [Discover] ページの宛先インデックスで収集された NetFlow ログデータを表示する
左上隅にある
アイコンをクリックします。 左側のナビゲーションペインで、 を選択します。 [Discover] ページで、宛先インデックスのデータを表示します。方法 3: [コンソール] タブでコマンドを実行して、収集された NetFlow ログデータをクエリする
左上隅にある
アイコンをクリックします。 左側のナビゲーションペインで、 を選択します。[コンソール] タブで、次のコマンドを実行して、収集された NetFlow ログデータをクエリします。
GET logs-netflow.log-default/_search