Slide 1

Slide 1 text

20分で完全に理解する Grafanaダッシュボード 1 濱⽥孝治(ハマコー)

Slide 2

Slide 2 text

2 About me 濱⽥孝治(ハマコー) • クラスメソッド株式会社 • 製造ビジネステクノロジー部 新規サービス チームマネージャー • 2017年9⽉⼊社〜 ex • AWS事業本部 ソリューションアーキテクト • CX事業本部 MAD事業部 • CX事業本部 VPoE • @hamako9999

Slide 3

Slide 3 text

3 ハマコーとGrafanaの関わり PLCによる⼯場デー タの可視化ソリュー ションとして、 Grafanaのダッシュ ボードを活⽤

Slide 4

Slide 4 text

4 最初に みなさんのGrafana歴を聞かせて下さい

Slide 5

Slide 5 text

5 みなさんのGrafana歴 • 1ヶ⽉未満 • 1ヶ⽉以上〜1年未満 • 1年以上〜3年未満 • 3年以上

Slide 6

Slide 6 text

6 みなさんのGrafana歴 • 1ヶ⽉未満 • 1ヶ⽉以上〜1年未満 • 1年以上〜3年未満 • 3年以上

Slide 7

Slide 7 text

7 みなさんのGrafana歴 • 1ヶ⽉未満 • 1ヶ⽉以上〜1年未満 • 1年以上〜3年未満 • 3年以上

Slide 8

Slide 8 text

8 みなさんのGrafana歴 • 1ヶ⽉未満 • 1ヶ⽉以上〜1年未満 • 1年以上〜3年未満 • 3年以上

Slide 9

Slide 9 text

9 みなさんのGrafana歴 • 1ヶ⽉未満 • 1ヶ⽉以上〜1年未満 • 1年以上〜3年未満 • 3年以上

Slide 10

Slide 10 text

10 本⽇のゴール Grafana歴が浅い⽅が ダッシュボードを作りたくて仕⽅がない うずうずした気持ちを 持ち帰ってもらう

Slide 11

Slide 11 text

11 Agenda • Grafanaのアーキテクチャ • Grafanaをどこで動かすか • Grafanaのダッシュボードの基礎を理解する • サンプルデータを使いダッシュボードを作ってみる • 皆さんの環境から実際にデータソースをつなげてみ る • 最後に

Slide 12

Slide 12 text

12 Grafanaのアーキテクチャ

Slide 13

Slide 13 text

分け⽅はいろいろあるが⼤きく4つ 13 Grafanaのアーキテクチャ コンポーネント 役割 Frontend • UI、ユーザーインタラクションの提供 • BackendとのRESTful APIによる通信 • TypeScript, React Backend • データ処理、認証、認可、ダッシュボード、ユーザー、組織、プラグインなどを管理 • データソースに対するクエリー機能を保持 • Go製のマイクロサービスアーキテクチャ DataSource • 可視化に必要なデータベース、クラウドサービス、モニタリングシステムなど幅広い データソースをサポート • 各データソースには、接続とクエリに必要な機能をプラグインで提供 Database • GrafanaのメタデータやダッシュボードのJSONデータを保持 • デフォルトではSQLiteを利⽤。MySQLやPostgreSQLなども利⽤可能

Slide 14

Slide 14 text

もう少し踏み込んだ解説はこちらがわかりやすい 14 Grafanaのアーキテクチャ https://www.kozhuhds.com/blog/an-easy-look-at-grafana-architecture/

Slide 15

Slide 15 text

15 なんとなく雰囲気はわかったから とりあえず始めてみますかね こういうのは手を動か してなんぼやろ というわけで

Slide 16

Slide 16 text

16 Grafanaをどこで動かすか

Slide 17

Slide 17 text

17 Grafanaをどこで動かすか OSSとして提供されており複数の⽅法が候補になる ref: https://grafana.com/docs/grafana/latest/

Slide 18

Slide 18 text

18 Grafanaをどこで動かすか 今回は初速を意識してGrafana Cloudを利⽤ ref: https://grafana.com/docs/grafana/latest/

