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
590
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
The SEO Collaboration Effect
kristinabergwall1
1
510
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
GitHub's CSS Performance
jonrohan
1033
470k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
430
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
ラッコキーワード サービス紹介資料
rakko
1
4.1M
The World Runs on Bad Software
bkeepers
PRO
72
12k
We Are The Robots
honzajavorek
0
290
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
340
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
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
おわり