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
20250730 HatenaEnginnerSeminar34 otel collector...
Search
Ryo Sakamoto
July 29, 2025
560
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
RailsConf 2023
tenderlove
30
1.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Context Engineering - Making Every Token Count
addyosmani
9
970
Design in an AI World
tapps
1
240
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Crafting Experiences
bethany
1
180
The Invisible Side of Design
smashingmag
302
52k
From π to Pie charts
rasagy
0
210
Building Flexible Design Systems
yeseniaperezcruz
330
40k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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
おわり