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

Elasticsearch:Filebeat を使用した Apache ログデータの収集

最終更新日:Nov 29, 2025

Apache ログデータを表示および分析するには、Filebeat を使用してログデータを収集します。次に、Alibaba Cloud Logstash を使用して収集したデータをフィルター処理し、分析のために Elasticsearch インスタンスに送信できます。このトピックでは、Filebeat を使用して Apache ログデータを収集する方法について説明します。

操作手順

  1. ステップ1:事前準備

  2. ステップ2:Filebeat コレクターの設定とインストール

  3. ステップ3:Logstash パイプラインを設定してデータをフィルターおよび同期

  4. ステップ4:データ収集結果の表示

ステップ1:事前準備

  1. Alibaba Cloud Elasticsearch インスタンスと Logstash インスタンスを作成します。インスタンスは同じバージョンで、同じ Virtual Private Cloud (VPC) 内にある必要があります。

    詳細については、「Alibaba Cloud Elasticsearch インスタンスの作成」および「Alibaba Cloud Logstash インスタンスの作成」をご参照ください。

  2. Alibaba Cloud Elasticsearch インスタンスのインデックス自動作成機能を有効にします。

    セキュリティ上の理由から、Alibaba Cloud Elasticsearch はデフォルトではインデックスの自動作成を許可していません。ただし、Beats はこの機能に依存しています。コレクターの出力を Elasticsearch インスタンスに設定する場合は、インデックスの自動作成を有効にする必要があります。詳細については、「YML パラメーターの設定」をご参照ください。

  3. Alibaba Cloud Elastic Compute Service (ECS) インスタンスを作成します。ECS インスタンスは、Alibaba Cloud Elasticsearch インスタンスおよび Logstash インスタンスと同じ VPC 内にある必要があります。

    詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。

    重要
    • 現在、Beats は Alibaba Cloud Linux、Red Hat、CentOS オペレーティングシステムのみをサポートしています。

    • Alibaba Cloud Filebeat は、Alibaba Cloud Elasticsearch または Logstash インスタンスと同じリージョンおよび VPC 内にある ECS インスタンスからのログ収集のみをサポートしています。インターネットからのログ収集はサポートしていません。

  4. ECS インスタンスで httpd サービスをセットアップします。

    可視化ツールを使用したログの分析と表示を簡素化するために、httpd.conf ファイルで Apache ログフォーマットを JSON として定義します。詳細については、「Magento 2 e コマースサイトの手動構築 (Ubuntu)」をご参照ください。このトピックでは、次の設定を例として使用します。

    LogFormat "{\"@timestamp\":\"%{%Y-%m-%dT%H:%M:%S%z}t\",\"client_ip\":\"%{X-Forwa rded-For}i\",\"direct_ip\": \"%a\",\"request_time\":%T,\"status\":%>s,\"url\":\"%U%q\",\"method\":\"%m\",\"http_host\":\"%{Host}i\",\"server_ip\":\"%A\",\"http_referer\":\"%{Referer}i\",\"http_user_agent\":\"%{User-agent}i\",\"body_bytes_sent\":\"%B\",\"total_bytes_sent\":\"%O\"}"  access_log_json
    # 元の CustomLog をコメントアウトし、CustomLog "logs/access_log" access_log_json に変更します
  5. ターゲットの ECS インスタンスにクラウドアシスタントと Docker サービスをインストールします。

ステップ2:Filebeat コレクターの設定とインストール

  1. Alibaba Cloud Elasticsearch コンソールにログインします。

  2. Beats データシッパーページに移動します。

    1. 上部のナビゲーションバーで、リージョンを選択します。

    2. 左側のナビゲーションウィンドウで、[Beats データシッパー] をクリックします。

    3. (任意) 初めて [Beats データシッパー] ページに移動する場合は、表示されるメッセージの情報を確認し、[OK] をクリックして、アカウントのサービスリンクロールを作成する権限をシステムに付与します。

      説明

      Beats がさまざまなデータソースからデータを収集する場合、Beats はサービスリンクロールと、そのロールに指定されたルールに依存します。サービスリンクロールは削除しないでください。削除すると、Beats の使用に影響します。詳細については、「Elasticsearch のサービスリンクロール」をご参照ください。

  3. シッパーの作成 エリアで、ECS ログ をクリックします。

  4. コレクターを設定してインストールします。

    詳細については、「ECS サービスログの収集」および「コレクターの YML 設定」をご参照ください。このトピックでは、次の図に示す設定を使用します。filebeat配置

    説明
    • コレクターの出力をターゲットの Alibaba Cloud Logstash インスタンスのインスタンス ID に設定します。YML 設定で再度 Output パラメーターを指定する必要はありません。

    • Filebeat ファイルディレクトリには、データソースが配置されているディレクトリへのパスを入力します。また、YML 設定でログデータ収集を有効にし、ログパスを設定する必要があります。

  5. 次のステップ をクリックします。

  6. シッパーのインストール 設定ウィザードで、コレクターをインストールする ECS インスタンスを選択します。

    説明

    「ステップ1:事前準備」セクションで作成および設定した ECS インスタンスを選択します。

  7. コレクターを起動し、そのインストールステータスを確認します。

    1. 起動 をクリックします。

      コレクターが起動すると、シッパーの有効化 ダイアログボックスが表示されます。

    2. Beats シッパーに戻る をクリックします。Beats データ収集センター ページにリダイレクトされます。シッパーの管理 セクションで、起動した Filebeat コレクターを表示します。

    3. ステータス有効 に変わるまで待ちます。次に、操作 列の インスタンスの表示 をクリックします。

    4. インスタンスの表示 ページで、インストール済みシッパー を確認します。ステータスが 正常なハートビート の場合、コレクターは正常にインストールされています。

