このトピックでは、Function Compute の Go ランタイムを Application Real-Time Monitoring Service (ARMS) のアプリケーションモニタリングに接続する方法について説明します。
背景情報
Function Compute を ARMS のアプリケーションモニタリングに接続すると、関数を監視およびトレースし、インスタンスレベルの可観測性、トレースデータ、Go ランタイムメトリック、および CPU プロファイリングに関する洞察を得ることができます。
前提条件
アプリケーションは Go V1.18 以降を使用しています。
ライセンスキーが利用可能です。 詳細については、「DescribeTraceLicenseKey」をご参照ください。
方法 1: コンパイル済みの Go バイナリファイルを使用して Function Compute で関数を作成する
Go アプリケーションをコンパイルするには、ARMS Go エージェントを使用します。 詳細については、「手順 1: Go バイナリファイルをコンパイルする」をご参照ください。
コンパイルされた Go バイナリファイルを Function Compute にアップロードします。 詳細については、「イベント関数の作成」をご参照ください。

環境変数を設定します。
ARMS_ENABLE=true ARMS_APP_NAME=xxx # アプリケーション名。 ARMS_REGION_ID=xxx # Alibaba Cloud アカウントのリージョン ID。 ARMS_LICENSE_KEY=xxx # ライセンスキー。
関数を実行します。 次に、 を選択し、ARMS コンソール で設定済みのアプリケーションを表示できます。
アプリケーション名をクリックします。 [概要] ページで、アプリケーションのリクエスト数、エラー数、平均処理時間、およびその他の呼び出しメトリックを監視できます。

方法 2: Function Compute で Go アプリケーションをビルドする
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 # - POSTFunction Compute コンソール で、[アプリケーション] を選択し、[リポジトリからアプリケーションをインポート] をクリックしてアプリケーションをインポートします。 詳細については、「アプリケーションの管理」をご参照ください。

アプリケーションが作成されたら、アプリケーションの詳細ページに移動します。 [関数リソース] セクションの で、関数名をクリックします。
表示されるページで、次の環境変数を追加します。 詳細については、「環境変数の設定」をご参照ください。
ARMS_ENABLE=true ARMS_APP_NAME=xxx # アプリケーション名。 ARMS_REGION_ID=xxx # Alibaba Cloud アカウントのリージョン ID。 ARMS_LICENSE_KEY=xxx # ライセンスキー。
アプリケーションを起動します。 次に、 を選択し、ARMS コンソール で設定済みのアプリケーションを表示できます。
アプリケーション名をクリックします。 [概要] ページで、アプリケーションのリクエスト数、エラー数、平均処理時間、およびその他の呼び出しメトリックを監視できます。
