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

Elasticsearch:サーバーからカスタムログデータを収集するための Fleet エージェントの使用

最終更新日:Jan 11, 2025

Fleet は、Elasticsearch によって提供される強力なソリューションであり、Fleet エージェントを一元的に管理できます。 Fleet を使用すると、Elasticsearch 内の複数のノードとサービスを簡単に管理できます。 Fleet は、Fleet サーバーと Fleet エージェントで構成されています。 Fleet エージェントは、ソースからデータを収集するために使用される軽量のデータ収集エージェントです。 Fleet サーバーは Fleet のコアノードであり、すべての Fleet エージェントの管理と監視、および Elasticsearch へのデータ転送を担当します。

用語

用語

説明

Fleet

Fleet は、Elasticsearch によって提供される強力なソリューションであり、Fleet エージェントを一元的に管理できます。

Fleet エージェント

Fleet エージェントは、ソースからデータを収集するために使用される軽量のデータ収集エージェントです。

Fleet エージェントは、さまざまな種類のオペレーティングシステムで実行でき、複数の種類のデータを収集できます。

Fleet サーバー

Fleet サーバーは、Fleet エージェントによってソースから収集されたデータを Elasticsearch に転送するために使用されます。

環境を準備する

  • Alibaba Cloud Elasticsearch クラスターを作成します。 詳細については、「Alibaba Cloud Elasticsearch クラスターの作成」をご参照ください。 この例では、Alibaba Cloud Elasticsearch V8.5 クラスターが作成されます。

    説明

    Alibaba Cloud Elasticsearch クラスターのバージョンは、V7.16 または V8.5 である必要があります。

  • Elasticsearch クラスターと同じ仮想プライベートクラウド (VPC) に Elastic Compute Service (ECS) インスタンスを作成します。 詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。

    説明

    ECS インスタンスはソースサーバーとして使用されます。 Fleet エージェントは、ECS インスタンスからデータを収集します。

エージェントポリシーを作成し、インテグレーションを追加する

手順 1:エージェントポリシーを作成する

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

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

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

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

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

    2. [システムログとメトリックを収集する] をオフにします。

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

      image.png

      説明

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

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

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

  1. [fleet] ページの [エージェントポリシー] タブで、新しく作成されたエージェントポリシー custom-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 インテグレーションの追加] ページで、[インテグレーションの設定] セクションの [インテグレーション名] フィールドにインテグレーションの名前を入力し、[このインテグレーションを追加する場所] セクションの [エージェントポリシー] ドロップダウンリストから custom-log を選択します。

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

手順 3:カスタムログインテグレーションを追加する統合

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

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

  3. カスタムログインテグレーションをインストールします。

    1. [カスタムログ] ページで、[設定] タブをクリックします。

    2. [カスタムログアセットのインストール] をクリックします。 [カスタムログのインストール] メッセージで、[カスタムログのインストール] をクリックします。

      説明

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

  4. カスタムログページの右上隅にある [カスタムログの追加] をクリックします。

  5. [カスタムログインテグレーションの追加] ページで、インテグレーションを設定します。

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

    2. [カスタムログファイル] セクションで、収集する ECS ログのパスを [ログファイルのパス] フィールドに入力します (例: /var/log/a2.log)。

    3. [詳細オプション] をクリックします。 [データセット名] フィールドに名前を入力します。

      説明
      • データセット名は、収集されたデータが格納される Elasticsearch インデックスの名前を決定します。 業務要件に基づいてデータセット名を指定できます。 その後、収集されたデータは、名前がデータセットと同じインデックスに転送されます。 これにより、データ処理の柔軟性が向上し、データ管理が容易になります。

      • データセット名は、Elasticsearch インデックスの命名規則に準拠している必要があります。 データセット名には、文字、数字、アンダースコア (_) のみを含めることができます。

      image.png

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

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

Fleet エージェントを追加する

手順 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 エージェントを追加します。

説明

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

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

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

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

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

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

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

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

    image.png

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

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

この例では、ECS ログパス /var/log/a2.log とデータセット generic が使用されます。 このセクションでは、収集された ECS ログデータを表示する方法について説明します。

説明

指定した ECS ログパスにデータが格納されていることを確認する必要があります。

  1. [インデックス管理] ページでデータストリームの名前を表示します。

    1. 左上隅にある image.png アイコンをクリックし、[管理] > [スタック管理] を選択します。

    2. 左側のナビゲーションペインで、[データ] > [インデックス管理] を選択します。

    3. [インデックス管理] ページで、[データストリーム] タブをクリックします。 [データストリーム] タブで、名前に generic が含まれるデータストリーム (例: logs-generic-default) を見つけます。

  2. Kibana コンソールで、データストリームに対応するインデックスの名前を表示します。

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

    2. [コンソール] タブで、次のコマンドを実行して、データストリームに対応するインデックスの名前を取得します。

      GET _data_Stream/logs-generic-default

      返された結果の index_name の値は、データストリームに対応するインデックスの名前を示します。

  3. 次のコマンドを実行して、インデックス内のログデータを表示します。

    GET <index_name>/_search
    {
      "query":{
        "match":{
          "log.file.path":"/var/log/a2.log"  // ログファイルのパスを指定
        }
      }
    }