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

Elasticsearch:セルフマネージド APM Server を使用した Alibaba Cloud Elasticsearch へのデータ収集

最終更新日:Aug 20, 2026

オープンソースの Elasticsearch が提供するアプリケーションパフォーマンスモニタリング (APM) サービスと Alibaba Cloud Elasticsearch を統合して APM システムを構築することで、サービスとアプリケーションの可観測性を実現できます。このトピックでは、セルフマネージド APM Server を使用して Alibaba Cloud Elasticsearch にデータを収集する方法について説明します。

背景情報

可観測性とは、インフラストラクチャ、プラットフォーム、アプリケーションを測定して、その状態を理解することです。既知の問題の検出とアラートに焦点を当てる従来のモニタリングとは異なり、可観測性は、複雑な分散システム内で発生するすべての事象に対する説明を提供することを目的としています。モニタリングがソフトウェアデリバリー中およびデリバリー後のサービスヘルスに焦点を当てるのに対し、可観測性は開発と運用のライフサイクル全体をカバーします。

可観測性の 3 つの柱は、ログ、インフラストラクチャメトリクス、およびアプリケーションパフォーマンスモニタリング (APM) です。APM は、メトリクスとログの間のギャップを埋めます。ログとメトリクスは広範なインフラストラクチャとコンポーネントをカバーしますが、APM はアプリケーションレイヤーに焦点を当てます。これにより、IT チームと開発チームは、エンドユーザーエクスペリエンスを含むアプリケーションスタックをモニタリングできます。APM をシステムに追加することで、次のことが可能になります。

  • サービスがどこで時間を費やしているか、なぜクラッシュするのかを理解できます。

  • サービスインタラクションを可視化し、ボトルネックを特定できます。

  • パフォーマンスの問題とエラーをプロアクティブに発見し、修正できます。

  • 開発チームの生産性を向上させることができます。

  • ブラウザーでエンドユーザーエクスペリエンスを追跡できます。

APM は、一般的に次のシナリオで使用されます。

  • ユーザーエクスペリエンスのモニタリング:Web インターフェースやクライアントとのインタラクションなどのユーザーの行動をモニタリングし、これらのイベントのタイミングを記録することで、ユーザーエクスペリエンスを向上させます。

  • ランタイムアプリケーションアーキテクチャ:アーキテクチャ内のサービスの依存関係とアプリケーションインタラクションのネットワークトポロジーを理解します。

  • ビジネストランザクションのモニタリング:ビジネスの観点から、意味のある SLA レポートを生成し、アプリケーションのパフォーマンスに関するトレンド情報を提供します。

  • コンポーネントの詳細なモニタリング:エージェントをインストールして、Web サーバー、アプリケーションサーバー、メッセージキューなどの中間層コンポーネントをモニタリングします。堅牢なモニタリングは、コード実行の明確なパスを提供します。これは、APM 製品ではランタイムアーキテクチャと組み合わされることが多いディメンションです。

  • 分析とレポート作成:アプリケーションから収集したメトリクスを標準化し、アプリケーションパフォーマンスデータの統一されたビューに表示します。

前提条件

  • Alibaba Cloud Elasticsearch V7.10 インスタンスを作成済みであること。詳細については、「Alibaba Cloud Elasticsearch インスタンスの作成」をご参照ください。

    説明

    アプリケーションパフォーマンスモニタリングのためのコスト効率の高い、大量のデータインジェストとストレージをサポートするために、インデキシングサービスと OpenStore を有効にすることを推奨します。

  • Linux オペレーティングシステムを実行する Alibaba Cloud Elastic Compute Service (ECS) インスタンスを作成済みであること。詳細については、「カスタム起動ウィザードを使用したインスタンスの作成」をご参照ください。

  • ECS インスタンスに Go 言語環境をインストール済みであること。

    説明

    このトピックでは Go 用の APM エージェントを使用します。これには Go 言語環境が必要です。

操作手順

  1. 手順1:APM Server の構築

  2. 手順2:APM エージェントの設定

  3. 手順3:Kibana でのデータの表示と分析

