みなさん、こんにちは。
「はじめてのSplunk」と題して、これからSplunkの導入や提案をご検討いただく方向けのSplunkの基本的な使い方について複数のブログ記事にまたがってご紹介しています。
--------------------------------
❏ はじめてのSplunk その1:サーチ言語(SPL)とは?
❏ はじめてのSplunk その2:データを検索してみる
❏ はじめてのSplunk その3:フィールドを抽出する ★本記事です!
❏ はじめてのSplunk その4:ダッシュボードを作ってみる
❏ はじめてのSplunk その5:Splunk Appsとは
--------------------------------
本記事では"その3:フィールドを抽出する"ということで、取り込んだデータからフィールド値を抽出する方法についてご紹介します。
フィールドについてのおさらい
フィールド抽出のご紹介の前にフィールド値についてのおさらいです。
フィールドとは"サーチできる「名前と値(キー、バリューペア)」の組み合わせのこと"を指します。
上の画像はとあるデータの検索結果の画面になるのですが、この例では、acitonがフィールド名(キーとなり)、actionというフィールド値に対してpurchaseやaddcartなどの値がフィールド値(バリューペア)ということになります。
フィールド抽出が必要になる場合って?
このフィールド値、データを取り込んだ際にデータの中身を認識しSplunkが自動でフィールドを抽出してくれるのですが、中には「自動抽出されなかったフィールドを認識させたい」「環境に応じたフィールド名にしたい」というシーンもあると思います。
そこで必要になるのがフィールド抽出の作業です。
フィールド抽出の方法
フィールド抽出には、
- デフォルトのメタフィールドと自動抽出フィールド
- GUI上のフィールド抽出(IFX)画面からフィールド定義作成
- サーチの中でコマンドからフィールド抽出
- config ファイルでフィールド定義
と、4つの方法があるのですが、今回は「GUI上のフィールド抽出(IFX)画面からフィールド定義作成」での抽出方法をご紹介します。
フィールドを抽出する
GUIからフィールドを抽出する場合、サーチイベントからの抽出する方法とフィールド抽出画面より設定する方法と2通りの方法があります。
今回は前者のサーチイベントからの抽出方法をご紹介します。
フィールド抽出手順
では、さっそくフィールドを抽出してみたいと思います。
①イベント画面からフィールド抽出アクションを進める
サーチ検索バーに抽出したいログを含むサーチを行いイベントを表示させます。
イベントの一番左側に > という画面があるのでこちらをクリックすると、"イベントアクション"というボタンが表示されるのでこれをクリックします。
そうするといくつかのアクション項目が表示されるので、その中から"フィールド抽出"を選択します。
②フィールドを認識させる方法を選択
フィールド抽出アクションの中にも、どのようにフィールドを認識させるかという部分で2通りの方法があるので下記にまとめます。
- 正規表現:その名の通り正規表現でフィールドを認識させる
- 区切り文字:コンマやスペースなどを使ってフィールドを認識させる
今回は正規表現を使ってフィールドを抽出したいと思います。
③イベントデータから抽出したい値を選択しフィールド名を名付ける
①の手順で選択したイベントデータの内容から、フィールドとして抽出したい値をクリックで範囲指定します。
すると、"Add Extention"というフィールド名を設定する画面が表示されるので、ここにフィールド名にしたい値を入力します。
※上記の例ではIPアドレスをフィールドで抽出し、src_ipというフィールド名を名付けました。
④抽出したフィールド値が認識できているかのプレビュー確認
あとは、フィールドが認識できているかを確認します。
この例では、IPアドレスの値をフィールド抽出したので、IPアドレスが認識できているかサンプルイベントから確認します。
問題なければ次に進み最終確認をします。"完了"をクリックしたら抽出作業は終了です。
ちなみに、確認画面では抽出したフィールドの正規表現も表示されます。
フィールドが抽出できているかサーチしてみる
フィールドが抽出できているか確認したいと思います。
①の手順でサーチした内容で再度検索をかけ、画面左側のフィールドサイドバーを見てみます。
先程追加した"src_ip"というフィールドが追加されているのがわかります。
まとめ
Splunk側でフィールドをある程度自動認識してくれるので1つ1つフィールド抽出をする必要はありませんが、利用者側から見てよりデータを検索しやすくするためにもフィールド抽出をすることはとても大事な作業になります。
次回のブログでは、ダッシュボード機能についてご紹介いたします。
最後まで読んでくださりありがとうございました!
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
C&S Engineer Voice運営事務局
最新の技術情報をお届けします!