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.7k
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
580
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.6k
Mackerel and Stripe / Qiita x Stripe Meetup
astj
PRO
0
5.8k
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.9k
Other Decks in Technology
See All in Technology
AIレビュー時代に必要なのは、SLOで引く撤退ライン
nobuoooo
0
160
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
5
1.1k
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
480
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
210
Digitization部 紹介資料
sansan33
PRO
2
7.8k
分割40%キーボードにスムーズに入門するには
hoto17296
1
210
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
510
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
25k
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
100
ClaudeCodeでセキュリティ監視業務を半自動化_1年の運用でわかったAIに任せる設計の5つのポイント
kintotechdev
4
1k
KAEN Company Deck
kaen
PRO
0
220
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
Tell your own story through comics
letsgokoyo
1
1.1k
Designing for Timeless Needs
cassininazir
1
460
New Earth Scene 8
popppiees
3
2.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
RailsConf 2023
tenderlove
30
1.5k
Mobile First: as difficult as doing things right
swwweet
225
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
590
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Thoughts on Productivity
jonyablonski
76
5.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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 クラスターの監視