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
Grafana as Code - Terraformによるダッシュボードとアラートの構成管理...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kazue
November 13, 2025
Technology
30
0
Share
Grafana as Code - Terraformによるダッシュボードとアラートの構成管理 @ HashiTalks:Japan 2025
kazue
November 13, 2025
More Decks by kazue
See All by kazue
AI駆動開発に向けた新しいエンジニアマインドセット
kazue
0
960
わかる!Hashicorp Waypoint | HashiTalks: Japan2023
kazue
0
1k
シングルテナント構成のSaaSのIaCにTerraform Workspacesを導入してみた
kazue
1
2.3k
RDS Proxy, Amazon Kendra, Amazon CodeGuruの紹介 #cmregrowth #reinvent
kazue
0
1.9k
AuroraかRDSどちらを選ぶべきか | Developers.IO 2019 in OSAKA
kazue
0
190k
Codeシリーズで始めるはじめてのCI/CD
kazue
1
550
AKIBA.AWS#14 Terraform v0.12
kazue
0
1.9k
Other Decks in Technology
See All in Technology
AI対話分析の夢と、汚いデータの現実 Looker / Dataplex / Dataform で実現する品質ファーストな基盤設計
waiwai2111
0
620
データモデリング通り #5オンライン勉強会: AIに『ビジネスの文脈』を教え込むデータモデリング
datayokocho
0
290
既存プロダクトQAから新規プロダクトQAへ
ryotakahashi
0
160
PdM・Eng・QAで進めるAI駆動開発の現在地/aidd-with-pdm-eng-qa
shota_kusaba
0
250
[みん強]AIの価値を最大化するデータ基盤戦略:Self-Service型Data Meshへの転換とAgentic AI Meshに向けた取り組み with Snowflake他
y_matsubara
1
100
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
6
2k
GCASアップデート(202603-202605)
techniczna
0
210
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.5k
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
230
O'Reilly Infrastructure & Ops Superstream: Platform Engineering for Developers, Architects & the Rest of Us
syntasso
0
230
AIAgentと取り組むKaggle
508shuto
2
140
AWSアップデートから考える継続的な運用改善
toru_kubota
2
300
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
22k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
380
KATA
mclloyd
PRO
35
15k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
390
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
200
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Claude Code のすすめ
schroneko
67
220k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
120
GitHub's CSS Performance
jonrohan
1033
470k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
280
Transcript
None
クラスメソッド株式会社 産業支援グループ 製造ビジネステクノロジー部 エンジニア(バックエンド・インフラ) Terraform > EKS(k8s) > 生成AI(Bedrock), サーバーレス(AWS)
Hashicorp Ambassador 2023〜2025 ブログ: https://dev.classmethod.jp/author/kazue-masaki/ 自己紹介: Masaki Kazue (かずえ)
Grafanaリソース(ダッシュボード、アラート)をTerraformを用いて構成管理する際 の、具体的なTips 注意事項 2024年1月〜4月頃に実施したので、情報が古い部分があるかもしれません 本セッションで話すこと 3
1. Grafanaとは 2. プロジェクト背景 3. Terraformを選んだ理由 4. ダッシュボード編 5. アラート編
6. まとめ 目次 4
None
メトリクス、ログ、トレースなどのデータを可視化するためのオープンソースの監視・ 分析プラットフォームです。 主な特徴 多様なデータソースに対応: Prometheus、Elasticsearch、CloudWatch、MySQL など 柔軟なダッシュボード: グラフ、テーブル、ヒートマップなど、様々な形式でデータ を可視化 アラート機能:
Slack、PagerDuty、メールなど様々なチャネルに通知 クエリエディタ: データソースごとに最適化されたクエリエディタを提供 Grafanaとは 6
参考: https://grafana.com/ja/grafana/
None
k8s(EKS)上でアプリケーションを稼働 k8sスタックにおける監視・可視化のデファクトスタンダードである Prometheus + Grafana を採用 AWSのマネージドサービス、Amazon Managed Service for
Prometheus(AMP), Amazon Managed Grafana (AMG) を採用 Grafanaのversionは9.4 EKS AMP AMG メトリクス送信 クエリ アプリケーション 基盤 メトリクス保存 可視化 プロジェクト背景 9
当初: 構成管理ツールを使わず、UIから各種Grafanaダッシュボードを作成していた アラート追加時に以下を実現したいと考え、構成管理ツール導入を検討 変更履歴を残したい 別環境への横展開(Dev→Stg→Prod)を容易にしたい 構成管理ツール導入の背景 10
None
Terraformの経験はすでに十分あった GrafanaやPrometheus(PromQL)には初挑戦 → 構成管理ツールまで未経験のものを採用するのは辛い Grafanaリソースの構成管理ツールとして、他により強い候補が見当たらなかった Grizzly: アラート系リソースが(おそらく)未対応だった(現在は対応済) Grafonnet: experimentalだった(2025/11現在でも依然experimental) Terraformを選んだ理由
12
None
前述の通り、すでにダッシュボードはあった grafanaのダッシュボードはJSONで構造化されており、UIでそのJSONを確認でき る このJSONを使ってterraformリソースとしてはダッシュボード ( grafana_dashboard )のみを定義する Tips1: UIで作り込んで、Terraformに取り込む 14
クエリのテスト PromQLの動作確認が即座にできる 視覚的フィードバック グラフの見た目をリアルタイムで確認できる UIの方が効率的な理由 15
1. GrafanaのUIでダッシュボードを作成 2. 動作を確認 3. UIでJSONモデルを表示、コピー 4. JSONファイルとして保存 5. grafana_dashboard
の config_json にJSONファイルを指定 resource "grafana_dashboard" "main" { folder = var.folder_uid config_json = file("${path.module}/json/main-dashboard.json") overwrite = true } フロー 16
(UIではなく、 )Terraformで作り込むのはつらい 17
Grafanaのダッシュボード定義JSONには、環境固有のIDが含まれることがあり、こ れが複数環境での管理を困難にします。 問題となる要素 datasource UID(unique ID): "datasource": {"uid": "abc123xyz"} Tips2:
JSON内に固有ID値が入らないようにする 18
# 環境固有のUIDを直接参照 "datasource": { "type": "prometheus", "uid": "abc123xyz" } #
環境間で共通のname を指定 "datasource": "AMP" 対策: データソース参照を名前ベースにする 19
GrafanaUIからコピーしたJSONをTerraformに組み込む前に、以下の正規表現変換を 実施 "datasource": \{\n( +)"type": "prometheus",\n( +)"uid": "[a-zA-Z]+"\n( +)\}, ↓
"datasource": "AMP", 正規表現での変換 20
None
Terraformで作成したアラート関連のリソースは、GrafanaのUI上で編集できなくな る (※ ダッシュボード系のリソースは可能) Tips3: Terraformで作ったリソースはUIで変更できない 22
provisioned ラベルが付いているリソースはUIから編集不可 編集ボタンも非表示 UIでの表示 23
手動変更による設定ドリフトを防ぐための仕様 各アラート系Grafanaリソースは、UI以外から作成した場合その作成方法 (Terraform,APIなど)の情報(provenance)を持っている 同じprovenanceからでないと編集できない なぜ編集できないのか 24
provenance? 参考: https://www.google.com/search?q=provenance+%E6%84%8F%E5%91%B3 25
disable_provenance = true を追加すれば可能、とドキュメントには書かれている 実は Terraform→UIはいけるらしいけど? 参考: https://grafana.com/docs/grafana/latest/alerting/set-up/provision-alerting-resources/terraform-provisioning/#enable-editing-resources-in- the-grafana-ui 26
もしかして: AMG(Amazon Managed Grafana)ではできない? ドキュメントには disable_provenance についての言及は無く、 「UI編集不可」としか 書かれていなかった 実際に試したところできなかった
参考: https://docs.aws.amazon.com/ja_jp/grafana/latest/userguide/v9-alerting-setup-provision.html 27
terraform import コマンドや import ブロックが使用可能 ただしコード⇔実際のリソース間に差分があるとreplaceされる → 以降はUIで変更 不可 前述の
disable_provenance の値を true / false 変更しても挙動変わらず UI→Terraformはいけた 28
None
1. UIで作成→インポート の流れで効率化 2. 固有ID値を排除 して環境間の移植性を確保 3. Terraformで作ったアラートリソースはUIで変更不可 という制約を理解する まとめ
今回紹介したTips 30