Mackerelコンテナエージェントをちょっとだけ触りました
待望の機能がリリースされてたのでちょっとだけ試します
用意したもの
- Mackerel (しかもアンバサダーだよ!!!🌸😏🌸)
- AWS Fargate 一式
- なにかの検証で作って放置してたのを使いまわします
- https://hub.docker.com/r/kennethreitz/httpbin/
- お手軽に status 200 を用意するのによく使わせてもらっているやつ
起動する
Mackerel
タスクIDをホスト名としてタスク単位で登録される
設定項目にも見当たらないから手で入れるしかないのかな・・?
Fargate instance info
テーブルの一番右に気になるものがありました
Cluster arn:aws:ecs:ap-northeast-1:ACCOUNT_ID:cluster/test Task 32b720e1-b1f2-47e7-9b72-f8ae8ab30cee Task Family test Task Version 6 Task ARN arn:aws:ecs:ap-northeast-1:ACCOUNT_ID:task/32b720e1-b1f2-47e7-9b72-f8ae8ab30cee Containers Name: httpbin Docker Name: ecs-test-6-httpbin-809d8593fab9ddd29101 Docker ID: 8aab519510a34f27de12b330861c615b60277b2ae26f0f73c7cd36da249acce7 Name: ~internal~ecs~pause # なんだこれ Docker Name: ecs-test-6-internalecspause-d8c98efc81faf4d5a501 Docker ID: cfe07bc7071f847d01c7997016c6103af2e825303aeefb7cfac976faffbf3963 Name: mackerel-container-agent Docker Name: ecs-test-6-mackerel-container-agent-bcdab3c995fffaecc401 Docker ID: 2246210032f1f619fb81d418df2bcd38c84d01134660a8200787213d4cf3f254 Known status RUNNING Desired status RUNNING
httpbin が検証用につかっているstatus 200を返してくれるコンテナ、
mackerel-container-agent がコンテナエージェント、
~internal~ecs~pause は特に何か操作したものではありません
~internal~ecs~pause とは
ネットワークスタックとアプリケーションコンテナのコマンドが競合しないように まずECSエージェントがコンテナ開始前にpauseコンテナをタスクごとに作成する 次にCNIプラグインを実行してpauseコンテナの名前空間を用意し、 タスク定義内のコンテナを起動してpauseコンテナのネットワークスタックを共有する タスク定義内のすべてのコンテナがENIによるIPアドレスを指定でき、 localhostで通信することができることを表す
なるほど?
グラフ
CPU
一番Poorなスペックでこれ
コンテナエージェントが全然CPU消費してない👀
Memory
メモリも同様
だけどpauseコンテナが地味に存在感を出していて侮れないなぁ
Mackerelコンテナエージェントの
設定ファイルがWeb経由やS3配置で取れるのがおもしろくて
apikeyがなければGitHubに設定ファイル入れてRawで取得して使えそう🤔