GrafanaからAmazon Managed Grafanaへダッシュボードの設定を移行してみる

GrafanaからAmazon Managed Grafanaへダッシュボードの設定を移行してみる

Clock Icon2021.09.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。大阪オフィスの林です。

Grafanaのダッシュボード設定をAmazon Managed Grafanaへ移行する機会がありましたので、検証した内容をまとめておきたいと思います。検証の環境は下記エントリで作成したものを使っていきたいと思います。

やってみた

Grafanaからダッシュボード設定をエクスポート

まずは、オンプレミス(検証環境の場合、ローカル)のGrafanaからダッシュボードの設定をエクスポートします。今設定しているダッシュボードは以下の感じです。

ダッシュボードの名前右の「シェアアイコン」を選択します。

「Export」タブを選択し、「Export for sharing externally」を有効化後、「Save to file」を選択します。

下記な感じのJSON形式のファイルがダウンロードできます。


~省略~

    {
  "__inputs": [],
  "__requires": [
    {
      "type": "panel",
      "id": "bargauge",
      "name": "Bar gauge",
      "version": ""
    },
    {
      "type": "panel",
      "id": "geomap",
      "name": "Geomap",
      "version": ""
    },
    {
      "type": "grafana",
      "id": "grafana",
      "name": "Grafana",
      "version": "8.1.3"
    },
    {
      "type": "panel",
      "id": "table",
      "name": "Table",
      "version": ""
    },
    {
      "type": "panel",
      "id": "timeseries",
      "name": "Time series",
      "version": ""
    }

~省略~

Amazon Managed Grafanaにダッシュボード設定をインポート

Grafanaで接続していたデータソースと同じデータソースに接続しておきたいと思いますので、Amazon Managed Grafanaにログイン後、左メニューの歯車メニューから「Data sources」を選択します。

「Data sources」タブにて「Add data source」を選択します。

Elasticsearchを検索し「Select」を選択します。

環境に応じてエンドポイントを指定します。

IndexVersionの指定などを行います。

「Save & test」を選択し保存します。

左メニューの「+」メニューから「Import」を選択します。

「Upload JSON file」を選択し、前半でダウンロードしておいたJSONファイルをアップロードします。

アップロード後、「Import」を選択します。

インポート後、再設定することなくAmazon Managed GrafanaでもGrafanaで見ていた時と同じようなダッシュボードを表示することが出来ました。

ただし、一部の可視化パネルでは、Grafanaで使用していたプラグインが入っていないものもあり、移行後の表示に影響が出てしまうケースも確認出来ました。(現状地図パネルのプラグインが無く回避策が見当たりませんでした)

まとめ

必ずしも完璧な移行が出来るとは限らずAmazon Managed Grafanaでサポートされていない可視化パネルは、移行後に表示できなくなってしまうケースも確認出来ました。ただ、再設定自体の手間は大きくカットできるかと思いますので、移行出来ればラッキー程度の感覚で一度ダッシュボードの設定移行をトライ頂き、影響の有無を判断頂くのがイイのではないかなと感じました。

以上、大阪オフィスの林がお送りしました!

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.