Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Splunk Appのつくりかた / How to create Splunk App

Yoshiki Eguchi
February 14, 2020
2k

Splunk Appのつくりかた / How to create Splunk App

Splunk Appの作り方をざっくり紹介します。

Yoshiki Eguchi

February 14, 2020
Tweet

Transcript

  1. 7 Splunk Appとは • Splunkの機能を拡張する • 可視化・分析を助けるもの、データ収集の⽅法を追加する ものなど多彩なアプリケーションが提供されている • Splunkbase(

    https://splunkbase.splunk.com/ )から公開され ているアプリをダウンロード可能 • ざっくり、可視化・分析を⾏うものは「App(s)」、データ 収集の機能を追加するものは「アドオン」と呼ばれる
  2. 10 ⾃前のAppをつくるメリット • ダッシュボードを集めたApp︓ • ある情報に関する複数のダッシュボードをAppにまとめ ることで、情報へアクセスしやすくする • アドオン︓ •

    既存のアドオンでは対応していない任意のデータの取得 • REST API、Shell Script、Python • 取得したデータをSplunkに記録する前に任意に加⼯
  3. 13 ものすごく簡単なAppの作成の流れ • 必要なダッシュボードを集めたAppの場合︓ 1. Splunk Web UIからAppを作成 2. 作成したApp上でダッシュボードを作成

    3. 必要に応じてその他編集 • ナビゲーションバーの編集 • カスタマイズしたソースタイプetc、ダッシュボードの クエリに必要な定義をAppディレクトリ内に配置 4. パッケージング
  4. 14 Appの作成 • Splunk Web UI - [Appの管理]画⾯の「Create app」から作成 できる

    • 作成時点でApp⽤のディレクトリと最低限のファイルが⽣成される • 配置されるパス︓$SPLUNK_HOME/etc/apps/[App名]
  5. 15 ディレクトリ構成 bin default ui nav local metadata ←初期状態で利⽤されるコンテンツを配置 他にもカスタマイズ⽤jsやcssを格納するappserver、画像などの静的なコンテンツを配置するstaticなども必要に応じ

    て配置 ※前スライドの⼿順で作成した際に⽣成されるもの ←Web UI上でカスタマイズしたコンテンツが配置される ダッシュボードのデータ ダッシュボード上部のナビゲーションの データ app.conf ←アプリケーションの基本情報の設定ファイル data
  6. 16 ダッシュボードの種類 • 現在の標準はSimple XML • XMLベース • グリッドに沿ってパネルを並べる形式 •

    最近新しいダッシュボードのβ版が登場 • 2019年12⽉に発表 • ダッシュボードのレイアウトをより柔軟に作成できる • JSONベース • β版はSplunk Appとして提供 今回はSimple XMLをベースに話します
  7. 23 ドリルダウン • あるパネルの情報を詳しく⾒るために「深堀り」す る機能 • 外部Webページや別のダッシュボードへのリンクや ダッシュボード内連携が可能 • パネル内をクリックした際に、任意の情報(クリッ

    クした系列の値など)を取得し、渡すことができる • 外部Webページ︓Getパラメータで取得した値を利⽤ • ダッシュボード内連携︓任意のトークンに取得した情報 を格納
  8. 25 各種設定ファイル • 各種設定をUIで実⾏すると、内部では設定ファイルが作成 される • レポート/アラート︓savedserch.conf • マクロ︓macros.conf •

    フィールド定義︓props.conf / transform.conf • ダッシュボード同様、各設定の権限を「App内で共有」に 設定するとAppのディレクトリに配置される • 逆に⾔うと明⽰的に「App内で共有」に変更しなければAppディ レクトリに⼊らないので、パッケージに⼊れる定義をUIで作成し た際は必ずこの点をチェックしましょう
  9. 26 アドバンスドなことがしたい場合 • Simple XMLよりも複雑なフロントエンドの処理を ダッシュボードに加えたい →JS StackによるJavaScript extensionsを利⽤ しましょう

    • Modify dashboards using Simple XML extensions https://dev.splunk.com/enterprise/docs/developapps/webf ramework/usewebframework/modifydashboards • About Splunk JS Stack https://dev.splunk.com/enterprise/docs/developapps/webf ramework/usewebframework/aboutsplunkjsstack/
  10. 29 パッケージング • Appのディレクトリをtar.gzにアーカイブすることで別のSplunk環 境へインストールが可能となる • [Install app from file]からインストール可能

    • アーカイブ前の準備︓ • Appで必要なファイル(ダッシュボードや各種設定)がAppディレクトリ ($SPLUNK_HOME/etc/apps/[APP名])にすべて格納されていることを確認 • Localディレクトリに配置されたファイルをglobalディレクトリに移動 • globalディレクトリに移動することで、ユーザが変更を加えても原本がこの ディレクトリに残る
  11. 31 まとめ • Splunk AppはSplunkの機能を拡張してくれる • Splunk Appをとりあえず作ってみるのは簡単 • ダッシュボードを集めたAppならほぼWeb

    UIだけで作る ことができる • それでいて⾼度な機能追加にも対応していて奥が深い ということで、気軽にAppを作ってみましょう︕
  12. 32