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

Application Real-Time Monitoring Service:Function Compute 環境で ARMS Golang エージェントを使用する

最終更新日:Sep 05, 2026

Function Compute (FC) には、Application Real-Time Monitoring Service (ARMS) をサポートする Go ランタイムが組み込まれています。このトピックでは、Go ランタイムを ARMS と統合する方法について説明します。

背景情報

FC を ARMS プラットフォームと統合することで、関数を監視およびトレースできます。この統合により、インスタンスレベルの可観測性、トレーシング分析データ、Go ランタイムのメトリクス、CPU プロファイリングデータが提供されます。

前提条件

Go バージョン 1.18 以降が必要です。

ライセンスキーの取得

OpenAPI を使用してライセンスキーを取得します。詳細については、「DescribeTraceLicenseKey - ライセンスキーの一覧表示」をご参照ください。

方法1:コンパイル済み Go バイナリファイルを使用した FC 関数の作成

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

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

    イベントトリガー関数を作成する際、[Runtime][Go 1] に、[Code Upload Method][Upload Code with ZIP Package] に設定します。ローカルでコンパイルした Go バイナリファイルを ZIP パッケージにまとめ、パッケージをアップロードしてから、[Create] をクリックします。

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

    ARMS_ENABLE=true
    ARMS_APP_NAME=xxx # アプリケーションの名前
    ARMS_REGION_ID=xxx # Alibaba Cloud アカウントのリージョン ID
    ARMS_LICENSE_KEY=xxx # 取得したライセンスキー
  4. 設定を完了し、関数を実行します。設定済みのアプリケーションが、ARMS コンソール[アプリケーション監視] > [アプリケーションリスト] ページに表示されます。

    アプリケーション名をクリックします。[アプリケーション概要] ページで、リクエスト数、エラー数、平均応答時間など、関数のメトリクスを確認できます。また、その他の内部呼び出しデータも確認できます。

    image

方法2:FC アプリケーションセンターを使用した Go アプリケーションの構築

  1. s.yaml ファイルのアクションを変更します。

    • サンプルコードでは、中国 (杭州) リージョンのダウンロード URL を使用しています。お使いのオペレーティングシステムとリージョンに基づいて、コンパイルツールのダウンロード URL を置き換えてください。ダウンロード URL の一覧については、「ダウンロード URL の取得」をご参照ください。

    • 取得したライセンスキーで {licenseKey} を置き換えてください。

    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: 'hello world by serverless devs'
          runtime: "{{ runtime }}"
          code: ./code/target
          handler: main
          memorySize: 128
          timeout: 10
          # triggers:
          #   - triggerName: httpTrigger # トリガー名
          #     triggerType: http # トリガータイプ
          #     description: 'xxxx'
          #     qualifier: LATEST # トリガーするサービスバージョン
          #     triggerConfig:
          #       authType: anonymous # 認証タイプ。有効な値: anonymous、function
          #       disableURLInternet: false # パブリックエンドポイントを無効にするかどうかを指定します
          #       methods: # サポートされる HTTP メソッド。有効な値: GET、POST、PUT、DELETE、HEAD
          #         - GET
          #         - POST
  2. FC アプリケーションセンターで、リポジトリからアプリケーションをインポートします。詳細については、「アプリケーションのインポート」をご参照ください。

    [Create Application] ページで、[Import an application from a repository] を選択します。[Basic Settings] セクションで、[GitHub] などのリポジトリタイプを選択し、リポジトリユーザーまたは組織、リポジトリ名、リポジトリブランチを選択して、[Application Name][Description] を入力します。Serverless Devs がまだ認可されていない場合は、まず [認可] をクリックして、コードリポジトリへの読み取りアクセス権を付与してください。

  3. アプリケーションを作成したら、アプリケーション詳細ページに移動します。[リソース情報] > [関数リソース] セクションで、関数名をクリックし、次の環境変数を追加します。詳細については、「環境変数の設定」をご参照ください。

    ARMS_ENABLE=true
    ARMS_APP_NAME=xxx # アプリケーションの名前
    ARMS_REGION_ID=xxx # Alibaba Cloud アカウントのリージョン ID
    ARMS_LICENSE_KEY=xxx # 取得したライセンスキー
  4. アプリケーションを起動します。設定されたアプリケーションは、ARMS コンソール[アプリケーション監視] > [アプリケーションリスト] ページに表示されます。

    アプリケーション名をクリックします。[アプリケーション概要] ページで、リクエスト数、エラー数、平均応答時間などのメトリクスを確認できます。

    image.png