Grafanaは、オープンソースのデータ視覚化プラットフォームで、主にデータの分析や監視に使用されます。
簡単に言うと、データを見やすくグラフ化してくれるツールと思ってもらえたら大丈夫です。
この記事では、データが格納されたCSVファイル(カンマ区切りのデータファイル)を利用して、
Grafanaのダッシュボード上でグラフ化するところまでを解説します。
Grafanaとは
Grafanaは、データの分析や可視化を行うためのオープンソースのダッシュボードソフトウェアです。
Grafana Labsによって開発され、さまざまなデータベースからリアルタイムで情報を取得し、
視覚的に表示することができます。
ユーザーは、グラフや数値、表などを使ってデータを直感的に理解しやすい形で表示することができ、
ダッシュボードを自由にカスタマイズすることが可能です。
- ダッシュボード作成:Grafanaでは、ユーザーが自分のニーズに合わせたカスタムダッシュボードを作成できます。複数のデータソースからの情報を一元的に表示できます。
- データソースの統合:Grafanaは、Prometheus、InfluxDB、MySQL、PostgreSQLなど、さまざまなデータベースと接続可能で、異なるデータソースからの情報を統合して分析できます。
- リアルタイム監視:Grafanaは、システムのメトリクスやログをリアルタイムで監視し、異常を検知するためのアラート機能を提供できます。このため運用チームは迅速に問題に対処できます。
- ビジュアライゼーション:データをグラフやチャート、テーブルなどの形式で視覚化することができ、データのトレンドやパターンを簡単に把握できます。特に時系列データの可視化に優れています。
オープンデータ(CSVファイル)を準備する
Grafanaで視覚化するデータを準備します。
現在はオープンデータとして多種多様なデータが公開されています。
オープンデータ公開サイト
現在は公開サイトも増えており、色々なサイトで様々なデータをダウンロード可能です。
主要なサイトをいくつか載せておきますが、まだまだたくさんあります。
- e-Stat:日本の統計が閲覧できる政府統計ポータルサイト
- DATA GO JP:中央行政のオープンデータポータルサイト
- TOKYO OPEN DATA:東京都オープンデータカタログサイト
- 気象庁:最新の気象データ
東京都 新型コロナウイルス感染症新規陽性者数
この記事では、「東京都 新型コロナウイルス感染症新規陽性者数」のCSVファイルを視覚化することにします。
TOKYO OPEN DATAのこちらのページからCSVファイルのURLを取得可能です。
CSVファイルのURLをメモしておきます。
https://www.opendata.metro.tokyo.lg.jp/fukushihoken/130001_tokyo_covid19_patients_per_report_date.csv
CSVファイルの内容としては、以下のようなカンマ区切りのデータが含まれています。
全国地方公共団体コード,都道府県名,市区町村名,公表_年月日,日別陽性者数,7日間合計陽性者数,7日間平均陽性者数,日別判明者数,日別不明者数,7日間平均不明者数,7日間平均不明者増加比
130001,東京都,,2020-01-20,0,,,,,,
130001,東京都,,2020-01-21,0,,,,,,
:
Grafana Cloudに登録する
次にGrafanaを利用するための準備を進めます。
Grafanaは、ローカル環境にインストールして使う方法と、クラウド版を利用する方法があります。
この記事ではクラウド版を利用しています。
まずはgrafana.comにアクセスします。
次にCreate accountを選択します。
Free Tierであれば課金が発生することはありません。
各種アカウントを利用するか、メールアドレスを入力してCreate my accountを選択します。
Set up your first Grafana stack画面が表示されますので、Stack URLに任意の文字列を入力します。
(デフォルトでは指定したメールアドレスのドメインを除いた先頭部分が入力されます)
こちらかユーザのURLになりますので、利用可能な場合は緑色のチェックが表示されます。
他のユーザによって既に使用されている場合は、
「Sadly, that URL is already taken. Please try another.」といったメッセージが出力されますので、
利用可能な文字列を指定します。
Deployment regionには「Japan」を選択して、Finish Setupをクリックします。
セットアップが完了すると、Welcome画面が表示されます。
ここまでで、Grafana Cloudへの登録は完了になります。
CSVコネクションのインストール
続いてCSVコネクションをインストールします。
(Grafana Cloudに登録しただけでは、CSVファイルを扱うことができないようです)
Welcome画面のメニューからも色々できるのですが、
今回は画面下の「I’m already familiar with Grafana. Skip setup」をクリックします。
Add new connection画面が表示されると思います。
今回はCSVファイルをデータソースとしますので、検索ボックスに「CSV」と入力すると、
CSVコネクションが表示されると思います。
さらにこちらのCSVコネクションをクリックします。
CSVコネクションの詳細画面が表示されますので、画面右側のInstallをクリックします。
これでCSVコネクションのインストールが完了しました。
データソースを作成する
続いて新しいデータソースを作成していきます。
画面左上のメニューを開いて、Connectionsを展開後、Data Sourcesを選択します。
Data Sources画面が表示されますので、画面右側のAdd new data sourceをクリックします。
Add data source画面が表示されますので、検索ボックスに「CSV」を入力します。
CSVコネクションが表示されると思いますので、CSVコネクションをクリックします。
CSVデータソースを作成するための画面が表示れます。
データソース名を入力します。デフォルトでも大丈夫ですが分かりやすい名前にしておきます。
ConnectionのURLに控えておいたCSVファイルのURLを入力します。
入力ができたら画面下にあるSave & testをクリックします。
問題ない場合は以下のような出力が表示されます。
ここまででCSVデータソースの作成は終了です。
ダッシュボードを作成する
続いてダッシュボードを作成します。
画面左上のメニューを開いて、Dashboardsを選択します。
画面右側のNewをクリックし、New dashboardをクリックします。
続いてAdd visualizationをクリックします。
データソース一覧が表示されますので、CSVデータソースを選択します。
ダッシュボード画面が表示されますが、何も表示されていない状態だと思います。
Table viewをオンにすると、CSVファイルのデータが表形式で出力されます。
ここでは「公表_年月日」を横軸に「日別陽性者数」をグラフ化したいとします。
ダッシュボード編集画面下部にFieldの入力ボックスがありますので、「公表_年月日」を入力します。
さらに右側のTypeで「Time」を選択します。
Fieldを追加したいのでType右横の「+」をクリックします。
追加されたFieldの入力ボックスに「日別陽性者数」を入力し、Typeに「Number」を選択します。
適切に入力されるとダッシュボード編集画面上部にこのようなグラフが表示されると思います。
このような流れで、「公表_年月日」に対する「日別陽性者数」を表示することができました。
最後にダッシュボードを保存しておきます。
画面右側のSave dashboardをクリックします。
Titleにダッシュボード名を入力して、Saveをクリックします。
再度メニューからDashboardsを選択すると、一覧から先程保存したダッシュボードが現れます。
こちらのクリックすることでダッシュボードを表示することができます。
メニューからEditをクリックすることで、ダッシュボード編集画面に遷移することができます。
ここまででダッシュボードの作成は完了です。
ダッシュボードを公開する
作成したダッシュボードは外部向けに公開することも可能です。
ダッシュボード画面右側のShareから、Share externallyを選択します。
確認画面が表示されますので、チェックボックスにチェックして、Acceptをクリックします。
これで公開設定が完了しましたので、Copy external linkをクリックします。
外部向けのURLがコピーされますので、このURLを共有することで外部に公開することができます。
外部公開を止めたい場合は、Revoke accessをクリックします。
確認画面が表示されますので、再度Revoke accessをクリックすることで外部公開が解除されます。
まとめ
Grafanaを利用してオープンデータをグラフ化する手順をまとめてみました。
ひとつひとつ手順化しましたので手間が掛かるように見えていますが、
実際にはブラウ上でポチポチ設定するだけですので、比較的簡単にグラフ化することができます。
複数のデータソースを一元管理することもできますので、オリジナルのダッシュボードを作成するのも良さそうですね。
コメント