Enviar pesquisa
Carregar
Grafana Dashboards as Code
•
3 gostaram
•
19,502 visualizações
T
Takuhiro Yoshida
Seguir
2019.6.3 Prometheus Tokyo Meetup #2
Leia menos
Leia mais
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 18
Baixar agora
Baixar para ler offline
Recomendados
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
Recomendados
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~
Masahito Zembutsu
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
kube-system落としてみました
kube-system落としてみました
Shuntaro Saiba
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
FIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH Comet
fisuda
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
NTT DATA Technology & Innovation
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
Kohei Tokunaga
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Kohei Tokunaga
【プライム・ストラテジー】ローカルLLMを複数組み合わてみた(インフラエンジニアのためのChatGPT入門LT)
【プライム・ストラテジー】ローカルLLMを複数組み合わてみた(インフラエンジニアのためのChatGPT入門LT)
icebreaker4
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
NTT DATA Technology & Innovation
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
NTT DATA Technology & Innovation
containerdの概要と最近の機能
containerdの概要と最近の機能
Kohei Tokunaga
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
Yoshitaka Seo
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Jumpei Ogawa
Mais conteúdo relacionado
Mais procurados
Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~
Masahito Zembutsu
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
kube-system落としてみました
kube-system落としてみました
Shuntaro Saiba
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
FIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH Comet
fisuda
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
NTT DATA Technology & Innovation
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
Kohei Tokunaga
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Kohei Tokunaga
【プライム・ストラテジー】ローカルLLMを複数組み合わてみた(インフラエンジニアのためのChatGPT入門LT)
【プライム・ストラテジー】ローカルLLMを複数組み合わてみた(インフラエンジニアのためのChatGPT入門LT)
icebreaker4
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
NTT DATA Technology & Innovation
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
NTT DATA Technology & Innovation
containerdの概要と最近の機能
containerdの概要と最近の機能
Kohei Tokunaga
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
Mais procurados
(20)
Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
kube-system落としてみました
kube-system落としてみました
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
DockerとPodmanの比較
DockerとPodmanの比較
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
FIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH Comet
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
【プライム・ストラテジー】ローカルLLMを複数組み合わてみた(インフラエンジニアのためのChatGPT入門LT)
【プライム・ストラテジー】ローカルLLMを複数組み合わてみた(インフラエンジニアのためのChatGPT入門LT)
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
containerdの概要と最近の機能
containerdの概要と最近の機能
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Semelhante a Grafana Dashboards as Code
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
Yoshitaka Seo
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Jumpei Ogawa
Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発
Yuki Hattori
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Daisuke Masubuchi
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
Kiyoshi SATOH
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Preferred Networks
Djangoフレームワークの紹介
Djangoフレームワークの紹介
Shinya Okano
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
kenjis
Tekton 入門
Tekton 入門
Mamoru Shimizu
Play2 scalaを2年やって学んだこと
Play2 scalaを2年やって学んだこと
dcubeio
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
Kohei KaiGai
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
Tomomi Imura
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe
msgraph: Terraform provider for Microsoft Graph
msgraph: Terraform provider for Microsoft Graph
yaegashi
20120118 titanium
20120118 titanium
Hiroshi Oyamada
Wasm blazor and wasi 2
Wasm blazor and wasi 2
Takao Tetsuro
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターン
Yoichiro Tanaka
Jetpack Library 事始め
Jetpack Library 事始め
Tomohiro Kaizu
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
株式会社MonotaRO Tech Team
Semelhante a Grafana Dashboards as Code
(20)
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Djangoフレームワークの紹介
Djangoフレームワークの紹介
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
Tekton 入門
Tekton 入門
Play2 scalaを2年やって学んだこと
Play2 scalaを2年やって学んだこと
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
msgraph: Terraform provider for Microsoft Graph
msgraph: Terraform provider for Microsoft Graph
20120118 titanium
20120118 titanium
Wasm blazor and wasi 2
Wasm blazor and wasi 2
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターン
Jetpack Library 事始め
Jetpack Library 事始め
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
Grafana Dashboards as Code
1.
Prometheus Tokyo Meetup
#2 2019/6/3 Takuhiro Yoshida <takuhyos@zlab.co.jp> Grafana Dashboards as Code
2.
▶「第8章 アプリケーションを運⽤する」 + 8.2
メトリクスモニタリング ▶Kubernetes環境でのPrometheus/ Grafanaの利⽤について解説 広告⚠ + +
3.
本⽇のテーマ: Grafanaのダッシュボードをどう管理するか?
4.
Dashboards as JSON
5.
Dashboards as JSON{ … "panels":
[ { … "id": 2, "legend": { …. } "targets": [ { "expr": "count(kube_deployment_created) by (namespace)", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{namespace}}", "refId": "A" } ], … "title": "Number of deployment count by namespace", … Export Import/Provisioning
6.
GitOps ☺ JSON { … }Export Commit/Push JSON { … } Import/Provisioning #
7.
▶ 監視対象が増えると同じようなグラフを作ることが多い + e.g.
HTTPリクエストのリクエスト数/エラー数/レイテンシ ▶ UIでの複製が⾯倒 ▶ 後で修正を反映するのが⼤変 Duplicate 🤔
8.
▶ メタデータが多く重要な差分が分かりづらい Review 😢
9.
Dashboards as Jsonnet
10.
Jsonnet ▶ https://jsonnet.org/ ▶ JSON形式の設定ファイルを⽣成するためのテンプレーティング⾔語 ▶
JSON + 変数、算術演算、関数、import式など ▶ JSONのスーパーセット + 通常のJSONはJsonnetファイルとして扱える 出典: https://jsonnet.org/
11.
Grafonnet ▶ https://github.com/grafana/grafonnet-lib ▶ Grafanaダッシュボードを⽣成するためのJsonnetライブラリ ▶
Grafanaのダッシュボードやパネルを表すJSONを⽣成するためのJsonnet関数を 提供 ▶ GrafanaのJSONを⽣成できる類似のツール + grafanalib + https://github.com/weaveworks/grafanalib + Python製
12.
Dashboards as Jsonnet local
grafana = import 'grafonnet/grafana.libsonnet'; local dashboard = grafana.dashboard; local graphPanel = grafana.graphPanel; local prometheus = grafana.prometheus; local resourcePanel(resource) = graphPanel.new( title='Number of %s count by namespace' % resource, datasource='prometheus', ).addTarget( prometheus.target( expr='count(kube_%s_created) by (namespace)' % resource, legendFormat='{{namespace}}', ) ); local gridPos = { x: 0, y: 0, w: 24, h: 8, }; dashboard.new( 'grafonnet: Kubernetes resource count', ) .addPanel(resourcePanel('deployment'), gridPos) .addPanel(resourcePanel('daemonset'), gridPos) .addPanel(resourcePanel('job'), gridPos) .addPanel(resourcePanel('cronjob'), gridPos) .addPanel(resourcePanel('pod'), gridPos) .addPanel(resourcePanel('configmap'), gridPos) .addPanel(resourcePanel('secret'), gridPos) .addPanel(resourcePanel('service'), gridPos) .addPanel(resourcePanel('endpoint'), gridPos) ▶ import式で別ファイルの関数を使える + Grafonnet(grafana.libsonnet)を利⽤ ▶ 共通部分を関数として定義可能 + PromQLの⼀部(メトリクス名、ラベル) を引数で置換 ① ① ② ② ③ ③ 例: Kubernetesのリソース数を種類ごとに表示するダッシュボード
13.
GitOps ☺ Jsonnet { … } Commit/Push JSON { … } Import/Provisioning JSON { … }Generate Jsonnet { … } #
14.
Duplicate ☺ local grafana
= import 'grafonnet/grafana.libsonnet'; local dashboard = grafana.dashboard; local graphPanel = grafana.graphPanel; local prometheus = grafana.prometheus; local resourcePanel(resource) = graphPanel.new( title='Number of %s count by namespace' % resource, datasource='prometheus', ).addTarget( prometheus.target( expr='count(kube_%s_created) by (namespace)' % resource, legendFormat='{{namespace}}', ) ); local gridPos = { x: 0, y: 0, w: 24, h: 8, }; dashboard.new( 'grafonnet: Kubernetes resource count', ) .addPanel(resourcePanel('deployment'), gridPos) .addPanel(resourcePanel('daemonset'), gridPos) .addPanel(resourcePanel('job'), gridPos) .addPanel(resourcePanel('cronjob'), gridPos) .addPanel(resourcePanel('pod'), gridPos) .addPanel(resourcePanel('configmap'), gridPos) .addPanel(resourcePanel('secret'), gridPos) .addPanel(resourcePanel('service'), gridPos) .addPanel(resourcePanel('endpoint'), gridPos) ▶ 関数、importで共通化 ▶ 複製したグラフも⼀括修正可能
15.
Review ☺ ▶ 差分も重要な部分だけでわかりやすい
16.
まとめ
17.
Dashboards as Code ▶
Grafanaのダッシュボードはコードで管理すると便利 + GitOps ▶ Jsonnet/Grafonnetを使うことでグラフの複製やレビュー効率を改善 + グラフや設定の共通化 + わかりやすい差分
18.
▶ Qiita + 「Dashboards-as-Code:
Grafanaダッシュボードをコードから⽣成する」 + https://qiita.com/takuhiro/items/eb79ec17a667faba8be2 Thank you !
Baixar agora