NetFlow は、ネットワークトラフィックを監視、分析、診断するためのネットワークトラフィック分析技術です。これにより、管理者はリアルタイムでネットワークを可視化し、パフォーマンスとセキュリティを向上させることができます。このトピックでは、Kibana の Fleet Server を使用し、NetFlow データを収集して Alibaba Cloud Elasticsearch クラスターに分析用に送信する Elastic Agent を管理する方法を説明します。
用語
用語 | 説明 |
Fleet | Elastic Agent インスタンスを管理するための Kibana の一元管理アプリケーションです。 |
Elastic Agent | ソースサーバーからデータを収集する軽量のデータシッパーです。 Elastic Agent は複数のオペレーティングシステムで実行でき、さまざまな種類のデータを収集できます。 |
Fleet Server | 接続された Elastic Agent を管理し、そのトラフィックを Elasticsearch にルーティングするコンポーネントです。 |
前提条件
Alibaba Cloud Elasticsearch クラスターを作成します。詳細については、「Alibaba Cloud Elasticsearch クラスターの作成」をご参照ください。このトピックでは、Elasticsearch 8.5 クラスターを例として使用します。
ECS インスタンスを作成します。インスタンスは、Elasticsearch クラスターと同じ Virtual Private Cloud (VPC) 内に存在する必要があります。詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。
説明ECS インスタンスは、Elastic Agent が NetFlow データを収集するソースサーバーとして機能します。
エージェントポリシーの作成とインテグレーションの追加
ステップ 1:エージェントポリシーの作成
Kibana コンソールにログインします。詳細については、「Kibana コンソールへのログイン」をご参照ください。
> [Management] > [Fleet] に移動します。[Fleet] ページで、 [Agent policies] タブをクリックします。
[Create agent policy] をクリックし、表示されるパネルでエージェントポリシーを設定します。
名前 に [名前] と入力します。
[Collect system logs and metrics] チェックボックスをオフにします。
詳細設定 をクリックします。[Agent monitoring] で、 [Collect agent logs] と [Collect agent metrics] のチェックボックスをオフにします。
説明このシナリオでは、NetFlow レコードのみを収集する必要があるため、システムログ、メトリクス、およびエージェント監視データの収集を無効にできます。
完了したら、右下隅にある [Create agent policy] をクリックします。
ステップ 2:Fleet Server インテグレーションの作成
[Fleet] ページの [Agent policies] タブで、エージェントポリシー netflow-log をクリックします。
統合 タブで、 [Add integration] をクリックします。
[Browse integrations] タブで、 Fleet Server を検索してクリックします。
Fleet Server インテグレーションをインストールします。
[Fleet Server] ページで、 設定 タブをクリックします。
[Install Fleet Server assets] をクリックし、表示されるダイアログボックスで [Install Fleet Server] をクリックします。
説明インテグレーションがインストールされると、[Settings] タブにそのバージョンが表示されます。
ページの右上隅にある [Add Fleet Server] をクリックします。
[Add Fleet Server integration] ページで、インテグレーションの名前を入力し、エージェントポリシー
netflow-logを選択します。右下隅にある [Save and continue] をクリックします。表示されるダイアログボックスで、 [Add Elastic Agent later] をクリックします。
ステップ 3:NetFlow Records インテグレーションの作成
netflow-log エージェントポリシーの 統合 タブで、 [Add integration] をクリックします。
[Browse integrations] タブで、 NetFlow Records を検索してクリックします。
NetFlow Records インテグレーションをインストールします。
[NetFlow Records] ページで、 設定 タブをクリックします。
[Install NetFlow Records assets] をクリックし、表示されるダイアログボックスで [Install NetFlow Records] をクリックします。
説明インテグレーションがインストールされると、[Settings] タブにそのバージョンが表示されます。
ページの右上隅にある [Add NetFlow Records] をクリックします。
[Add NetFlow Records integration] ページで、インテグレーションを設定します。
Integration Configuration で、 [Integration name] に
netflow-1と入力します。[Collect NetFlow logs] の横にある [Change defaults] をクリックします。UDP リスニングアドレスとして
0.0.0.0を入力し、デフォルトの UDP ポートである 2055 を使用します。
[Where to add this integration] の [Existing hosts] タブで、エージェントポリシー
netflow-logを選択します。
完了したら、右下隅にある [Save and continue] をクリックします。表示されるダイアログボックスで、 [Add Elastic Agent later] をクリックします。
エージェントの追加と NetFlow サービスの開始
ステップ 1:Fleet Server ホストの設定
Kibana コンソールにログインします。詳細については、「Kibana コンソールへのログイン」をご参照ください。
> [Management] > [Fleet] に移動します。[Fleet] ページで、 設定 タブをクリックします。
[Fleet Server hosts] で、 ホストの編集 をクリックします。
[Fleet Server hosts] パネルで、ソースサーバーのプライベート IP アドレスを
https://<private_ip>:<port>の形式で入力します。例:https://172.16.*.***:8220。説明このトピックでは、プライベート IP アドレスは ECS インスタンスのプライマリプライベート IP アドレスです。設定の詳細については、「Fleet Server hosts」をご参照ください。
出力 セクションで、 Actions 列の編集アイコン (
) をクリックします。[Edit output] パネルで、Alibaba Cloud Elasticsearch クラスターのプライベート IP アドレスを
http://<private_address>:<port>の形式で入力します。例:http://es-cn-uqm3auln80001****.elasticsearch.aliyuncs.com:9200。[Save and apply settings] をクリックし、表示されるダイアログボックスで 保存とデプロイ をクリックします。
ステップ 2:Elastic Agent の追加
Elastic Agent を Fleet Server に追加します。
複数のサーバーから NetFlow トラフィックを収集するには、これらの手順を繰り返して、単一の Fleet Server に複数のエージェントを追加します。各エージェントは各サーバーからデータを収集し、Fleet Server はすべてのエージェントを一元管理します。
> [Management] > [Fleet] に移動します。[Agent policies] タブをクリックします。
netflow-log エージェントポリシーの Actions 列で、
> [Add agent] を選択します。[Add agent] パネルの [Select a policy for Fleet Server] で、デフォルトのエージェントポリシーが
netflow-logであることを確認します。[Choose a deployment mode for security] で、デフォルトの選択である [Quick start] のままにします。
[Add your Fleet Server host] で、右側の モニターホストを追加 をクリックします。
[Generate a service token] で、 [Generate a service token] をクリックします。
[Install Fleet Server to a centralized host] で、自動的に生成されたコードブロックをコピーし、ECS インスタンスで実行します。

コマンドが終了すると、
Successfullyを含むメッセージが表示され、Elastic Agent が 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.gz依存関係 libpcap-devel をインストールします。
yum install libpcap-develsoftflowd をコンパイルしてインストールします。
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 データを表示
> [Management] > [Fleet] に移動します。[Fleet] ページで、 データストリーム タブをクリックします。データセットのリストに NetFlow 関連のデータが表示されます。
対象のデータセットの Actions 列で、
> [View dashboards] を選択し、表示するダッシュボードを選択します。たとえば、 [Logs Netflow] Overviewを選択します。
方法 2:Discover でデータを表示
> [Analytics] > [Discover] に移動してデータを表示します。方法 3:デベロッパーツールを使用してデータをクエリ
> [Management] > Developer Tools に移動します。次のコマンドを実行して NetFlow データを表示します。
GET logs-netflow.log-default/_search