大量の生データを前にして「これ、どう読み解けばいいんだろう?」と思ったことはないでしょうか。Grafana は、そういったデータをグラフなどの可視化パネルで見やすい美しいダッシュボードに変換してくれるツールです。
この記事では、Grafana を初めて使う方向けに、Grafana がどのようにデータを視覚的なダッシュボードへと変換していくのかを、具体例を通して紹介します。今回は Grafana Cloud を使い、無料で天気のダッシュボードを作成します。(Grafana Cloud のアカウントをまだ持っていない場合でも問題ありません。無料で利用できるプランがあります。)
Grafana と Grafana Cloud の概要
Grafana は、データがどこに保存されていても、収集・関連付け・可視化を行えるオープンソースのソリューションです。多様なデータソースに対応しており、サーバーのヘルスチェックから家庭内のタスク管理まで、幅広いユースケースに適用できます。

Linux サーバーのヘルス監視に利用した Grafana ダッシュボードの例
Grafana は 2013 年にオープンソースプロジェクトとして公開され、世界中で 2,500 万人以上のユーザーに利用されています。(起源や進化について知りたい方は “The Story of Grafana” を参照してください。)
一方で Grafana Cloud は、Grafana LGTM(Loki、Grafana、Tempo、Mimir)スタックを基盤としたフルマネージドのクラウド型オブザーバビリティプラットフォームです。今回の天気ダッシュボードの作成には Grafana Cloud を使用します。
Grafana Cloud でカスタム天気ダッシュボードを作成する方法
ここからは、Grafana Cloud を使い、生の JSON データを天気予報ダッシュボードに変換する方法を説明します。作業時間の目安は 30 分程度です。完成すると、スマートフォンから確認できる便利な天気予報ダッシュボードが手に入ります。
使用するのは、米国国家気象局(National Weather Service)が提供する無料の天気 API で、米国内の地域について詳細な予報情報を取得できます。米国外の方は、OpenMeteo(ヨーロッパ)や OpenWeatherMap(グローバル対応)で代用できます。
以下は、JSON 形式で返される天気 API のレスポンス例です。

コンピュータにとっては扱いやすい形式ですが、天気を確認するために JSON を読む人は多くありません。ここで Grafana Cloud のダッシュボードが役に立ちます。

JSON:コンピュータには便利、人には読みづらい形式
また、Grafana 用の Infinity データソースプラグインも使用します。これは JSON、CSV、XML、GraphQL のエンドポイントに問い合わせて可視化できるプラグインで、様々な場所からデータを取り込む際に便利です。今回のダッシュボードの元となる天気データも、このプラグインで取得します。
Grafana Cloud は、ダッシュボードを読み込むたびに weather.gov API にアクセスし、結果をテーブルとして表示します。
以下は、天気ダッシュボードを作成するための簡単な手順です。詳細な手順については GitHub 上のチュートリアルを参照してください。
-
Grafana Cloud にサインアップする
任意のサインインプロバイダー、またはメールアドレスとパスワードで登録できます。

-
Infinity データソースプラグインをインストールする
-
プリセットされた天気ダッシュボードをインポートする
Grafana Cloud では、他のユーザーが作成したダッシュボードをインポートできます。テキストをコピー&ペーストするだけで利用可能です。 -
National Weather Service API を使ってローカルの天気データを接続する
緯度経度に基づくグリッドポイントから、該当都市の天気局を特定します。 -
都市名などをカスタマイズし、スマートフォンで使いやすいようブックマークする
Grafana Cloud でできることはまだまだあります
今回取り上げた内容は、Grafana Cloud で実現可能なことのごく一部です。
さらに詳しく知りたい場合は、ブログ記事、技術ドキュメント、ウェビナー、クイックスタートガイドなど、Grafana Cloud に関する各種資料を参照してください。質問がある場合は、コミュニティフォーラムや Slack でも相談できます。
Grafana Cloud は、メトリクス、ログ、トレース、ダッシュボードなどを最も簡単に始められる方法です。無料で使えるフリープランがあり、あらゆるユースケースに対応したプランを提供しています。ぜひ無料で登録してみてください。