Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Mackerel のコンテナ監視の近況 / Mackerel Meetup #13
Search
astj
PRO
October 23, 2019
Technology
2.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Mackerel のコンテナ監視の近況 / Mackerel Meetup #13
https://mackerelio.connpass.com/event/144889/
astj
PRO
October 23, 2019
More Decks by astj
See All by astj
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
560
Mackerel の時系列データベースにおける Redis Cluster の利用と Amazon ElastiCache への移行について / AWS Purpose-Built Databases Week
astj
PRO
3
6.1k
Observability: Mackerel による観測と Mackerel の観測 / NoOps Meetup Tokyo #8
astj
PRO
2
2.4k
サービス開発と健全なプロダクトメンテナンスを開発チームで持続的に取り組む / Developers Boost KANSAI
astj
PRO
1
1.5k
Mackerel and Stripe / Qiita x Stripe Meetup
astj
PRO
0
5.7k
Mackerel をオンプレミスから AWS に移してからの1年半を振り返る / Hatena Engineer Seminar #11
astj
PRO
0
1.3k
AWS で実現した Mackerel 時系列データ1分粒度長期保存の裏側 / Mackerel Meetup #11 Tokyo
astj
PRO
6
31k
稼働中の Web サービスの perl のバージョンを上げていく
astj
PRO
0
7.6k
Perl 6 で Web Application Framework をつくる
astj
PRO
0
4.8k
Other Decks in Technology
See All in Technology
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
3
890
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
560
生成 AI 時代にいま一度「問い合わせ」について考えてみる
kazzpapa3
1
100
穢れた技術選定について
watany
18
5.8k
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
3
450
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
130
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
1
230
DatabricksにおけるMCPソリューション
taka_aki
1
310
「最後に責任を取るのはチーム」— 人間のPRレビューを最小化してアップデートしたメンタルモデル
jnishime_dresscode
0
970
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
170
複数プロダクトで進めるAI機能実装 ── 実践から得たリアルな学びとロードマップ実現への挑戦 / AICon2026_yanari
rakus_dev
0
230
kaonavi Tech Night#1
kaonavi
0
130
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
Technical Leadership for Architectural Decision Making
baasie
3
440
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.4k
WCS-LA-2024
lcolladotor
0
730
Designing Powerful Visuals for Engaging Learning
tmiket
1
450
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
620
Transcript
1 Mackerel のコンテナ監視の近況 Mackerel Drink Up #9 Tokyo id:astj (Asato
Wakisaka)
2 • id:astj(あさとじぇー) ◦ Mackerel 開発チーム ◦ アプリケーションエンジニア ◦ テックリード
自己紹介
3 • mackerel-container-agent について ◦ 概要 ◦ 最近 (Meetup #13
~) のアップデート • ECS クラスター監視について 今日の話題
4 mackerel-container-agent Mackerel のコンテナ監視の近況
5 • コンテナ監視用の軽量エージェント ◦ mackerel-agent とは別のエージェントです • Amazon ECS と
Kubernetes に対応 • 1 タスク / 1 Pod ごとにひとつの「ホスト」 mackerel-container-agent
6 タスク / Pod をホストのように扱う container-agent でやること
7 • タスク / Pod を「ホスト」として登録 ◦ サービス・ロールの割り当て • リソース状況をメトリックとして投稿
◦ コンテナごとの CPU、メモリ、トラフィック ◦ => 受け取った Mackerel サーバー側で監視 • プラグインの実行 ◦ チェック監視、カスタムメトリックの投稿 container-agent でやること
8 container-agent でやること
9 container-agent でやること
10 container-agent でやること
11 • クラスタやノードの監視 ◦ ノードの情報: mackerel-agent ▪ 実行しているコンテナの情報: mackerel-plugin-docker ◦
クラスタの情報: ▪ ノード数、タスク/Pod数、… ▪ ECS の場合: AWS インテグレーション container-agent でやらないこと
12 • 監視対象のコンテナに横付け(Side-car) ◦ ECS: タスク定義 ◦ Kubernetes: Pod manifest
• ECS / K8s の metadata API から情報を取得 ◦ ECS: Task Metadata Endpoint v3 ◦ Kubernetes: kubelet API mackerel-container-agent
13 mackerel-container-agent
14 TaskDefinition: Type: AWS::ECS::TaskDefinition Properties: RequiresCompatibilities: - FARGATE NetworkMode: awsvpc
Memory: 512 Cpu: 256 ContainerDefinitions: - Name: app Image: ... - Name: mackerel-container-agent Image: mackerel/mackerel-container-agent:latest Memory: 128 Environment: - Name: MACKEREL_CONTAINER_PLATFORM Value: ecs - Name: MACKEREL_APIKEY Value: <YOUR_MACKEREL_APIKEY> Essential: false container-agent の設定 (ECS) 元々のタスク定義 サイドカーを追加
15 container-agent の設定 (ECS) - Name: app - Name: mackerel-container-agent
Image: mackerel/mackerel-container-agent:latest Memory: 128 Environment: - Name: MACKEREL_CONTAINER_PLATFORM Value: ecs - Name: MACKEREL_APIKEY Value: <YOUR_MACKEREL_APIKEY> Essential: false
16 最近のアップデート Mackerel のコンテナ監視の近況
17 正式版のリリース (2019/06) 最近のアップデート
18 2019/02 パブリックベータ (v0.0.1) 2019/06 正式版 (v0.1.0) 最新: v0.2.0 正式版のリリース
19 • 公式プラグイン入りのイメージ ◦ v0.0.5 より ◦ 一部含めていない公式プラグインもあります ▪ 含めてほしいプラグインがあればリクエストを!
機能追加・変更 % docker pull \ mackerel/mackerel-container-agent:plugins
20 • ECS 向けの設定が統一 (v0.1.0) ◦ 注意: ECS コンテナエージェント /
Fargate プラットフォームのバージョン 機能追加・変更 ecs, ecs_v3, ecs_awsvpc,fargate ecs
21 • S3 上の設定ファイルのポーリング (v0.2.0) ◦ 元々はシグナルによる再読み込みを実装 ◦ 設定によってポーリングも可能に ◦
再デプロイせず監視設定のみを変更可能 機能追加・変更
22 課金体系の変更 (2019/05~) 最近のアップデート
23 • before: ◦ 「ホスト」 ▪ 1台200メトリックまで 1800円/台 • after:
◦ 「スタンダードホスト」 ▪ 1台200メトリックまで 1800円/台 ◦ 「マイクロホスト」 ▪ 1台30メトリックまで 648円/台 課金体系の変更 ※2019/05当時のスタンダードプランの税込金額です。 現在は消費税増税に伴い金額を改定しています。
24 • タスク / Pod は「マイクロホスト」に • 殆どの場合1タスク/Pod = 1マイクロホスト
◦ (メトリック数が多くなる場合複数台換算) ▪ 非常に多くのコンテナを含む場合 ▪ プラグインを多数追加した場合 課金体系の変更
25 summary Mackerel のコンテナ監視の近況
26 • ECS/k8s 向けのコンテナ監視エージェント • タスク/Pod をホストのように扱います ◦ Mackerel 側でホストと同様に管理・監視
• タスク/Pod ごとにサイドカーを追加します mackerel-container-agent
27 • 5月から価格体系を改めています ◦ ご利用いただきやすくなりました • 6月に正式版をリリースしました ◦ ベータから機能追加・変更しています ◦
これからも機能追加を進めてゆきます mackerel-container-agent
28 • ぜひご利用ください! ◦ フィードバックもお待ちしています! mackerel-container-agent
29 ECS クラスターの監視 おまけ
30 • container-agent はタスクのモニタリング • ECS クラスターのモニタリング: ◦ mackerel-plugin-aws-ecs ◦
AWS インテグレーション <= NEW! ECS クラスターの監視
31 • 1クラスター = 1マイクロホスト • CloudWatch を元にメトリックを取得 ◦ クラスター全体でのリソース状況
▪ (CPU, メモリ) の (割り当て, 利用) ◦ サービスごとのリソース状況 ▪ タスク実行数 ▪ (CPU, メモリ) の (割り当て, 利用) AWS インテグレーション - ECS
32 • クラスター全体の情報が1「ホスト」に集約 • container-agent で取れない情報はあまりない ◦ 例: ロールの CPU
積み上げグラフ • 要件に応じて使い分けてご利用ください! ECS クラスターの監視