AWS ECS¶
Amazon ECS は、アマゾン ウェブ サービスの Fargate サーバーレスコンピューティングエンジンと統合されており、Guance でサービスの稼働状況を監視します。
設定¶
Func のインストール¶
Guance の統合 - 拡張 - マネージド版 Func の有効化を推奨します。前提条件はすべて自動でインストールされるので、そのままスクリプトのインストールを続けてください
Func を自分でデプロイする場合はFunc を自分でデプロイする
スクリプトの有効化¶
ヒント:要件を満たす Amazon AK を事前に用意してください(手早く済ませるなら、グローバルの読み取り専用権限
ReadOnlyAccessを直接付与できます)
マネージド版有効化スクリプト¶
- Guance コンソールにログインする
- 【統合】メニューをクリックし、【クラウドアカウント管理】を選択する
- 【クラウドアカウントを追加】をクリックし、【AWS】を選択して画面に必要な情報を入力する。以前にクラウドアカウント情報を設定している場合は、この手順は省略する
- 【テスト】をクリックし、成功したら【保存】をクリックする。テストに失敗した場合は、関連する設定情報が正しいか確認してから再度テストする
- 【クラウドアカウント管理】一覧で追加済みのクラウドアカウントを確認できる。該当のクラウドアカウントをクリックして詳細ページに入る
- クラウドアカウント詳細ページの【統合】ボタンをクリックし、
未インストール一覧からAWS ECSを見つけて【インストール】ボタンをクリックすると、インストール画面が表示されるのでそのままインストールする
手動有効化スクリプト¶
-
Func コンソールにログインし、【スクリプトマーケット】をクリックして Guance スクリプトマーケットに入り、
integration_aws_ecsを検索する -
【インストール】をクリックしたあと、必要なパラメータとして AWS AK ID、AK Secret、およびアカウント名を入力する
-
【デプロイして起動】をクリックすると、システムが自動で
Startupスクリプトセットを作成し、対応する起動スクリプトを自動設定する -
有効化後、「管理 / 自動トリガー設定」で対応する自動トリガー設定を確認できる。【実行】をクリックすると、定期実行を待たずにすぐ一度実行できる。少し待ってから、実行タスクの記録と対応するログを確認できる
検証¶
- 「管理 / 自動トリガー設定」で、対応するタスクに対応する自動トリガー設定が存在するか確認し、あわせてタスク記録とログを確認して異常がないかチェックする
- Guance の「インフラストラクチャ / カスタム」でアセット情報が存在するか確認する
- Guance の「メトリクス」で対応する監視データがあるか確認する
メトリクス¶
Amazon CloudWatch を設定すると、デフォルトのメトリクスセットは次のとおりです。設定により、さらに多くのメトリクスを収集できます Amazon CloudWatch メトリクスの詳細
インスタンスメトリクス¶
AWS/ECS 関連のメトリクス。
| メトリクス | 説明 |
|---|---|
CPUUtilization |
サービスの CPU 使用率(ClusterName と ServiceName でフィルタリングされるメトリクス)は、サービスに属するタスクが使用する総 CPU 単位数を、そのサービスに属するタスク用に予約された総 CPU 単位数で割って算出します。サービス CPU 利用率メトリクスは、Fargate および EC2 起動タイプのタスクで使用されます。単位:パーセント |
MemoryUtilization |
サービスのメモリ使用率(ClusterName と ServiceName でフィルタリングされるメトリクス)は、サービスに属するタスクが使用する総メモリ量を、そのサービスに属するタスク用に予約された総メモリ量で割って算出します。サービスメモリ利用率メトリクスは、Fargate および EC2 起動タイプのタスクで使用されます。単位:パーセント |
オブジェクト¶
収集された AWS ECS オブジェクトのデータ構造です。「インフラストラクチャ-カスタム」でオブジェクトデータを確認できます
{
"measurement": "aws_ecs",
"tags": {
"RegionId": "cn-northwest-1",
"clusterArn": "arn:aws-cn:***",
"clusterName": "Harry_NodeJs",
"name": "Harry_NodeJs",
"status": "ACTIVE"
},
"fields": {
"activeServicesCount": 1,
"configuration": "{}",
"message" : "{インスタンス JSON データ}",
"pendingTasksCount": 0,
"registeredContainerInstancesCount": 0,
"runningTasksCount": 1,
"statistics": "[]"
}
}
注意:
tags、fieldsの中のフィールドは、今後の更新で変更される場合があります