Go アプリケーション用の ARMS エージェントを手動でインストールし、SAE にデプロイしてモニタリングします。ARMS は、アプリケーション トポロジー、コールトレース分析、SQL パフォーマンス分析をアプリケーションに提供します。
前提条件
Serverless App Engine (SAE) を有効化します。
Container Registry (ACR) を有効化し、Enterprise Edition インスタンスまたはPersonal Edition インスタンスを作成します。
イメージビルド環境がパブリックインターネットまたは Alibaba Cloud の内部ネットワークに接続でき、ビルド環境のセキュリティグループがポート 8080、9990、80、443 でのアウトバウンド TCP トラフィックを許可していることを確認します。
ネットワーク環境を確認します。詳細については、「Go アプリケーションモニタリングのネットワーク設定」をご参照ください。
イメージビルド環境のオペレーティングシステム、アーキテクチャ、Go のバージョン、フレームワークのバージョンを確認します。詳細については、「ARMS アプリケーションモニタリングでサポートされる Go コンポーネントとフレームワーク」をご参照ください。
制限事項
この機能は、イメージを使用してデプロイされた Go アプリケーションにのみ適用されます。
概要
プロジェクトの準備:このトピックでは、デモプロジェクトを例として使用します。
イメージのビルドと ACR イメージリポジトリへのプッシュ:プロジェクトからイメージをビルドし、Alibaba Cloud ACR リポジトリにプッシュして、SAE でマイクロサービスアプリケーションを作成します。
アプリケーションの作成:イメージリポジトリから SAE にイメージをデプロイし、アプリケーションにアクセスします。
アプリケーションモニタリングデータの表示:アプリケーションが生成するさまざまな種類のモニタリングデータを表示します。
1. プロジェクトの準備
Go プロジェクトを環境にアップロードします。
2. イメージのビルドとリポジトリにプッシュ
2.1 イメージのビルド
コンパイルツールをダウンロードし、アプリケーションをビルドします。
コンパイルツールをダウンロードします。
# wget コマンドをインストールします。 RUN yum -y install wget # この例では、中国 (杭州) リージョンのパブリックエンドポイントからコンパイルツールをダウンロードする方法を示します。 RUN wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-amd64" -O instgo本番環境では、ビルドマシンが配置されているリージョンに基づいてダウンロードアドレスを選択してください。ダウンロードアドレスの一覧については、「各リージョンのダウンロードコマンド」をご参照ください。
説明コンパイルツールのバイナリはすべてのリージョンで同じです。環境がパブリックインターネット経由で OSS にアクセスできる場合は、中国 (杭州) のパブリックエンドポイントを使用して、お使いの OS およびアーキテクチャ用のコンパイルツールをダウンロードしてください。
バイナリファイルに実行権限を追加します。
RUN chmod +x instgoOpenAPI を呼び出してライセンスキーを取得します。詳細については、「ListLicenseKey」をご参照ください。
go buildコマンドを./instgo buildコマンドに置き換えて、アプリケーションをビルドします。# ./instgo build コマンドを使用して Go プロジェクトをコンパイルします。 # {licenseKey} を前の手順で取得したライセンスキーに置き換えます。 RUN ./instgo build --licenseKey="{licenseKey}" --cacheDir=./ビルドをテストする場合、またはまだライセンスキーを取得できない場合は、
--devフラグを追加して開発モードを有効にすることができます。このモードでは、ライセンスキーを渡す必要はありません。説明元のビルドコマンドに追加のビルド引数が含まれている場合は、
--区切り文字の後に追加します。例:RUN ./instgo build --licenseKey="{licenseKey}" --cacheDir=./ -- {arg1} {arg2} ...最初のビルド中に、エージェントはデフォルトで
/optディレクトリにダウンロードされます。--cacheDirフラグを使用して、カスタムキャッシュディレクトリを指定できます。
2.2 イメージをリポジトリにプッシュ
ビルドした Go イメージを Alibaba Cloud イメージリポジトリにプッシュします。詳細については、「イメージのプッシュとプル (Enterprise Edition)」または「イメージのプッシュとプル (Personal Edition)」をご参照ください。
3. Go アプリケーションの作成
ここでは主要な手順のみを説明します。完全な手順については、「イメージを使用したアプリケーションのデプロイ」をご参照ください。
3.1 アプリケーションの作成
イメージの設定 パネルで、技術スタック言語 を [Go] に設定し、イメージのバージョンを選択します。
[My Alibaba Cloud Images] タブを選択し、[Container Registry Personal Edition] を選択します。[Select Image Version] ドロップダウンリストから [go-demo-2] を選択します。
Advanced Settings ページの Application Monitoring セクションで、Application Monitoring を有効にします。
この機能を有効にする前に、カスタムイメージを変更し、ビルドプロセス中にエージェントを手動でインストールする必要があります。ARMS は、SAE ユーザーに月間 200 GB の無料クォータを提供します。有効にすると、SAE はリクエスト数、エラー数、平均応答時間、インスタンスの GC、ヒープメモリなどのメトリクスをモニタリングし、コールトレース分析をサポートします。
Create Application をクリックします。
3.2 アクセスのテスト
アプリケーションにパブリックエンドポイントを追加します。詳細については、「SLB インスタンスをアプリケーションにバインドし、アプリケーションのパブリックまたはプライベート IP アドレスを生成する」をご参照ください。
設定が完了すると、[Application Access Settings] ページの [Public Endpoint] セクションに、SLB のレコードとして IP アドレス、ポート (例:
2222)、プロトコル (例:HTTP) などが表示されます。パブリックエンドポイントをコピーし、ブラウザで開いてアクセスをテストします。
4. アプリケーションモニタリングの表示
SAE コンソール
アプリケーションの 基本情報 ページに移動します。ナビゲーションペインで、Application Monitoring をクリックします。Application Monitoring ページで、モニタリングデータ を表示します。
[Application Overview] ページには、リクエスト数、エラー数、平均応答時間、インスタンス数などのメトリクスとトレンドチャートが表示されます。これにより、モニタリングデータが正しく収集されていることが確認できます。
ARMS コンソール
にログインします。 ARMSコンソールを使用します。
ナビゲーションペインで、 を選択します。上部メニューで、ターゲットリージョンを選択します。
このページには、接続されたアプリケーションのメトリクス (秒間リクエスト数、エラー率、平均応答時間、CVE の数、スマートインサイト、応答時間の傾向など) が表示されます。これにより、モニタリングデータが正しく収集されていることが確認できます。
アプリケーションリスト ページの検索ボックスでアプリケーションを検索し、アプリケーション名をクリックします。
詳細ページでモニタリングデータを表示します。
ARMS のアプリケーションモニタリング概要ページには、demo アプリケーションについて、以下のような主要なモニタリングメトリクスが表示されます。
リクエスト: 7.00 (前日比 700%)
エラー: 0.00 (前日比 0%)
平均応答時間: 0 s (前日比 0%)
インスタンス: 2 (前週比 200%)
中央のセクションには、リクエスト、エラー、応答時間、CPU 使用率の折れ線グラフが表示されます。下部のセクションには、上位 5 つのランキング (リクエスト数、エラー数、平均応答時間によるサービス、およびインスタンスごとの CPU 使用率のピーク) が表示されます。