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

Application Real-Time Monitoring Service:Function Compute に ARMS Go エージェントをインストールする

最終更新日:Jun 19, 2025

このトピックでは、Function Compute の Go ランタイムを Application Real-Time Monitoring Service (ARMS) のアプリケーションモニタリングに接続する方法について説明します。

背景情報

Function Compute を ARMS のアプリケーションモニタリングに接続すると、関数を監視およびトレースし、インスタンスレベルの可観測性、トレースデータ、Go ランタイムメトリック、および CPU プロファイリングに関する洞察を得ることができます。

前提条件

  • アプリケーションは Go V1.18 以降を使用しています。

  • ライセンスキーが利用可能です。 詳細については、「DescribeTraceLicenseKey」をご参照ください。

方法 1: コンパイル済みの Go バイナリファイルを使用して Function Compute で関数を作成する

  1. Go アプリケーションをコンパイルするには、ARMS Go エージェントを使用します。 詳細については、「手順 1: Go バイナリファイルをコンパイルする」をご参照ください。

  2. コンパイルされた Go バイナリファイルを Function Compute にアップロードします。 詳細については、「イベント関数の作成」をご参照ください。

    image

  3. 環境変数を設定します。

    ARMS_ENABLE=true
    ARMS_APP_NAME=xxx   # アプリケーション名。
    ARMS_REGION_ID=xxx   # Alibaba Cloud アカウントのリージョン ID。
    ARMS_LICENSE_KEY=xxx   # ライセンスキー。

    image

  4. 関数を実行します。 次に、[アプリケーションモニタリング] > [アプリケーションリスト] を選択し、ARMS コンソール で設定済みのアプリケーションを表示できます。

    アプリケーション名をクリックします。 [概要] ページで、アプリケーションのリクエスト数、エラー数、平均処理時間、およびその他の呼び出しメトリックを監視できます。

    image

方法 2: Function Compute で Go アプリケーションをビルドする

  1. s.yaml ファイルのアクションを変更します。 詳細については、「Serverless Devs とは」をご参照ください。

    • 次のコードは、中国 (杭州) リージョンの例です。 オペレーティングシステムとリージョンに基づいて、コンパイルツールのダウンロードアドレスに変更してください。 詳細については、「ダウンロードアドレスを取得する」をご参照ください。

    • コード内のライセンスキーを取得したものに変更してください。

    edition: 3.0.0
    name: hello-world-app
    access: "{{ access }}"
    
    vars: # グローバル変数。
      region: "{{ region }}"
    
    resources:
      hello_world:
        component: fc3 
        actions:       
          pre-${regex('deploy|local')}: 
            - run: GO111MODULE=on go mod tidy
              path: ./code
            - run: wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-amd64" -O instgo
              path: ./code
            - run: chmod +x instgo
              path: ./code
            - run: GOOS=linux GOARCH=amd64 CGO_ENABLED=0 ./instgo build --licenseKey="{licenseKey}" --cacheDir=./ -- -o target/main main.go
              path: ./code
        props:
          region: ${vars.region}              
          functionName: "{{ functionName }}"
          description: 'Serverless Devs によるシンプルな hello world アプリケーション'
          runtime: "{{ runtime }}"
          code: ./code/target
          handler: main
          memorySize: 128
          timeout: 10
          # トリガー:
          #   - triggerName: httpTrigger # トリガー名。
          #     triggerType: http # トリガータイプ。
          #     description: 'xxxx'
          #     qualifier: LATEST # トリガーされるサービスのバージョン。
          #     triggerConfig:
          #       authType: anonymous # 認証タイプ。 有効な値: anonymous および function。
          #       disableURLInternet: false # パブリックネットワークにアクセスするための URL を無効にするかどうかを指定します。
          #       methods: # HTTP トリガーでサポートされているアクセス方法。 有効な値: GET、POST、PUT、DELETE、および HEAD。
          #         - GET
          #         - POST
  2. Function Compute コンソール で、[アプリケーション] を選択し、[リポジトリからアプリケーションをインポート] をクリックしてアプリケーションをインポートします。 詳細については、「アプリケーションの管理」をご参照ください。

    image

  3. アプリケーションが作成されたら、アプリケーションの詳細ページに移動します。 [関数リソース][リソース情報] セクションの で、関数名をクリックします。

  4. 表示されるページで、次の環境変数を追加します。 詳細については、「環境変数の設定」をご参照ください。

    ARMS_ENABLE=true
    ARMS_APP_NAME=xxx   # アプリケーション名。
    ARMS_REGION_ID=xxx   # Alibaba Cloud アカウントのリージョン ID。
    ARMS_LICENSE_KEY=xxx   # ライセンスキー。

    2024-10-11_16-31-39

  5. アプリケーションを起動します。 次に、[アプリケーションモニタリング] > [アプリケーションリスト] を選択し、ARMS コンソール で設定済みのアプリケーションを表示できます。

    アプリケーション名をクリックします。 [概要] ページで、アプリケーションのリクエスト数、エラー数、平均処理時間、およびその他の呼び出しメトリックを監視できます。

    image.png