すべてのプロダクト
Search
ドキュメントセンター

Elasticsearch:Fleet エージェントを使用して NetFlow ログデータを収集する

最終更新日:Jan 11, 2025

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: エージェントポリシーを作成する

  1. Elasticsearch クラスタの Kibana コンソールにログオンします。 詳細については、「Kibana コンソールにログオンする」をご参照ください。

  2. 左上隅にある image.png アイコンをクリックします。 左側のナビゲーションペインで、[管理] > [fleet] を選択します。

  3. [fleet] ページで、[エージェントポリシー] タブをクリックします。

  4. [エージェントポリシーの作成] をクリックします。 [エージェントポリシーの作成] パネルで、エージェントポリシーを設定します。

    1. [名前] フィールドに netflow-log という名前を入力します。

    2. [システムログとメトリックを収集する] の選択を解除します。

    3. [詳細オプション] をクリックします。 [エージェントの監視] セクションで、[エージェントログを収集する][エージェントメトリックを収集する] の選択を解除します。

      image.png

      説明

      この例では、NetFlow レコードログのみを収集する必要があります。 したがって、[システムログとメトリックを収集する]、[エージェントログを収集する]、および [エージェントメトリックを収集する] を選択する必要はありません。

  5. [エージェントポリシーの作成] をクリックします。

手順 2: Fleet サーバーインテグレーションを追加する

  1. [fleet] ページの [エージェントポリシー] タブで、netflow-log エージェントポリシーを見つけて、その名前をクリックします。

  2. 表示されるページの [インテグレーション] タブで、[インテグレーションの追加] をクリックします。

  3. [インテグレーションの参照] タブで、検索ボックスに Fleet Server と入力します。 表示された [fleet Server] カードをクリックします。

  4. Fleet サーバーインテグレーションをインストールします。

    1. [fleet Server] ページで、[設定] タブをクリックします。

    2. [fleet Server アセットのインストール] をクリックします。 [Fleet Server のインストール] メッセージで、[fleet Server のインストール] をクリックします。

      説明

      インテグレーションがインストールされると、インテグレーションのバージョンが Fleet Server ページの [設定] タブに表示されます。

  5. Fleet Server ページの右上隅にある [fleet Server の追加] をクリックします。

  6. [fleet Server インテグレーションの追加] ページで、[インテグレーションの設定] セクションの [インテグレーション名] フィールドにインテグレーションの名前を入力し、[このインテグレーションを追加する場所] セクションの [エージェントポリシー] ドロップダウンリストから netflow-log を選択します。

  7. [Fleet Server インテグレーションの追加] ページの右下隅にある [保存して続行] をクリックします。 [Fleet Server インテグレーションが追加されました] メッセージで、[後で Elastic Agent を追加] をクリックします。

手順 3: NetFlow インテグレーションを追加する

  1. エージェントポリシー netflow-log[インテグレーション] タブで、[インテグレーションの追加] をクリックします。

  2. [インテグレーションの参照] タブで、検索ボックスに NetFlow Records と入力します。 表示された [netflow Records] カードをクリックします。

  3. NetFlow Records インテグレーションをインストールします。

    1. [netflow Records] ページで、[設定] タブをクリックします。

    2. [netflow Records アセットのインストール] をクリックします。 [NetFlow Records のインストール] メッセージで、[netflow Records のインストール] をクリックします。

      説明

      インテグレーションがインストールされると、インテグレーションのバージョンが NetFlow Records ページの [設定] タブに表示されます。

  4. NetFlow Records ページの右上隅にある [netflow Records の追加] をクリックします。

  5. [netflow Records インテグレーションの追加] ページで、インテグレーションを設定します。

    1. [インテグレーションの設定] セクションで、[インテグレーション名] フィールドに netflow-1 と入力します。

    2. [netflow ログを収集する] の横にある [デフォルトを変更] をクリックします。 [リッスンする UDP ホスト] フィールドに 0.0.0.0 と入力し、[リッスンする UDP ポート] フィールドにデフォルト値 2055 を保持します。

      image.png

    3. [このインテグレーションを追加する場所] セクションの [既存のホスト] タブで、[エージェントポリシー] ドロップダウンリストから netflow-log を選択します。

  6. [NetFlow Records インテグレーションの追加] ページの右下隅にある [保存して続行] をクリックします。 [NetFlow Records インテグレーションが追加されました] メッセージで、[後で Elastic Agent を追加] をクリックします。

Fleet エージェントを追加し、NetFlow を開始する