Slide 19

Slide 19 text

19 Grafanaをどこで動かすか クラウドで利⽤する場合、Grafana Cloudが初速が楽 ⽅法 メリット デメリット Amazon Managed Grafana • マネージド提供されているので、インフラ気に しなくてよい • AWS課⾦で請求周辺で⼿間が無い • 初期セットアップのユーザー作成で⼿ 間がかかる(IAM Identity Center or SAML連携が必須) • 利⽤できるバージョンがOSSや、 Grafana Cloudに⽐べて古い • version8.4〜9.4(2024年4⽉23⽇現 在) コンテナをAWS App Runner上起動 • VPCとか意識せずにシュッとコンテナ起動でき る • AWS課⾦で⼿間がない • EFS対応してないので、メタデータ格 納には別途MySQLやPostgreSQLなど が必要 Grafana Cloud • セットアップはインフラプロビジョニング含め て5分程度 • クレジット情報の登録不要で14⽇間無制限トラ イアル • 14⽇経過後も無料範囲内でそのまま利⽤可能 • ほぼ最新のバージョンが使える • プラグインの導⼊に制限あり(導⼊で きるのはプラグインカタログにアップ ロードされたもののみ)

Slide 20

Slide 20 text

20 Grafana Cloud Free Foreverでできること クレジット登録無しで登録可能 • ALL Grafana Cloud features • Usage capped to Free tier limits • Community support only ref: https://grafana.com/pricing/ Monthly limits: •Metrics 10k metrics billable series, 14 days retention •Visualization 3 active users with Enterprise plugins •Logs, Traces, Profiles 50 GB each, 14 days retention •IRM 3 active users •Frontend Observability 50k sessions •k6 Performance testing 500 virtual user hours, 14 days retention

Slide 21

Slide 21 text

21 アカウント作成はすぐ終了 SSOなら2Stepで完了

Slide 22

Slide 22 text

22 Grafana Cloudでできること Grafana Cloudで始めるのは良い選択肢 • 最新のバージョンを最新の状態で使い続けることがで きる • ドキュメントとの整合性を気にしたり、使える機能、 使えない機能の過不⾜などで困ることがない • ベースを知っておけば、マネージドな環境での差分を 理解するのが早くなる • 将来的なプロダクション検討は別途すれば良い(主に 運⽤、料⾦⾯)

Slide 23

Slide 23 text

23 セットアップ終わったから ダッシュボード作ってみますか ほなやってくで というわけで

Slide 24

Slide 24 text

24 Grafanaのダッシュボードの 基礎を理解する

Slide 25

Slide 25 text

25 実際にやってみて感じたこと 早速触っても良いが アーキテクチャをある程度頭にいれたほうが 絶対効率が良い

Slide 26

Slide 26 text

26 ⾒るべきドキュメント 公式のここを必ず読む • Grafana dashboards overview • ダッシュボード関連の 下記コンポーネントの 関係が把握できる • DataSource, Panel, Transform, Query, Plugin https://grafana.com/docs/grafana-cloud/introduction/dashboards/

Slide 27

Slide 27 text

27 ダッシュボード関連のコンポーネント https://grafana.com/docs/grafana-cloud/introduction/dashboards/

Slide 28

Slide 28 text

28 ダッシュボード関連のコンポーネント(詳解) Data Source Plugin Query Transform

Slide 29

Slide 29 text

29 ダッシュボード関連のコンポーネント(詳解) Data Source Plugin Query Transform Data Source データで構成されるエンティティ。RDBやGrafana Loki、Gfarana Mimir、 JSONのAPI、CSVファイルなど様々な形式あり。 データソースはそれぞれ独⾃の構造を持ち、異なるクエリが必要とな るが、ダッシュボードでは、異なるデータソースを1つのビューで視覚 化できる

Slide 30

Slide 30 text

