LoginSignup
6
2

More than 3 years have passed since last update.

SplunkのデータをPower BIで

Last updated at Posted at 2020-12-08

はじめに

@maroon さんのQiita Excel から Splunkデータにアクセスするには? - Qiitaを参考に、SplunkとPower BIを接続して可視化してみました。

利用環境等

 以下の内容は、Splunk Enterprise無料版をPCにインストールして実行したものです。有料版のSplunkでも同様のことができます。
Splunk ODBC Driverは、Splunk ODBC | Splunkbaseより、Windows 64bit版をダウンロードしてインストールします。

サンプルログの準備

Splunkにログイン後、Splunk自体のログをサンプルとするため、サーチで

index="_internal" 

とし、右上から「テーブルビューの作成」とします。
image.png

Power BIから接続して見せる項目を決定します。最終的に私は以下のようにしました。
保存したテーブルビューは上部メニューの「データセット」から呼び出せます。

image.png

Power BI DesktopkからSplunkのテーブルに接続

データを取得でODBCに接続します。
image.png

「ODBCからインポート」で「Splunk」を指定します。
image.png

ナビゲーターで対象のテーブルを特定し、([読み込み]ではなく)[データの変換]を選択し、Power Query エディターを立ち上げます。
各項目のnull値等の部分を除くクリーニングを行います。
image.png

カレンダーテーブルの作成

 計算テーブル「カレンダー」を新しいテーブルとして作成します。

カレンダーテーブル
カレンダー =  // テーブル名は「カレンダー」
var BaseCalendar = CALENDARAUTO()
RETURN
GENERATE(
    BaseCalendar,
    var BaseDate = [Date]
    var YearNumber = YEAR(BaseDate)
    var MonthNumber = MONTH(BaseDate)
    var DateNumber = DAY(BaseDate)
    var DayNumber = WEEKDAY(BaseDate, 1)

    RETURN ROW(
        "年_番号", YearNumber,
        "年", FORMAT(BaseDate, "yyyy年"),
        "月_番号", MonthNumber,
        "月", FORMAT(BaseDate, "mm月"),
        "年月_番号", FORMAT(BaseDate, "yyyymm"),
        "年月", FORMAT(BaseDate, "yyyy年mm月"),
        "日_番号", DateNumber,
        "日", FORMAT(BaseDate, "dd日"),
        "曜日_番号", DayNumber,
        "曜日", SWITCH(DayNumber, 1, "日", 2, "月", 3, "火", 4, "水", 5, "木", 6, "金", 7, "土",""),
        "相対月数", DATEDIFF(TODAY(), BaseDate, MONTH)
    )
)

フィールドの表記を整えたりし、列で並べ替えを指定したり、日付テーブルとしてマークします。

モデリングビューで、Splunkのテーブルと紐付け等を行います。

image.png

Power BIで可視化する

 あとはいつも通りの可視化です。例として以下のようなビジュアルを作成しました。

image.png

可視化したビジュアルをWebで共有することもできます。

image.png

おわりに

 SIEMの代表格であるSplunkの非構造データを、構造データ等を扱うBIの代表格であるPower BIで可視化するのは便利です。
 SPL疲れしたとき(私?w)で代表的なフィールドで概要をつかむ、ちょっと別方法で可視化をしたい、というときにはPower BIで見るとよいかなぁと考えています。

6
2
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
6
2