手順1:APM Server の構築

  1. ECS インスタンスに接続します。

    詳細については、「Workbench を使用した Linux インスタンスへのログイン」をご参照ください。

    説明

    このトピックの操作は、一般ユーザーアカウントを使用して実行されます。

  2. APM Server をインストールします。

    1. APM Server のインストールパッケージをダウンロードします。

      wget https://artifacts.elastic.co/downloads/apm-server/apm-server-7.10.2-linux-x86_64.tar.gz
    2. インストールパッケージを解凍します。

      tar -zxf apm-server-7.10.2-linux-x86_64.tar.gz
  3. APM Server の設定を変更します。

    1. APM Server がインストールされているディレクトリに移動します。

      cd apm-server-7.10.2-linux-x86_64/
    2. YML 設定ファイルを変更します。

      vim apm-server.yml

      次の例に示すように YML ファイルを変更します。

      apm-server:
        host: "0.0.0.0:8200"
      output.elasticsearch:
        hosts: ["es-cn-*****.elasticsearch.aliyuncs.com:9200"]
        username: "elastic"
        password: "[pwd]"

      パラメーター

      説明

      apm-server

      APM Server のエンドポイント。host の値は、APM Server の リッスン IP アドレス:ポート に設定する必要があります。この例では、0.0.0.0:8200 に設定されています。

      output.elasticsearch

      Elasticsearch の出力設定。

      • hosts:Elasticsearch インスタンスのパブリックまたは内部エンドポイント。エンドポイントを確認するには、「インスタンスの基本情報の表示」をご参照ください。

        重要

        Elasticsearch インスタンスと APM Server がインストールされている ECS インスタンスが同じ VPC 内にある場合は、内部エンドポイントを使用します。そうでない場合は、パブリックエンドポイントを使用し、IP アドレスホワイトリストを設定する必要があります。詳細については、「インスタンスのパブリックまたはプライベート IP アドレスホワイトリストの設定」をご参照ください。

      • username: Elasticsearch インスタンスにアクセスするためのユーザー名。デフォルトは elastic です。カスタムユーザーを使用する場合は、必要なロールと権限を割り当てる必要があります。詳細については、「Elasticsearch X-Pack ロールを使用したユーザー権限の管理」をご参照ください。

      • password: 指定したユーザーのパスワード。elastic ユーザーのパスワードは、インスタンスの作成時に設定します。忘れた場合は、リセットできます。詳細については、「インスタンスのアクセスパスワードのリセット」をご参照ください。

  4. APM Server を起動します。

    sudo nohup ./apm-server -e > apmserver.log 2>&1 &

手順2:APM エージェントの設定

このトピックでは、Go を例として使用します。

  1. APM エージェントをインストールします。

    1. go.mod ファイルを初期化します。

      sudo go mod init demo
    2. APM Go エージェントパッケージをインストールします。

      sudo go get go.elastic.co/apm
      sudo go get go.elastic.co/apm/module/apmhttp
      説明

      golang.org xxxx: i/o timeout エラーは、golang.org にアクセスできないことを示します。これを解決するには、ダウンロードソースを変更してください。

  2. APM エージェントを設定します。

    1. 環境変数の設定ファイルを開きます。

      vim ~/.bash_profile
    2. 設定ファイルに、APM エージェントを初期化するために次の設定を追加します。その後、変更を保存します。

      # サービス名を設定します。使用できる文字:a-z、A-Z、0-9、-、_、およびスペース。
      # ELASTIC_APM_SERVICE_NAME が設定されていない場合、実行可能ファイルのファイル名が使用されます。
      export ELASTIC_APM_SERVICE_NAME=zijian
      
      # カスタム APM Server URL を設定します (デフォルト: http://localhost:8200)。
      export ELASTIC_APM_SERVER_URL=
      
      # APM Server で必要な場合は、シークレットトークンを使用します。
      export ELASTIC_APM_SECRET_TOKEN=
    3. 次のコマンドを実行して、設定ファイルを有効にします:

      source ~/.bash_profile
  3. APM エージェントを使用してアプリケーションのインストルメンテーションを行います。

    1. apm.go という名前のサンプルアプリケーションファイルを作成します。

      vim apm.go
    2. apm.go ファイルに次の情報を追加して、ファイルを保存します。

      Go アプリケーションをインストルメンテーションするには、提供されているインストルメンテーションモジュールのいずれか、またはトレーサー API を使用します。

      package main
      
        import (
          "net/http"
      
          "go.elastic.co/apm/module/apmhttp"
        )
      
        func main() {
          mux := http.NewServeMux()
          http.ListenAndServe(":8080", apmhttp.Wrap(mux))
        }
    3. apm.go ファイルを実行します。

      sudo go run apm.go

手順3:Kibana コンソールで APM Server によって収集されたデータを表示および分析する

  1. Elasticsearch クラスターの Kibana コンソールにログインします。

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

    説明

    このトピックでは、Alibaba Cloud Elasticsearch V7.10 インスタンスを例として使用します。他のバージョンでは、UI と操作が異なる場合があります。

  2. Kibana のホームページで、右上隅にある[開発ツール]をクリックします。

  3. [コンソール] タブで、次のスクリプトを実行して APM オンボーディングインデックスの自動作成を有効にします。

    説明
    • Alibaba Cloud Elasticsearch enforces specific naming conventions for automatically created indexes. Because the default name for the APM onboarding index does not comply, you must run this command to allow its creation.

    • In the following script, 7.10.2 is the version of the APM Server you installed.

    PUT _cluster/settings
    {
      "persistent": {
        "action.auto_create_index":"+.*,+apm-7.10.2-onboarding-*,-*"
      }
    }
  4. APM によってモニタリングされているサービスを表示します。

    APM の [サービス] ページには、オンボードされたすべてのサービスがテーブルに一覧表示されます。このテーブルには [名前]、[環境]、[平均応答時間]、[毎分トランザクション数]、および [エラー率 %] の列があり、オンボードされた各サービスとそのパフォーマンスメトリックが表示されます。

    1. 左上隅にある Navigation bar icon アイコンをクリックして、左側メニューを展開します。

    2. ナビゲーションペインで、[可観測性] の下にある [APM] をクリックします。

    3. [サービス] タブには、すべての APM サービスが表示されます。

    4. サービスの名前をクリックして、サービスに関連するデータを表示および分析します。