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
【NRUG : New Relic User Group@20210915】Prometheu...
Search
ta-dadadada
September 15, 2021
Technology
1
430
【NRUG : New Relic User Group@20210915】Prometheus を捨てない NewRelic の活用方法 / nrug_lt_20210915
ta-dadadada
September 15, 2021
Tweet
Share
More Decks by ta-dadadada
See All by ta-dadadada
【春のAWS コンテナ祭り】コンテナうまみつらみ〜Kubernetes初心者がEKSと格闘した1年を振り返る / aws_container_matsuri_20200320
tadadadada
10
2.3k
コンテナうまみつらみ〜Kubernetes初心者がEKSと格闘した1年を振り返る / container_umami_tsurami
tadadadada
4
3.2k
Other Decks in Technology
See All in Technology
単一Gitリポジトリから独立しました
lycorptech_jp
PRO
0
400
マルチテナント+マルチプロダクト SaaS への AI Agent の組み込み方
kworkdev
PRO
1
130
Flutterアプリを⾃然⾔語で操作する
yukisakai1225
0
210
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
370k
Drawing with LLMs
rist
0
250
Kafka vs. Pulsar: Performance Evaluation by Petabyte-Scale Streaming Platform Providers
lycorptech_jp
PRO
1
350
バクラクのモノレポにおける AI Coding のための環境整備と {Roo,Claude} Code活用事例 / AI Coding in Bakuraku's Monorepo: Environment Setup & Case Studies with {Roo, Claude} Code
upamune
8
5.3k
データベースの引越しを Ora2Pg でスマートにやろう
jri_narita
0
190
基調講演: 生成AIを活用したアプリケーションの開発手法とは?
asei
1
110
AIコーディング新時代を生き残るための試行錯誤 / AI Coding Survival Guide
tomohisa
8
11k
SwiftUI Transaction を徹底活用!ZOZOTOWN UI開発での活用事例
tsuzuki817
1
710
上長や社内ステークホルダーに対する解像度を上げて、より良い補完関係を築く方法 / How-to-increase-resolution-and-build-better-complementary-relationships-with-your-bosses-and-internal-stakeholders
madoxten
13
6.8k
Featured
See All Featured
KATA
mclloyd
29
14k
Why Our Code Smells
bkeepers
PRO
337
57k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
It's Worth the Effort
3n
184
28k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Designing for Performance
lara
609
69k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building Applications with DynamoDB
mza
95
6.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Adopting Sorbet at Scale
ufuk
77
9.4k
Unsuck your backbone
ammeep
671
58k
Transcript
Prometheus を捨てない NewRelic の活用方法 (株)いい生活 多田 吉克@ta_dadada NRUG LT 2021.09.15
1
自己紹介 多田 吉克(Tada Yoshikatsu ) 所属:(株)いい生活 物件流通プラットフォーム本部 on EKS でサーバAPI
の開発〜インフラ運用まで全般を担当 プロダクトローンチからしばらくは Prometheus + Grafana & NewRelic を手運用 していたが、しばらくして NewRelic を導入した 2
(株)いい生活 不動産業向けに統合型業務支援 クラウド・SaaS を中心に提供 (BtoB ) HP 作成サービス(CMS )など一 部のプロダクトでは(間接的
に) toC も提供 3
Talk Theme APM + Infra/Middleware Metrics をいい感じに NewRelic で統合するためのアイデア 自前構築から
NewRelic 中心 の監視系に変えてきた 特にメトリクスの取り扱い方について 今 の考えをお話します 4
前提 監視の中心は APM に任せる サービスの品質をリッチに書き出すのに非常に役立つツール APM だけでは不足する情報をどうやって付け足していくか 5
APM に足りないもの アプリケーションの外側のメトリクス インフラメトリクス CPU 、Mem 、ネットワーク転送量 ミドルウェアメトリクス ロードバランサー(リクエスト成功数など) DB
(CPU 、 Mem など) 6
案1 :NewRelic に全てお任せする NewRelic Infrastructure Agent with On-host integrations NewRelic
で全て完結 クラウド含めた多くのインフラメトリクスやミドルウェアについてはカバーでき る 7
案2 :Prometheus (Exporter) を利用する Prometheus + Prometheus Integrations / Prometheus
OpenMetrics integration メトリクスの収集は Prometheus で行い、データは NewRelic に蓄積する 8
Prometheus 的メトリクスを NewRelic に送信する Prometheus remote write integration Prometheus の
remote write 機能の送信先として NewRelic を指定できる Prometheus を自前でホストする必要あり Prometheus OpenMetrics integration(nri-prometheus) Agent 自身がメトリクスを収集して NewRelic に送信する Prometheus をホストする必要はない 9
メトリクス収集を Prometheus に寄せるメリット 大抵のミドルウェアでは Prometheus Metrics 形式(OpenMetrics 形式)での metrics-exporter が
OSS として公開されており流用できる NewRelic On-host integrations でも基本的なところは抑えられているのでそ の意味では十分かも 監視以外の用途に Prometheus を使う メトリクスストアとして活用して、オートスケールに利用する 保管場所に応じたメトリクスの解像度を調節できる <= 今日の趣旨 10
メトリクスの解像度問題 「モダンなシステム」にするほどメトリクスは増える 多種多様なクラウドリソース マイクロサービス化によるアプリケーションの絶対数の増加 サービスメッシュによる proxy サーバ の増加 さらに exporter
は「要るのかわからない」大量のメトリクスを出力する 自前運用の監視系でこれを捌き切るにはチームの体力が相当必要 外部(NewRelic )に任せるにしてもそれなりにコストはかかる とはいえ、取捨選択は「やってみないとわからない」 11
全てのメトリクスが半永久的に必要か? TPO によって求められるメトリクスの解像度は変わる トラブルシュートなどでは、5s 毎の詳細なメトリクスで瞬間を捉えたい 普段の監視やトレンド確認では、ある程度サマリされた結果でも良いので中長期 的にふりかえりたい 例)SLI として1 分ごとのエラーレートを計測する
12
一旦 Prometheus を介す or Prometheus でも収集す る Prometheus では全てのメトリクスを高解像度で取得する Grafana
で可視化して必要なときに見る data retention は短めに取って運用負荷を抑える NewRelic には選択的に、あるいはサマリを送信して中長期的に保持してもらう 13
NewRelic への送信 NewRelic への送信メトリクスを調整する 種類を絞る スクレイプ頻度を調整する 必要となったものは逆に足す 副次的な効果 使わないデータに対して余計な費用をかけずに済む NewRelic
API の rate-limit を回避 14
まとめ APM と Prometheus を組み合わせて使う方法についてお話しました Prometheus は便利だが、それだけで完結するには努力が必要 NewRelic をうまく活用していいとこ取りをする 必要なデータを必要な場所に送ると効率が良い
15
Join us! 16