はじめに
Splunk で作ったダッシュボードを外部公開しよう。と思っても Splunkの認証が必要なのでSplunkアカウントを作って毎回ログインしてもらって。。など結構ハードルがあります。また大勢がログインして表示するとサーチ負荷がかかってしまいSplunkのサーチヘッドを拡張しないといけない。などの問題も発生してしまいます。
そこで、表示部分だけ切り出して公開する方法として、Webサーバを別途立ち上げて、そこにパネルとして表示するようにできます。
これはSplunkの埋め込み機能を利用します。
仕組み
Splunkダッシュボードをそのまま認証なしに公開することは残念ながらできません。そのかわりレポートとしてスケジュール実行した結果を iframe として外部から呼び出すことが可能です。
Splunk レポート作成 => スケジュール実行 => Webサイトから呼び出し(iframe)
という流れです。
つまり、Webサイトからはサーチ条件を変えたりすることはできませんし、リアルタイム実行ではなく過去にスケジュール実行した結果を表示します。その代わりサーチが毎回走る訳ではなく過去の実行結果を表示するだけなので負荷が軽く、大勢の人にみてもらうことができます。
Step1: レポート作成
サーチをレポートとして保存します。
Steap2: スケジュール設定
作成したレポートをスケジュール実行します。実行結果を呼び出して表示するため、この設定は必須です。設定の種類は複数あり、cron指定も可能なので 1分毎の実行なども可能ですが、サーバ負荷を考えるとある程度時間は開けた方がお勧めです。
Step3: 埋め込み情報(iframe)の取得
以下のようにiframe の情報をコピーします。Splunkサーバの情報や認証情報もここに含まれております。
Step4: Webサイトに先ほどコピーしたiframeコードを埋め込みます。
別途Webサーバを立ち上げて、以下のように先ほどのコードを埋め込みます。
すると、このように表示されます。
もちろん、複数パネルも埋め込められます。
最後に
社内ポータルに埋め込んだり、サービス状況をモニタリングするサイトなどに埋め込むことで利用用途が大きく広がりますね。