LoginSignup
25
29

More than 5 years have passed since last update.

Kibana側でダッシュボードを保存したら外部に埋め込んでいるiframeにも反映させる方法

Posted at

やりたかったこと

Kibanaで作ったダッシュボードを自社サービスの管理画面に埋め込んで、他のスタッフにも見てもらおうと思いました。こういうときに便利なのはKibanaのShare機能で、iframeを使った埋め込みが可能です。

ダッシュボードを保存するときに、時間フィルタの設定も一緒に保存するオプションを有効にすることで、常に直近24時間の統計を表示することができます。

kibana-share

できなかったこと

さて、iframeによるKibanaダッシュボードの埋め込みはうまくいきました。実際に他のスタッフに見てもらって、いくつか変更したい箇所が出てきたとします。
Kibanaのダッシュボードを開いて、グラフのレイアウトといじったり、時間フィルタの設定を直近7日間に変更したりして上書き保存します。

ところがiframeで埋め込んだダッシュボードは変更が反映されません。

落とし穴

Share機能で表示されるコードにはダッシュボードを構成するための設定情報が含まれています。したがって、Kibanaの方でダッシュボードを変更しても、iframeで埋め込んだ方に反映されないというのは当然といえば当然です。

とはいえ、初めて使った時、更新させるものと思い込んでいてハマりました。

解決方法

よくよく見てみるとKibanaで保存してあるダッシュボードを呼び出すとき、リンクのURLはダッシュボード名だけになっています。

http://your.domain.com/#/dashboard/<ダッシュボード名>

このURLを呼び出した後、ダッシュボード名から設定を読み込んでURLを書き換えて、ダッシュボードが構築されます。さらにiframe埋め込みの場合はGETパラメータにembedを指定するだけで枠が消えるので以下のようなフォーマットで指定すると設定が反映されます。

http://your.domain.com/#/dashboard/<ダッシュボード名>?embed

25
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
29