このソリューションは、軽量メトリックスクレイピング向けに最適化されたコミュニティ開発のパフォーマンス専有型 Amazon CloudWatch エクスポーターである Yet Another CloudWatch Exporter (YACE) と、[Managed Service for Prometheus] を統合し、クロス クラウド モニタリングのために Amazon CloudWatch メトリックを取り込みます。
ソリューション
メトリックのスクレイピング: YACE は、CloudWatch から AWS API を介して、Amazon Elastic Compute Cloud (Amazon EC2) の CPU 使用率やディスク I/O などのメトリックデータを定期的にプルします。
フォーマット変換: CloudWatch メトリックを Prometheus 互換フォーマットに変換し、シームレスな統合を実現します。
エンドポイントの公開:
/metrics
エンドポイントは HTTP 経由で公開され(デフォルト ポート:5000)、サービス ディスカバリを通じて Alibaba Cloud Managed Service for Prometheus によるメトリックの自動スクレイピングが可能になります。
前提条件
手順
手順 1:ACK クラスタに YACE をデプロイする
ダウンロード し、values.yaml
構成ファイルを修正します。
Configure the WordPress Application After you have successfully installed the WordPress application, you can configure it to meet your specific needs. This section provides instructions on how to configure the WordPress application. To configure the WordPress application: Log in to the WordPress application. Navigate to the Settings page. Configure the desired settings, such as the site title, tagline, and permalinks. Click Save Changes. For more information, see WordPress General Settings. WordPress アプリケーションを構成する WordPress アプリケーションを正常にインストールした後、特定のニーズに合わせて構成できます。このセクションでは、WordPress アプリケーションを構成する方法について説明します。 WordPress アプリケーションを構成するには: WordPress アプリケーションにログインします。 [設定] ページに移動します。 サイトのタイトル、タグライン、パーマリンクなど、必要な設定を構成します。 [変更を保存] をクリックします。 詳細については、「WordPress General Settings」をご参照ください。
# マネージドサービス for Prometheus のスクレイプパスとポートを構成します。
podAnnotations: {
prometheus.io/path: /metrics,
prometheus.io/port: "5000",
prometheus.io/scrape: "true"
}
# AWS 認証には、次のいずれかの方法を選択します。AccessKey ID(AK)/AccessKey Secret(SK)をお勧めします。
aws:
role:
# AWS 認証情報を格納するために準備したシークレットの名前。設定されている場合、
# aws_access_key_id は access_key フィールドに格納され、
# aws_secret_access_key は secret_key フィールドに格納され、
# セッショントークン(存在する場合)は security_token フィールドに格納されます。
secret:
name:
includesSessionToken: false
# 注: ロールまたはシークレット名を構成した場合は、aws_access_key_id と aws_secret_access_key を指定しないでください。
aws_access_key_id:
aws_secret_access_key:
# 以下は、CloudWatch メトリックを収集するためのパラメータです。必要なプロダクト、メトリック、および統計演算子のみを構成します。Amazon CloudWatch は、メトリックリクエストの数に応じて課金されます。
config: |-
apiVersion: v1alpha1
sts-region: us-west-1 # AWS 認証リージョン。クラウドプロダクトのリージョンと一致している必要があります。
discovery:
jobs:
- type: AWS/EC2 # サポートされているプロダクトの名前空間。詳細については、https://github.com/prometheus-community/yet-another-cloudwatch-exporter を参照してください。
regions:
- us-west-1 # クラウドプロダクトのリージョン。
searchTags: # マネージドサービス for Prometheus に書き込まれるクラウドプロダクトインスタンスのタグ。
- key: scrapedEnable
value: ^(ali)$
metrics: # スクレイプするメトリックのリスト。CloudWatch にメトリックを公開する AWS サービスについては、https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html を参照してください。次の例では、EC2 メトリックを収集します。他のプロダクトのパラメータも同様に設定します。
- name: CPUUtilization
statistics: # 統計集計方法。AWS ドキュメントにも記載されています。
- Average
- Minimum
- Maximum
period: 60
length: 600
- name: DiskReadOps
statistics:
- Sum
- Average
- Minimum
- Maximum
period: 60
length: 600
- name: DiskWriteOps
statistics:
- Sum
- Average
- Minimum
- Maximum
period: 60
length: 600
- name: DiskReadBytes
statistics:
- Sum
- Average
- Minimum
- Maximum
period: 60
length: 600
2. ダウンロード し、Helm アプリケーションの最新バージョンをインストールします。
helm install -f values.yaml yace-exporter-cw ./prometheus-yet-another-cloudwatch-exporter-0.40.0.tgz -n aws-cloudwatch
または、オンラインでイメージをプルしてインストールします。
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install -f values.yaml yane-exporter-cw prometheus-community/prometheus-yet-another-cloudwatch-exporter -n aws-cloudwatch
手順 2: [Managed Service for Prometheus]
ARMS コンソール にログオンします。左側のナビゲーションウィンドウで、[統合管理] をクリックします。
ページの上部で、ACK クラスターが配置されているリージョンを選択します。[コンテナー サービス] タブで、対象の環境名をクリックします。
表示されるページで、[メトリックスクレイピング] タブをクリックします。次に、[デフォルトサービス検出] タブで、右側の [有効] をクリックします。
この機能が有効になると、システムはデフォルトで YACE メトリックをスクレイピングします。
をクリックして [自己監視] タブを選択すると、自動的に作成された
kubernetes-pods
という名前のスクレイピングタスクが表示されます。up
状態は、メトリックのスクレイピングが構成されていることを示します。
手順 3: メトリックを検証する
をクリックして、[メトリクスエクスプローラー] タブをクリックします。次に、aws_
で始まるメトリックが使用可能かどうかを確認します。
関連ステップ
Alibaba Cloud サービスを監視するの手順 3 と 4 に従って、アラートとダッシュボードを構成します。