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を追加したタスクを実行して監視を開始します。
動作しない場合はタスクのログを参照してください。