Amazon ECS(default, bridge, host, noneネットワークモード)にmackerel-container-agentをセットアップする
Amazon ECS(default, bridge, host, noneネットワークモード)におけるmackerel-container-agentのセットアップ手順です。
注意
mackerel-container-agent v0.1.0以降では、こちらの手順は非推奨となります。 Amazon ECSにmackerel-container-agentをセットアップするをご覧ください。
課金に関する注意事項
1つのタスクに対して1マイクロホストがMackerelに登録されます。有料プランの場合は課金が発生しますのでご注意ください。詳しくはFAQ・ホスト数の計算方法についてをご覧ください
サポートするネットワークモード
こちらの手順ではつぎのECSのネットワークモードが対象となります。
- default
- bridge
- host
- none
awsvpcネットワークモードを利用する場合はFargate, ECS(awsvpcネットワークモード)にmackerel-container-agentをセットアップするの手順を参考にしてください。
動作条件
mackerel-container-agentコンテナ内のユーザーはroot(uid=0)である必要があります。 コンテナ内のユーザーを変更している場合ご注意ください。
タスク定義にコンテナを追加する
監視したいタスク定義にmackerel-container-agentコンテナを追加します。
ボリュームの追加
mackerel-container-agentで利用するボリュームを追加します。 タスク定義の「ボリュームの追加」から、つぎのボリュームを追加してください。
| 名前 | ソースパス |
|---|---|
| cgroup | /cgroup (AL2の場合: /sys/fs/cgroup) |
| docker_sock | /var/run/docker.sock |
コンテナの追加
タスク定義の「コンテナの追加」から、下記の設定でmackerel-container-agentを追加してください。
| 項目 | 値 |
|---|---|
| コンテナ名 | mackerel-container-agent |
| イメージ | mackerel/mackerel-container-agent:latest |
| メモリ制限 | ハード制限: 128 |
| マウントポイント (ソースボリューム: コンテナパス) | cgroup: /host/sys/fs/cgroup docker_sock: /var/run/docker.sock どちらも読み取り専用にチェックしてください |
| 環境変数(キー: 値) | MACKEREL_CONTAINER_PLATFORM: ecs MACKEREL_APIKEY: Mackerel APIキー |
ロールやプラグインを利用する場合はこちらの「エージェント設定」も参照してください。
CloudFormationテンプレート例(YAML)
TaskDefinition:
Type: AWS::ECS::TaskDefinition
Properties:
Volumes:
- Name: cgroup
Host:
SourcePath: /cgroup
- Name: docker_sock
Host:
SourcePath: /var/run/docker.sock
ContainerDefinitions:
- Name: alpine
Image: alpine:latest
Memory: 64
EntryPoint:
- sh
- -c
Command:
- "/bin/sh -c \"while true; do sleep 1; done\""
Essential: true
- Name: mackerel-container-agent
Image: mackerel/mackerel-container-agent:latest
Memory: 128
MountPoints:
- SourceVolume: cgroup
ContainerPath: /host/sys/fs/cgroup
ReadOnly: true
- SourceVolume: docker_sock
ContainerPath: /var/run/docker.sock
ReadOnly: true
Environment:
- Name: MACKEREL_CONTAINER_PLATFORM
Value: ecs
- Name: MACKEREL_APIKEY
Value: <YOUR_MACKEREL_APIKEY>
Essential: false監視を開始する
mackerel-container-agentを追加したタスクを実行して監視を開始します。
動作しない場合はタスクのログを参照してください。