SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

はじめてのSplunk その1:サーチ言語(SPL)とは?

データマネジメント
2020.01.16

こんにちは。SB C&Sの岩田です。

Splunkを体験してみよう! の記事ではSplunkのデプロイメントやデータの取り込み方法についてご紹介しました。

Splunkの特徴は様々なマシンから取り込んだデータをインデックス化し簡単に検索できることです。

そこで「はじめてのSplunk」と題しまして、データの検索方法や可視化の仕方などなど、Splunkの強みや良さをより知っていただくための基本情報を複数回のブログに分けてご紹介したいと思います!

-------------------------------------------------------------------------------------------------

❏ はじめてのSplunk その1:サーチ言語(SPL)とは? ★本記事です!
❏ はじめてのSplunk その2:データを検索してみる
❏ はじめてのSplunk その3:フィールドを抽出する
❏ はじめてのSplunk その4:ダッシュボードを作ってみる
❏ はじめてのSplunk その5:Splunk Appsとは

-------------------------------------------------------------------------------------------------

その1の本記事では、取り込んだデータを検索するために使うSplunkの独自サーチ言語<SPL>の基本概念についてです。

SPLって?

SPLとは<Search Proccessing Language>の頭文字をとったもので、Splunk社独自のサーチ言語の略称です。
取り込んださまざまな形式のデータをSPLを使うことで串刺し検索が可能になります。
SPLは140種類以上ありオプションコマンドもありますが、全て使うというよりもそれらを使い分けながらデータを検索するイメージです。

SPLを使う際の基本概念

SPLを使ってデータを検索するためには、5つの基本概念をベースにしてサーチ文を考えます。
あくまで概念なので、サーチ文を作るためのお作法のようなものだと捉えていただくのがよいかと思います。

SPL1.PNG

サーチ文を作るときには、SearchTermとCommands/Function/Arguments/Clauseの関係を考えます。

SearchTermは検索エンジンのようにキーワードやフィールドの名と値のペアなどを用いた検索ができます。ワイルドカードを使ったあいまい検索も可能です。
ただ、SearchTermだけを入力した検索も可能ですが、それだけですとデータの絞り込みは難しい場合もあります。
そこで登場してくるのがSPLです。

SearchTermを"|"=パイプ で接続することでSearchTermで指定したイベントに対し値の変換や統計・計算結果を返すことができます。
パイプの後に使うサーチ文にSPLを使いCommands/Function/Arguments/Clauseを使い分けます。

例を挙げてご紹介します。

SPL2.png

この例では、SearchTermの部分にデータ取り込み時に指定したindexとsourcetype値からデータをサーチしようとしています。
※indexやsourcetypeについてはこちらでご紹介しています。

パイプで区切ることで"stats"という統計値を出力するコマンドを使いcategoryIdというフィールド値の統計値を返すことができます。
asというコマンドは表示名を変更させるコマンドで、この例ではcategoryIdをproduct_nameというフィールド名に変更しています。
今回の例ではサーチ文で色付けされているstats/values/asがSPLになります。

このサーチ文によりindex値が「tutorial-test」かつsourcetypeが「acccess_combined_wcookie」のフィールドを持つデータの中から更にcategoryIdというフィールド値を集計しproduct_nameという名前に変更された情報が出てくる、というわけです。

こちらがサーチ結果の画面の違いです。

スクリーンショット 2020-01-15 12.42.03.png

このようにSearchTermにstatsなどのSPLを追加し組み合わせることでより見やすいデータ表示ができるようになります!

まとめ

本記事ではSPLとは何か?基本概念はどういったものなのか?という部分を中心にご紹介しました。
SPLの基本概念をベースにSPLベースのサーチコマンドを組み合わせていくことで目的のデータにたどり着くことができるようになります。

次回のブログではよく使うSPLを活用したデータの検索方法についてご紹介します。

最後までお読みいただきありがとうございました!

案件相談_splunk.png

著者紹介

SB C&S株式会社
技術統括部 第2技術部 2課
岩田 潤子