このトピックでは、関数計算の Go ランタイムをアプリケーションリアルタイム監視サービス (ARMS) のアプリケーション監視に接続する方法について説明します。
背景情報
関数計算が ARMS のアプリケーション監視に接続すると、関数を監視およびトレースし、インスタンスレベルの可観測性、トレースデータ、Go ランタイムメトリクス、および CPU プロファイリングに関する洞察を得ることができます。
前提条件
アプリケーションは Go V1.18 以降を使用します。
ライセンスキーが利用可能です。詳細については、DescribeTraceLicenseKey を参照してください。
方法 1: 関数計算でコンパイル済みの Go バイナリファイルを使用して関数を作成する
Go 用の ARMS エージェントを使用して Go アプリケーションをコンパイルします。詳細については、ステップ 1: Go バイナリファイルをコンパイルする を参照してください。
コンパイル済みの Go バイナリファイルを関数計算にアップロードします。詳細については、イベント関数の作成 を参照してください。
環境変数を設定します。
TYPE_IS_ARMS=true ARMS_APP_NAME=xxx # アプリケーション名。 ARMS_REGION_ID=xxx # Alibaba Cloud アカウントのリージョン ID。 ARMS_LICENSE_KEY=xxx # ライセンスキー。
関数を実行します。その後、ARMS console で設定済みのアプリケーションを表示できます。
を選択し、アプリケーション名をクリックします。概要ページで、アプリケーションのリクエスト数、エラー数、平均処理時間、その他の呼び出しメトリクスを監視できます。
方法 2: 関数計算で 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 # - POST
関数計算コンソール で、アプリケーション を選択し、リポジトリからアプリケーションをインポート をクリックしてアプリケーションをインポートします。詳細については、アプリケーションの管理 を参照してください。
アプリケーションが作成されたら、アプリケーションの詳細ページに移動します。関数リソース
セクションの で、関数名をクリックします。表示されるページで、次の環境変数を追加します。詳細については、環境変数の設定 を参照してください。
TYPE_IS_ARMS=true ARMS_APP_NAME=xxx # アプリケーション名。 ARMS_REGION_ID=xxx # Alibaba Cloud アカウントのリージョン ID。 ARMS_LICENSE_KEY=xxx # ライセンスキー。
アプリケーションを起動します。その後、ARMS console で設定済みのアプリケーションを表示できます。
を選択し、アプリケーション名をクリックします。概要ページで、アプリケーションのリクエスト数、エラー数、平均処理時間、その他の呼び出しメトリクスを監視できます。