Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
20250730 HatenaEnginnerSeminar34 otel collector...
Search
Ryo Sakamoto
July 29, 2025
610
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20250730 HatenaEnginnerSeminar34 otel collector helm chart
Ryo Sakamoto
July 29, 2025
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
320
30 Presentation Tips
portentint
PRO
1
390
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
520
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Being A Developer After 40
akosma
91
590k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Deep Space Network (abreviated)
tonyrice
0
300
Agile that works and the tools we love
rasmusluckow
331
22k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
620
Game over? The fight for quality and originality in the time of robots
wayneb77
1
270
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Transcript
EKSのメトリクスをMackerelに簡 単に送るためにOpenTelemetry CollectorのHelm Chartを作った 株式会社はてな id:rskmm0chang 2025/07/30 Hatena Engineer Seminar
#34 1
自己紹介 • id:rskmm0chang • プラットフォーム部システムプラットフォー ム Productivityチーム ◦ 全社的な生産性の改善への関わり 2
MackerelとEKSメトリクス 3 MackerelにKubernetes のメトリクスを送る
はてなにおけるEKS • ECSを使っているサービスが多いが、EKSも使っ ている ◦ https://developer.hatenastaff.com/entry/2024/02/2 9/112729 ◦ https://developer.hatenastaff.com/entry/2024/11/2 6/151801
4
MackerelのKubernetes対応 • Kubernetesにmackerel-container-agentをセットアッ プする ◦ https://mackerel.io/ja/docs/entry/howto/install -agent/container/kubernetes ▪ Pod単体には対応 •
MackerelにはKubernetes インテグレーションがない • Mackerel自体の機能だけではKubernetes全体のメトリ クスは見れない 5
MackerelとEKSメトリクス 6 OpenTelemetry Collector
• Kubernetesのメトリクスのほとんどに対応している ◦ Kubeletstats ◦ Kubernetes Cluster ◦ Kubernetes Objects
◦ Host Metrics • メトリクスのattributeにKubernetesのAttributeの付与 ◦ Kubernetes Attributes ▪ Pod名などをメトリクスに付与 7 OpenTelemetry CollectorのKubernetes 対 応
• なぜ Mackerel は OpenTelemetry のラベル付きメトリックをサ ポートするのか • 2024年11月、Mackerelのメトリックがオブザーバビリティ標準で あるOpenTelemetryに正式対応し、あわせて価格体系を全面的に
改定します • つまり、OpenTelemetry Collectorで収集したメトリクスを Mackerelに送ればKubernetesのモニタリングが可能 8 MackerelのOpen Telemetry対応
OpenTelemetryでMackerelに送る 9 App1 App2 OpenTelemetry Collector
OpenTelemetry Collectorの概念 10
OpenTelemetry Collectorの概念 11 Receivers: メトリクスを集める
OpenTelemetry Collectorの概念 12 Processors: メトリクスを加工する
OpenTelemetry Collectorの概念 13 Exporters: メトリクスを送る
OpenTelemetry Collectorの概念 14 Pipelines: Receivers, Processors, Exportersを繋げる
OpenTelemetryでMackerelに送る 15 App1 App2 OpenTelemetry Collector Receivers: メトリクスを集める
OpenTelemetryでMackerelに送る 16 App1 App2 OpenTelemetry Collector Processors: メトリクスを加工する
OpenTelemetryでMackerelに送る 17 App1 App2 OpenTelemetry Collector Exporters: メトリクスを送る
MackerelとEKSメトリクス 18 Helm Chart
Helm Chartとは • Kubernetesアプリケーションのパッケージング ◦ マニフェストのテンプレート集 • シンプルなデプロイと管理が可能になる ◦ Helmコマンドで管理する場合
• 再利用性と共有性 ◦ テンプレートなので配りやすい ◦ 一部の変数だけでカスタマイズできる 19
OpenTelemetry CollectorのHelm Chart • OpenTelemetry Collector ◦ Daemonset, Deploymentを直接デプロイする ◦
メトリクスの設定用にpresetsとしてよく使うもの(Kubeletstatsなど)が用意さ れています ▪ https://github.com/open-telemetry/opentelemetry-helm-charts/ blob/main/charts/opentelemetry-collector/values.yaml#L23 ◦ log, trace, metricsに対応 • OpenTelemetry Operator ◦ Operatorをデプロイ ◦ Custom Resource経由でcollectorをデプロイ 20
OpenTelemetry Collector Helm Chartの 微妙なところ 21 • presetsに追加や上書きなどができるが、書き方がとてもわ かりにくい ◦
Helm Chartのテンプレートを読まないとわからない • presetsを使わないこともできるが、そうするとすべてを自 分で記載することになり長くなる • つまり、presetsはほしいが簡単なカスタマイズ性がほしい • “公式”なので、使わない設定(log, traceなど)が多い
使いやすいHelm Chartを作った 22
Mackerelに送る 23
工夫したところ 24 presetは用意する
工夫したところ 25 presetの一部に追加・上書きできる
こんなことができる1 26 preset node_conditions_to_reportに追加
こんなことができる2 27 service.pipeline.exportersにprometheusを追加
Mackerel Dashboard 28
まとめ • OpenTelemetry Collectorを使えばMackerelに Kubernetesのメトリクスは送れる • Helm Chartを作って自分たちで使いやすいようにした ◦ 作成したChartはPublicにする予定
29
Appendix:Helm Chart Tips • Helm Chartを作るときはとりあえずhelm create ◦ 基本的な内容は作ってくれる •
Chart Development Tips and Tricks を読む ◦ https://helm.sh/docs/howto/charts_tips_and_tricks/ ◦ tplは便利(だけど壊れやすいので注意) ◦ annotationの設定 ▪ automatically-roll-deployments • Useful template functions for Go templates : sprig 30
Appendix:Helm Chart 公開 • 少し前はGithub Pagesでの公開が多かった ◦ 前からあるHelm Chartレポジトリはこれが多い ◦
準備がやや面倒 • Helm ChartはOCIに対応 ◦ コンテナレジストリに置ける ◦ 今回作成したHelm ChartはまずはECRで社内に公開 ◦ https://helm.sh/docs/topics/registries/ 31
おわり