ステップ3:Logstash パイプラインを設定してデータをフィルターおよび同期

  1. Alibaba Cloud Elasticsearch コンソールの左側のナビゲーションウィンドウで、Logstash クラスター をクリックします。

  2. ターゲットの Logstash インスタンスの 操作 列で、パイプライン管理 をクリックします。

  3. パイプライン管理 ページで、パイプラインの作成 をクリックします。

  4. パイプラインを設定します。

    次の例に基づいてパイプラインを設定します。詳細な設定手順については、「設定ファイルを使用したパイプラインの管理」をご参照ください。

    input {
      beats {
          port => 8000
        }
    }
    filter {
      json {
            source => "message"
            remove_field => "@version"
            remove_field => "prospector"
            remove_field => "beat"
            remove_field => "source"
            remove_field => "input"
            remove_field => "offset"
            remove_field => "fields"
            remove_field => "host"
            remove_field => "message"
          }
    
    }
    output {
      elasticsearch {
        hosts => ["http://es-cn-mp91cbxsm00******.elasticsearch.aliyuncs.com:9200"]
        user => "elastic"
        password => "<YOUR_PASSWORD>"
        index => "<YOUR_INDEX>"
      }
    }

    パラメーター

    説明

    input

    Beats によって収集されたデータを受信します。

    filter

    収集されたデータをフィルター処理します。JSON プラグインはメッセージデータをデコードし、remove_field は指定されたフィールドを削除します。

    説明

    このトピックの filter 設定は、このテストシナリオにのみ適用されます。すべてのビジネスシナリオに適しているとは限りません。必要に応じて filter 設定を変更してください。filter でサポートされているプラグインとその使用方法については、「filter plugin」をご参照ください。

    output

    データを Alibaba Cloud Elasticsearch インスタンスに送信します。パラメーターは次のとおりです:

    • hosts:ご利用の Alibaba Cloud Elasticsearch インスタンスのエンドポイントに置き換えてください。エンドポイントは、インスタンスの [基本情報] ページから取得できます。詳細については、「インスタンスの基本情報の表示」をご参照ください。

    • <YOUR_PASSWORD>:ご利用の Alibaba Cloud Elasticsearch インスタンスのパスワードに置き換えてください。

    • <YOUR_INDEX>:定義したインデックス名に置き換えてください。

ステップ4:データ収集結果の表示

  1. Elasticsearch クラスターの Kibana コンソールにログインし、プロンプトに従って Kibana コンソールのホームページに移動します。

    Kibana コンソールへのログイン方法の詳細については、「Kibana コンソールへのログイン」をご参照ください。

    説明

    この例では、Elasticsearch V6.7.0 クラスターを使用します。他のバージョンのクラスターでの操作は異なる場合があります。コンソールでの実際の操作が優先されます。

  2. 表示されたページの左側のナビゲーションウィンドウで、[開発ツール] をクリックします。

  3. [コンソール] で、次のコマンドを実行して収集されたデータを表示します。

    GET <YOUR_INDEX>/_search
    説明

    <YOUR_INDEX> を、Alibaba Cloud Logstash インスタンスのパイプライン設定の output セクションで定義したインデックス名に置き換えてください。

  4. 左側のナビゲーションウィンドウで [Discover] をクリックします。次に、時間範囲を選択して、収集されたデータの詳細を表示します。

    查看采集数据详情

    説明

    クエリを実行する前に、<YOUR_INDEX> のインデックスパターンが作成済みであることを確認してください。作成されていない場合は、Kibana コンソールで [管理] をクリックし、[Kibana] セクションで [インデックスパターン] > [インデックスパターンの作成] を選択して、プロンプトに従ってインデックスパターンを作成します。