30 ダッシュボード関連のコンポーネント(詳解) Data Source Plugin Query Transform Plugin Pluginにより、Grafanaに新しい機能を追加可能。データソースプラグ インの場合は、クエリを受け取りデータソースからデータを取得し、 データソースとGrafanaダッシュボードのデータモデルとの差異を調整 すること。データフレームと呼ばれる、統⼀データ構造をもつ。

Slide 31

Slide 31 text

31 ダッシュボード関連のコンポーネント(詳解) Data Source Plugin Query Transform Query Queryにより、データを特定のデータセットに絞り込み視覚化を容易に する。システムや業務プロセスに関する疑問に応えるのに役⽴つ。デ ータソース毎に独⾃のQuery⾔語が必要になる。PromQLやLogQLや SQL等のクエリ⾔語を利⽤する。

Slide 32

Slide 32 text

32 ダッシュボード関連のコンポーネント(詳解) Data Source Plugin Query Transform Transform 視覚化の形式が要件を満たさない場合、クエリ結果を操作するために Transformを利⽤する。例えば、姓と名をあわせて姓名にする。CSV データのフィールドタイプの変換、クエリ⾔語がサポートしていない フィルタリング・結合・マージなどのSQLのような操作の実⾏などが可 能。

Slide 33

Slide 33 text

33 ダッシュボード関連のコンポーネント(詳解) Data Source Plugin Query Transform Panel 視覚化の最終化。データをどのように⾒たいかを指定する。例えば、 パネルの右上にあるドロップダウンメニューを使って、棒グラフ、円 グラフ、ヒストグラムなど、可視化のタイプを指定する。

Slide 34

Slide 34 text

34 準備運動は完了 テストデータでダッシュボードを 触ってみましょう ようやくか というわけで

Slide 35

Slide 35 text

35 サンプルデータを使い ダッシュボードを作ってみる

Slide 36

Slide 36 text

36 ダッシュボードを作るときに始めるコト 最初はサンプルデータを使うことを推奨 • 皆さんの運⽤環境の実データを利⽤してもよいが、おそらくダッシュ ボードそのものの設定で挫折する • Grafanaからサンプルデータやアプリが提供されているので、先にそち らを動かしながら、実際のダッシュボードの機能を体験して理解を深 めておく

Slide 37

Slide 37 text

37 ダッシュボードを作るときに始めるコト 最初はサンプルデータを使うことを推奨 • 皆さんの運⽤環境の実データを利⽤してもよいが、おそらくダッシュ ボードそのものの設定で挫折する • Grafanaからサンプルデータやアプリが提供されているので、先にそち らを動かしながら、実際のダッシュボードの機能を体験して理解を深 めておく サンプルで利⽤できるアプリとデータ ①Demo Data Dashboard ②TestData DataSource

Slide 38

Slide 38 text

38 ダッシュボードに関する公式マニュアル Use dashboards https://grafana.com/docs/grafana/latest/dashboards/use- dashboards/ Grafanaのメインコンポーネントの理解には、サンプルダッシュボードを みながら、ここを読み込んでいくのが⼀番理解が早いと感じる

Slide 39

Slide 39 text

39 【重要】公式マニュアルを読むときのTips Grafana⾃体の詳細な解説を知るときは、公式ドキュメントのGrafana Cloudではなく、Grafanaを読む • Grafana Cloud • https://grafana.com/docs/grafana-cloud/ • Cloud固有の話とGrafanaの概念や、デモデー タ、Getting Started的な内容が多い • Grafana • https://grafana.com/docs/grafana/latest/ • Grafana⾃体の詳細な機能を知るならこちら

Slide 40

Slide 40 text

40 ① Grafanaで⽤意されているデモ⽤App データソースとダッシュボードのビル トインとして提供されているデモApp • QuickPizza SRE Demo • システムヘルス、サブシステムごと のレスポンス、ビジネスメトリクス のダッシュボード等 • Weather Demo • リアルタイムワールドワイド天気情 報 Apps -> Demo Data Dashboardsで有効化

Slide 41

Slide 41 text

