Splunk Appを作ってみました。まずは、Splunk Appの構造を見てみましょう!
はじめに
データアナリティクス事業本部の藤川です。 Splunk Appを作ってみました。Splunk Appを作成できるようになると、カスタムダッシュボードやカスタムサーチを作成できるようになります。 カスタムサーチでは、Pythonを実行できるので、分析の幅が広がります。さらに、カスタムダッシュボードと組み合わせることで、可視化の種類が増えます。 Splunk Appを作れるようになると、Splunkが持つ力を最大限に活用できるようになるため、ぜひ習得しておきたいスキルです。
Splunk Appを作成
Splunk Appを新規作成
SplunkでSplunk Appを新規作成できます。 空のSplunk Appを新規作成できますが、ここでは、Splunk Appの構造を知るために、サンプルダッシュボード付きのSplunk Appを作成してみます。
- Splunkのホーム画面を表示します。
- 歯車アイコンをクリックし、
App
の一覧画面を表示します。 Appの作成
ボタンをクリックします。新規追加
画面で、次のように設定します。
テンプレートは、barebones
、または、sample_app
から選べますが、ここでは、sample_app
を選択します。項目 値 名前 Sample App フォルダー名 sample-app 表示 はい テンプレート sample_app 保存
ボタンをクリックします。- 作成したSplunk Appが
App
の一覧画面に表示されます。 - Splunkのホーム画面を表示します。
- 作成したSplunk Appが一覧に並ぶようになります。
Sample App
をクリックしてみましょう。- 各タブにも遷移できるよう、予め設定されています。
Splunk Appの構造について
Splunk Appの構造を見てみましょう。
ナビゲーションメニュー
画面上部に表示されるナビゲーションメニュー
です。作成したSplunk Appでは、次のメニューが表示されます。
サーチ ※デフォルト表示 Analytics データセット レポート アラート ダッシュボード
ナビゲーションメニュー
の設定ファイルを表示してみます。
- Splunkのホーム画面を表示します。
- 歯車アイコンをクリックし、
App
の一覧画面を表示します。 - 作成したSplunk Appの
オブジェクトの表示
リンクをクリックします。Splunk Appを構成するファイルが一覧表示されます。 環境設定タイプ
=nav
のファイルがナビゲーションメニュー
です。作成したSplunk Appでは、default
というナビゲーションメニュー
が用意されています。すべての環境設定
画面で、default
リンクをクリックします。ナビゲーションメニューXML
に、次のコードが表示されます。
<nav search_view="search"> <view name="search" default='true' /> <view name="analytics_workspace" /> <view name="datasets" /> <view name="reports" /> <view name="alerts" /> <view name="dashboards" /> </nav>
ビュー
ナビゲーションメニュー
に表示されたメニューをクリックすると、ビュー
が表示されます。
ビュー
の設定ファイルを表示してみます。
- Splunkのホーム画面を表示します。
- 歯車アイコンをクリックし、
App
の一覧画面を表示します。 - 作成したSplunk Appの
オブジェクトの表示
リンクをクリックします。Splunk Appを構成するファイルが一覧表示されます。 環境設定タイプ
=views
のファイルがビュー
です。- 次のファイルが表示されているかと思いますが、実はこれらは前述の
default
ナビゲーションメニューから参照されていません。sample_dashboard sample_dropdown sample_formsearch sample_radio sample_simple_dashboard
ナビゲーションメニューを編集
default
ナビゲーションメニューを編集し、作成したSplunk Appに組み込まれているビュー
を表示できるようにします。
- Splunkのホーム画面を表示します。
- 歯車アイコンをクリックし、
App
の一覧画面を表示します。 - 作成したSplunk Appの
オブジェクトの表示
リンクをクリックします。 default
リンクをクリックし、default
ナビゲーションメニューのコードを表示します。- 次のように5行追加し、
default='true'
を移動します。
<nav search_view="search"> <view name="search" /> <view name="analytics_workspace" /> <view name="datasets" /> <view name="reports" /> <view name="alerts" /> <view name="dashboards" /> <view name="sample_dashboard" /> <view name="sample_dropdown" /> <view name="sample_formsearch" /> <view name="sample_radio" /> <view name="sample_simple_dashboard" default='true' /> </nav>
保存
ボタンをクリックします。
ナビゲーションメニューを表示
- 画面最上部にある
App
プルダウンからSample App
をクリックします。 - 画面上部に表示される
ナビゲーションメニュー
のメニューが増え、デフォルト表示されるビュー
が変更されました。サーチ Analytics データセット レポート アラート ダッシュボード サンプルダッシュボード サンプルドロップダウン サンプルフォームサーチ サンプルラジオ サンプルシンプルダッシュボード ※デフォルト表示
Splunk Appをパッケージング
作成したSplunk Appをパッケージングし、Splunkインスタンスから取り出すことができます。
主に次のような用途に使用できます。
- Splunk Appを公開
- Splunk Appを別の環境へ移行
- Splunk Appのコードを管理
- Splunk Appをバックアップ
Splunk Appをパッケージング
- AWSマネジメントコンソールからインスタンスダッシュボードを表示します。
- Splunkインスタンスにセッションマネージャ(または、SSH)で接続します。
splunk
ユーザにスイッチします。sudo -iu splunk
- 次のコマンドを実行し、Splunk Appをパッケージングします。アプリケーション名に
sample-app
を指定します。
※Splunkがインストールされているパスが/opt/splunk
の場合/opt/splunk/bin/splunk package app sample-app
- Splunkユーザのログインを求められますので、ユーザ名、パスワードを入力してください。
Your session is invalid. Please login. Splunk username: admin Password: ******** Login successful, running command...
- 認証をパスすると、Splunk Appが
/opt/splunk/share/splunk/app_packages
ディレクトリにsample-app.spl
ファイルという名称で保存されます。App 'sample-app' is packaged. Package location: /opt/splunk/share/splunk/app_packages/sample-app.spl
*.spl
ファイルはTGZ形式で保存されているようです。拡張子をtgz
に変更して、解凍できました。ナビゲーションメニュー
とビュー
はdefault
ディレクトリ配下に格納されています。sample-app ├── appserver/ │ └── static/ │ ├── application.css │ ├── appLogo_allblack.png │ ├── appLogo_allwhite.png │ ├── appLogo_black.gif │ ├── appLogo_black.png │ ├── appLogo_white.gif │ ├── appLogo_white.png │ ├── bg_hash_grey.gif │ ├── loader.gif │ ├── overlay_bottomgradient_10.png │ ├── overlay_bottomgradient_18.png │ ├── overlay_bottomgradient_large.png │ ├── overlay_bottomgradient_soft.png │ ├── overlay_glass_28.png │ ├── overlay_gloss_28.png │ ├── overlay_gradient_25.png │ ├── overlay_gradient_28.png │ ├── overlay_gradient_4.png │ ├── overlay_gradient_50.png │ ├── overlay_gradient.png │ ├── overlay_innerleftshadow.png │ ├── overlay_innershadow_4.png │ ├── overlay_reversegradient_28.png │ ├── overlay_reversegradient_4.png │ ├── overlay_reversegradient_light_28.png │ ├── overlay_reversegradientridge_28.png │ ├── overlay_softgradient_28.png │ ├── overlay_togradient_large.png │ ├── overlay_topgradient_beige_soft.png │ ├── overlay_topgradient.png │ ├── overlay_topgradient_soft.png │ ├── overlay_topInnerShadow_35.png │ ├── overlay_white_28.png │ ├── overlay_whiteridge_28.png │ └── splIcons.gif ├── bin/ │ └── readme.txt* ├── default/ │ ├── app.conf │ ├── data/ │ │ └── ui/ │ │ ├── nav/ │ │ │ └── default.xml │ │ └── views/ │ │ ├── sample_dashboard.xml │ │ ├── sample_dropdown.xml │ │ ├── sample_formsearch.xml │ │ ├── sample_radio.xml │ │ └── sample_simple_dashboard.xml │ ├── readme.txt │ └── savedsearches.conf └── metadata/ ├── default.meta └── local.meta
Splunk Appを他の環境にインストール
*.spl
ファイルをダウンロードすれば、他のSplunk環境にインストールすることも可能です。
*.spl
ファイルを解凍すれば、ソースコードはテキストエディタで編集できます。
特別な開発環境を用意しなくても、簡単に開発ができます。また、ソースコードはGitリポジトリで管理できますので、大変便利です。
Splunk Appをインストール
開発したSplunk Appは、再度、TGZ形式でアーカイブすれば、他のSplunk Appと同様にインストールできます。 インストールする手順は次の通りです。
- Splunkのホーム画面を表示します。
- 歯車アイコンをクリックし、
App
の一覧画面を表示します。 ファイルからAppをインストール
ボタンをクリックします。Appのアップロード
画面で、*.spl
ファイルを選択し、アップロード
ボタンをクリックします。- ページをリロードし、画面最上部にある
App
プルダウンからSample App
をクリックします。 - Splunk Appを他の環境にインストールできました。
Splunk Appをアンインストール
SplunkからSplunk Appをアンインストールする手順です。 SplunkのWeb UIからはアンインストールできないようです。
Splunk Appをアンインストール
- AWSマネジメントコンソールからインスタンスダッシュボードを表示します。
- Splunkインスタンスにセッションマネージャ(または、SSH)で接続します。
splunk
ユーザにスイッチします。sudo -iu splunk
- 次のコマンドを実行し、Splunk Appをアンインストールします。アプリケーション名に
sample-app
を指定します。
※Splunkがインストールされているパスが/opt/splunk
の場合/opt/splunk/bin/splunk remove app sample-app
- Splunkユーザのログインを求められますので、ユーザ名、パスワードを入力してください。
Your session is invalid. Please login. Splunk username: admin Password: ********
- 認証をパスすると、Splunk Appがアンインストールされます。
App 'sample-app' removed
さいごに
今回は、ナビゲーションメニューとビューを中心に、Splunk Appの構造を見てきました。 カスタムダッシュボード、カスタムサーチの作成方法は別の機会にご紹介します。