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
620
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
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Bash Introduction
62gerente
615
220k
Mobile First: as difficult as doing things right
swwweet
225
10k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Everyday Curiosity
cassininazir
0
360
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Speed Design
sergeychernyshev
33
2.2k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
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
おわり