Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ECS x Mackerel

ECS x Mackerel

詳しくはブログに!

「JAWS-UG コンテナ支部 #9」で「ECS x Mackerel」をテーマに LT をした
http://kakakakakku.hatenablog.com/entry/2017/07/22/174531

Yoshiaki Yoshida

July 21, 2017
Tweet

More Decks by Yoshiaki Yoshida

Other Decks in Technology

Transcript

  1. 吉田 慶章 @kakakakakku - Makuake : CyberAgent Crowd Funding, Inc.

    - DevOps エンジニア & サーバサイドエンジニア - エンジニアリングマネージャー - 趣味 : ブログ更新 - http://kakakakakku.hatenablog.com/ - 副業 : プログラミング講師
  2. Docker Container Instance ALB ECS Alarm Instance Auto Scaling Service

    Auto Scaling ( Dynamic Port Mapping ) Service ( AZ Balanced Spread ) Docker Container Instance
  3. カスタムメトリクス取得スクリプト #!/bin/sh if [ "${MACKEREL_AGENT_PLUGIN_META}" != "1" ];then for PORT

    in $(docker ps —format=‘{{.Ports}}' --filter name=xxxxx | cut -f1 -d- | cut -f2 -d:); do /usr/bin/mackerel-plugin-gostats -port ${PORT} -path=/stats -metric-key-prefix=gostats.${PORT} done else /usr/bin/mackerel-plugin-gostats -metric-key-prefix=gostats.# fi ( 今回は mackerel-plugin-gostats をサンプルにした ) docker ps の結果からポートを取得する カスタムメトリクスの プレフィックスにポートを付与する メタ情報
  4. 実は他にも検討した - mackerel-agent タスクを One Task Per Host で起動する -

    mackerel-agent タスクから, 同じコンテナインスタンスで
 動く他のタスクのメトリクスが取得できない - タスクと mackerel-agent タスクを link して起動する - 1 タスク 1 ホストで課金されると厳しい