手順 1: Fleet サーバーのホストを設定する

  1. Elasticsearch クラスタの Kibana コンソールにログオンします。 詳細については、「Kibana コンソールにログオンする」をご参照ください。

  2. 左上隅にある image.png アイコンをクリックします。 左側のナビゲーションペインで、[管理] > [fleet] を選択します。

  3. [fleet] ページで、[設定] タブをクリックします。 [設定] タブで、Fleet のパラメータを設定します。

    1. [fleet サーバーホスト] セクションで、[ホストの編集] をクリックします。

    2. [fleet サーバーホスト] パネルで、データを収集するソースの URL を [ホスト URL を指定] フィールドに入力します。 URL は https://<ソースのプライベート IP アドレス>:<ポート番号> 形式 (例: https://172.16.*.***:8220) である必要があります。 次に、[設定の保存と適用] をクリックします。 [変更の保存とデプロイ] メッセージで、[保存とデプロイ] をクリックします。

      説明

      この例では、ECS インスタンスのプライマリプライベート IP アドレスを含む URL が入力されます。 設定の詳細については、「Fleet サーバーホスト」をご参照ください。

    3. Fleet ページの [出力] セクションで、image.png[アクション] 列の アイコンをクリックします。

    4. [出力の編集] パネルで、[ホスト] フィールドに Elasticsearch クラスタの URL を入力します。 URL は http://<Elasticsearch クラスタの内部エンドポイント>:<ポート番号> 形式 (例: http://es-cn-uqm3auln80001****.elasticsearch.aliyuncs.com:9200) である必要があります。

    5. [設定の保存と適用] をクリックします。 [変更の保存とデプロイ] メッセージで、[保存とデプロイ] をクリックします。

手順 2: Fleet エージェントを追加する

Fleet サーバーに Fleet エージェントを追加します。

説明

複数のソースサーバーから NetFlow トラフィックデータを収集する場合、次の手順を繰り返すことができます。 複数の Fleet エージェントを Fleet サーバーに追加すると、各 Fleet エージェントは関連するソースサーバーからデータを収集します。 収集されたデータは、Fleet サーバーによって一元的に管理されます。

  1. 左上隅にある image.png アイコンをクリックします。 左側のナビゲーションペインで、[管理] > [fleet] を選択します。

  2. [fleet] ページで、[エージェントポリシー] タブをクリックします。

  3. [エージェントポリシー] タブで、エージェントポリシー netflow-log を見つけ、image.png[アクション] 列の エージェントを追加 アイコンをクリックし、 を選択します。

  4. [エージェントの追加] パネルの [Fleet に登録] タブで、[Fleet Server の追加] をクリックします。 [Fleet Server の追加] パネルで、[詳細設定] をクリックします。 [fleet Server のポリシーを選択] セクションで、デフォルト値 netflow-log を保持します。

  5. [セキュリティのためのデプロイモードを選択] セクションで、デフォルト値 [クイックスタート] を保持します。

  6. [fleet Server ホストの追加] セクションで、[ホストの追加] をクリックします。

  7. [サービストークンの生成] セクションで、[サービストークンの生成] をクリックします。

  8. [fleet Server を一元化されたホストにインストール] セクションで、自動的に生成されたコードをコピーし、ECS インスタンスでコードを実行します。

    image.png

    コードを実行した後に Successfully が表示された場合、Fleet エージェントは ECS インスタンスにインストールされ、起動されます。

手順 3: NetFlow サービスを設定する

この例では、softflowd を使用して NetFlow ログを生成します。 ECS インスタンスで softflowd を起動するには、次のコードを実行する必要があります。

  1. softflowd のソースコードパッケージをダウンロードします。

    wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/softflowd/softflowd-0.9.9.tar.gz
  2. ibpcap-devel 環境をインストールします。

    yum install libpcap-devel
  3. コードをコンパイルし、softflowd をインストールします。

    tar -xvf softflowd-0.9.9.tar.gz
    cd softflowd-0.9.9
    ./configure 
    make
    make install
  4. softflowd を実行します。

    nohup softflowd -v 9 -D -i eth0 -t maxlife=1 -n localhost:2055 >/dev/null 2>&1 &

収集されたデータを表示する

次のいずれかの方法を使用して、収集された NetFlow ログデータを表示できます。

  • 方法 1: [ダッシュボードの表示] ページで収集された NetFlow ログデータを表示する

    1. 左上隅にある image.png アイコンをクリックします。 左側のナビゲーションペインで、[管理] > [fleet] を選択します。

    2. [fleet] ページで、[データストリーム] タブをクリックします。 [データストリーム] タブで、データセットリストに収集された NetFlow ログデータを表示できます。

    3. 目的のデータセットを見つけ、image.png[アクション] 列の ダッシュボードの表示[ログ Netflow] 概要 アイコンをクリックし、 を選択します。 表示されるページで、情報を表示する項目を選択できます。 たとえば、 を選択して、その情報を表示できます。

  • 方法 2: [Discover] ページの宛先インデックスで収集された NetFlow ログデータを表示する

    左上隅にある image.png アイコンをクリックします。 左側のナビゲーションペインで、[分析] > [discover] を選択します。 [Discover] ページで、宛先インデックスのデータを表示します。

  • 方法 3: [コンソール] タブでコマンドを実行して、収集された NetFlow ログデータをクエリする

    1. 左上隅にある image.png アイコンをクリックします。 左側のナビゲーションペインで、[管理] > [開発ツール] を選択します。

    2. [コンソール] タブで、次のコマンドを実行して、収集された NetFlow ログデータをクエリします。

      GET logs-netflow.log-default/_search