41 ① Grafanaで⽤意されているデモ⽤App Grafana Weather Demo Dashjboards > Overview[Celsius] 様々な形式のデータが Panelとして⽤意されてい る。ここから好きなPanel を編集してダッシュボード 編集をあれこれためしてみ ると、⼤体のことは把握で きる

Slide 42

Slide 42 text

42 ① Grafanaで⽤意されているデモ⽤App 気になるPanelのマウスオーバーからEditをクリック

Slide 43

Slide 43 text

43 ① Grafanaで⽤意されているデモ⽤App Panelの編集画⾯が起動するので、 ⼀つ⼀つ触りながら理解してみる

Slide 44

Slide 44 text

44 ② TestData Data source Grafanaから時系列データのサンプルデータが⽤意されている • Data sourceから[TestDate]で検索して追加 • 20種類以上のシナリオにそったデータ可視化とダッシュボー ドの作成が可能(クエリ・エディタの代わりに) • OSS環境などセルフホスティング環境への導⼊は、以下 GitHubを参照 • https://github.com/grafana/grafana/tree/main/devenv

Slide 45

Slide 45 text

45 ② TestData Data source • Dashboardsメニューから[New Dashboards] • [Add visualization] • Select DataSourceで[grafana-testdata-datasource]

Slide 46

Slide 46 text

46 ② TestData Data source • クエリを書くのではなく Pluginで定義されているシナ リオで設定していくので、パ ネルの編集としてはこちらの ほうがシンプル • Query以外のTransform data やAlaertの設定、Panelの設定 なども理解し易い

Slide 47

Slide 47 text

47 皆さんの環境から実際に データソースとしてつなげてみる

Slide 48

Slide 48 text

48 利⽤できるデータソース 公式が⽤意しているData source⼀覧を眺めて、⾃分の 環境からつなげると良さそうなものを探ってみる https://grafana.com/grafana/plugins/data-source-plugins/ AWS関連 • CloudWatch • Amazon Athena • Amazon Redshift • Amazon Timestream • AWS IoT SiteWise • CloudWatch Alarm • DynamoDB • X-Ray

Slide 49

Slide 49 text

49 利⽤できるDashboards データソースだけではない業務ユースケースに近いもの としてDashboardsのインポートも可能 https://grafana.com/grafana/dashboards/ Featured • Monitor your Kubernetes deployment • Visualize your MongoDB data • Visualize your Jira data • InfluxDB dashboards for telegraf metrics • Node Exporter Full • RabbitMQ-Overview • Erlnag-Memory-Allocators

Slide 50

Slide 50 text

50 Grafana利⽤の全体感 組織が関与しているあらゆるデータを組み合わせること で、有益な運⽤ができないかどうか、どんなユースケー スが考えられるか、改めて想像してみる ref: https://grafana.com/ja/

Slide 51

Slide 51 text

51 最後に

Slide 52

Slide 52 text

52 この資料を作りながら率直に感じたことを 皆さんにお伝えしたい

Slide 53

Slide 53 text

53 情報(主に⽇本語)が少ない

Slide 54

Slide 54 text

54 Grafanaのこれからに向けて 知名度が⾼いプロダクトでありながら、他のOSSに⽐べ ても情報が少ない気がする。 なにか「困った」時に、検索したりコミュニティで気軽 に聞けたりする場所が少ないと、実際のプロダクション 運⽤に向けて不安になることも多いのでは。 今⽇のミートアップと懇親会をきっかけに、興味を持っ て実際に触ってそれをアウトプットし、それらが巡り巡 ってGrafanaの発展につながっていくことを期待してい ます。

Slide 55

Slide 55 text

55 まとめ まずは触って、その可能性を感じてみよう • 最初の環境構築が⾯倒に感じるなら割り切って Grafana Cloudを爆速で使うのはあり • いきなり触ろうとすると恐らく五⾥霧中になるので、 最低限のGrafanaのアーキテクチャとDashboardの基 礎知識を知っておこう • サンプルデータやサンドボックスを触って、 Dashboardで出来ることを体感し、⾃社の業務への活 かし⽅を想像しよう