このトピックでは、Elastic Compute Service (ECS) インスタンスにデプロイされたフルマネージドサービスのビジネスモニタリングとアラートを設定する方法について説明します。
仕組み
Compute Nest は、Managed Service for Prometheus によって提供される組み込みのマルチテナント機能を使用して、ECS インスタンスにテナントタグを追加します。 ECS インスタンスのタグがホストモニタリングにインポートされると、Prometheus エージェントはテナントのメトリックをテナントの対応するサービスインスタンスに転送できます。
サービスプロバイダーのリモート書き込みエンドポイントを構成して、テナントのモニタリングデータをサービスプロバイダーのアカウントに配信できます。 このようにして、サービスプロバイダーはすべてのテナントのモニタリングデータを表示できます。 テナントは自分のモニタリングデータのみを表示できます。
手順
ホストモニタリングを VPC と統合する
- 重要
仮想プライベートクラウド(VPC)が作成されている場合、サービスプロバイダーは Application Real-Time Monitoring Service(ARMS)コンソールの統合センターページ にアクセスして、必要なコンポーネントを VPC と統合する必要があります。 この例では、ホストモニタリングが使用されています。 マークされたパラメーターは、次の設定に基づいて構成する必要があることに注意してください。 このようにして、Compute Nest のサービスによって VPC に作成された ECS インスタンスに Node Exporter を自動的にインストールし、テナントのメトリックをテナントのアカウントに転送できます。
NodeExporter のインストールモード: [自動インストール] を選択します。
ホストサービス検出モード: [タグラベルの選択] を選択します。
ECS インスタンスラベル: タグキーを
acs:computenest:serviceIdに設定し、タグ値をservice-xxxに設定します。カスタム ECS タグの挿入: このパラメーターを
tenant_clusterid, tenant_token, tenant_userid, tenant_cloudproductcodeに設定します。
VPC を作成する必要がある場合、Resource Orchestration Service(ROS)テンプレートでホストモニタリングに関連するリソースを調整する必要があります。 詳細については、「ALIYUN::ARMS::Environment」をご参照ください。
Environment: Type: 'ALIYUN::ARMS::Environment' Properties: ManagedType: Ref: ManagedType EnvironmentSubType: ECS EnvironmentName: Ref: EnvironmentName Tags: Ref: Tags FeePackage: Ref: FeePackage PrometheusInstanceId: Ref: PrometheusInstanceId ResourceGroupId: Ref: ResourceGroupId GrafanaWorkspaceId: Ref: GrafanaWorkspaceId BindResourceId: Ref: BindResourceId EnvironmentType: Ref: EnvironmentType EnvironmentFeature: Type: 'ALIYUN::ARMS::EnvironmentFeature' Properties: EnvironmentId: Ref: Environment FeatureVersion: 1.1.17 FeatureName: metric-agent
Grafana ダッシュボードを構成する
各サービスインスタンスでは 1 つのダッシュボードのみがサポートされています。 サービスプロバイダーに複数のダッシュボードがある場合、サービスプロバイダーはそれらを 1 つのダッシュボードに結合する必要があります。 Managed Service for Grafana でダッシュボードを作成し、ダッシュボードの URL を取得できます。
サービス ID とダッシュボードの URL を構成する
サービス ID とダッシュボード情報を構成する必要があります。
サービス ID: モニタリングシステムにおけるサービスの一意の ID です。 cn-mariadb サービス ID はテストに使用され、すべてのサービスで共有されます。 cn-mariadb サービス ID は、中国(杭州)リージョンと中国(香港)リージョンでのみサポートされています。
説明サービスを公開するには、専用のサービス ID が必要です。 ご質問がある場合は、テクニカルサポートのために DingTalk グループ(ID 31045016300)にご参加ください。
ダッシュボード設定には、ダッシュボードのタイトルと Grafana ダッシュボードの URL が含まれます。 ダッシュボードはサービス ID をマップします。 ダッシュボードの URL は、このトピックの「Grafana ダッシュボードを構成する」セクションで取得した URL であり、ダッシュボードのタイトルは、このトピックの「Grafana ダッシュボードを構成する」セクションで構成したタイトルです。
説明この手順では手動設定が必要です。 ご質問がある場合は、テクニカルサポートのために DingTalk グループ(ID 31045016300)にご参加ください。
次の図は、cn-mariadb サービス ID を使用するサンプルサービスの構成を示しています。
アラートを構成する
サービスプロバイダーとしてアラートを構成する
統合されたコンポーネントが通常のコンポーネントである場合、アラートルールはデフォルトでベストプラクティスに基づいて生成されます。
ARMS コンソールにログオンします。 左側のナビゲーションウィンドウで、統合管理 をクリックします。 [統合管理] ページで、[統合アドオン] タブをクリックします。 [統合アドオン] タブで、統合コンポーネントをクリックします。 表示されるパネルで、[アラート] タブをクリックし、コンポーネントによって生成されたデフォルトのアラートルールを表示します。
カスタムアラートルールを作成および管理します。
ARMS コンソールにログオンします。 左側のナビゲーションウィンドウで、Managed Service for Prometheus > Prometheus アラートルール を選択します。 [Prometheus アラートルール] ページで、カスタムアラートルールを作成および管理します。 詳細については、「Prometheus インスタンスのアラートルールを作成する」をご参照ください。
PrometheusRule を使用してアラートルールを作成するか、Managed Service for Prometheus インスタンスの既存のアラートルールをインポートします。 詳細については、「PrometheusRule を使用してアラートルールを作成する」をご参照ください。