Grafana ダッシュボードに外部 Web アプリケーションをパネル表示するための Panel plugin です。
- 外部 Web アプリケーションは iframe 内に表示されます。
- Grafana で設定した時間範囲を、外部 Web アプリケーションに通知することができます。
/var/lib/grafana/plugins ディレクトリ、または data/plugins ディレクトリ (Grafana 本体からの相対ディレクトリ) に "nec-baas-iframe-panel" ディレクトリを作成し、 本ディレクトリ以下の全ファイルを前記ディレクトリにインストールしてください。
外部 Web アプリケーションへの時間範囲の通知方法を指定してください。 以下いずれかの方法を指定できます。
時間範囲を window.postMessage で通知します。 Webアプリケーション側では、イベントハンドラを使用してこれを "message" イベントとして受信できます。
メッセージは、以下のように JSON フォーマットで通知されます。 "from", "to" に時間範囲が ISO 8601 形式の文字列で設定されます。 "raw" には Dashboard の時間範囲設定の "Custom range" の値が設定されます。
{
"from": "2018-11-29T15:00:00.000Z",
"to": "2018-11-30T14:59:59.999Z",
"raw": {
"from": "now/d",
"to": "now/d"
}
}
時間範囲をクエリパラメータで通知します。
具体的には、 URL に指定した変数 {{from}}
, {{to}}
を、ISO 8601形式文字列で表現される時間範囲に置換します。
[ URL 設定例 ]
https://some-web-app.example.com?start={{from}}&end={{to}}
[ 置換後 ]
https://some-web-app.example.com?start=2018-11-29T15:00:00.000Z&end=2018-11-30T14:59:59.999Z
外部Webアプリケーションの URL を指定してください。 URL には、 Grafana の Variables を利用することができます。
Chrome ブラウザを利用する場合、メモリ使用量が増加し続けます。 定期的に画面を更新することで、メモリを解放してください。
Internet Explorer や Firefox ブラウザを利用する場合は、本現象は起きません。