20
Copyright © 2013 Splunk, Inc. Splunk Search! Splunk NiteX 大西 功祐

Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

Embed Size (px)

DESCRIPTION

イケテルエンジニアの分析エンジン Splunk 勉強会 8月の資料です。SPLという強力な検索コマンドの技の事例です。 カスタムサーチでシェルスクリプトのようなオリジナル検索コマンドが作成できるので、業務効率はさらにアップするでしょう! Splunk> Be an IT superhero, go home earlier.

Citation preview

Page 1: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

Copyright © 2013 Splunk, Inc.

Splunk Search!

Splunk NiteX

大西 功祐

Page 2: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

自己紹介

2

• Splunkやビッグデータ関連をちょこちょこ弄っています • このあいだHadoop Summitに行ってきました • ビッグデータの熱気を感じました • ちなみにSplunkブースは大人気でした

Page 3: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

Agenda

時間の操作

カスタムサーチ

3

Page 4: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

Splunkのデータ取り込み

タイムスタンプ 分析

データインプット

イベント境界 分析

セグメント 処理

インデックス 処理

-タイムスタンプを軸に自動判別

Mar 11 10:22:06 172.30.255.252 id=firewall sn=0017C514CBB8

time="2010-03-11 10:18:56" fw=221.186.88.32 pri=6 c=1024 m=537

msg="Connection Closed" n=0 src=211.19.55.156:9809:X2

dst=202.232.2.38:53:X7 proto=udp/dns sent=74 rcvd=90

tkondo @ macnica . net

前処理(コネクタ等での変換、正規化)不要

データ取り込みの流れ

Page 5: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

5

Splunkの時間表示

Hit件数を時間を横軸にグラフ表示

Splunkがログから認識した タイムスタンプ

Page 6: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

6

特定時間のイベントのみを抽出する

– 営業時間 営業時間は、午前9時から午後6時 土日は休み – 時系フィールドを使って表現 営業時間: date_hour < 9 OR date_hour >= 18 営業日:NOT date_wday ="saturday" NOT date_wday ="sunday" 土日: date_wday ="saturday date_wday ="Sunday"

Splunkで時間操作

たとえば・・・ 営業時間外に発生したイベントのみを抽出したい

Page 7: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

7

特定時間のイベントのみを抽出する

Splunkで時間操作

コマンド: ((date_hour < 9 OR date_hour >= 18) NOT date_wday="saturday" NOT date_wday="sunday") OR (date_wday="saturday" OR date_wday="sunday")

Page 8: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

8

Splunkで時間操作

特定時間の特定のログからイベントを抽出する

たとえば・・・

– Splunkコマンドを使って抽出 sourcetype=access* status=503 : Apacheのログから503エラーを抽出

bin _time=1h: 時間の区切りを1時間へ変更

top limit=1 _time: 最もエラーイベントが発生した時間帯(1つ)を抽出

eval earliest, eval latest: 1時間の最初の時間と最後の時間

convert timeformat, ctime: 表示時間の整形

営業時間外の中で最もApacheのエラーイベントが頻発した時間帯(1時間)を抽出したい

Page 9: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

9

コマンド: sourcetype=access* status=503 ((date_hour < 9 OR date_hour >= 18) NOT date_wday="saturday" NOT date_wday="sunday") OR (date_wday="saturday" OR date_wday="sunday") | bin _time span=1h | top limit=1 _time | eval earliest=_time | eval latest=relative_time(_time, "+1h") | convert timeformat="%H:%M:%S" ctime(earliest) ctime(latest)

Splunkで時間操作

特定時間の特定のログからイベントを抽出する 対象データの絞り込み

Page 10: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

10

コマンド: sourcetype=access* status=503 ((date_hour < 9 OR date_hour >= 18) NOT date_wday="saturday" NOT date_wday="sunday") OR (date_wday="saturday" OR date_wday="sunday") | bin _time span=1h | top limit=1 _time | eval earliest=_time | eval latest=relative_time(_time, "+1h") | convert timeformat="%H:%M:%S" ctime(earliest) ctime(latest)

Splunkで時間操作

特定時間の特定のログからイベントを抽出する

時間の区切りを変更

Page 11: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

11

コマンド: sourcetype=access* status=503 ((date_hour < 9 OR date_hour >= 18) NOT date_wday="saturday" NOT date_wday="sunday") OR (date_wday="saturday" OR date_wday="sunday") | bin _time span=1h | top limit=1 _time | eval earliest=_time | eval latest=relative_time(_time, "+1h") | convert timeformat="%H:%M:%S" ctime(earliest) ctime(latest)

Splunkで時間操作

特定時間の特定のログからイベントを抽出する

単位時間のヒット件数の 1位のみを算出

Page 12: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

12

コマンド: sourcetype=access* status=503 ((date_hour < 9 OR date_hour >= 18) NOT date_wday="saturday" NOT date_wday="sunday") OR (date_wday="saturday" OR date_wday="sunday") | bin _time span=1h | top limit=1 _time | eval earliest=_time | eval latest=relative_time(_time, "+1h") | convert timeformat="%H:%M:%S" ctime(earliest) ctime(latest)

Splunkで時間操作

特定時間の特定のログからイベントを抽出する

表示のための整形

Page 13: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

Demo

13

Page 14: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

14

Splunkのコマンドを使うだけでなく、Splunkのコマンドを作ることができます!

カスタムサーチ

参考URL: http://docs.splunk.com/Documentation/Splunk/5.0.4/AdvancedDev/SearchScripts

Page 15: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

15

カスタムサーチをつくる

作成するコマンド:shape 動作:2行以上あるフィールドの中身を集計し、 そのログが、行数が多いのか、短いのかなどを 集計する

参考URL:shape http://docs.splunk.com/Documentation/Splunk/latest/Search/Customsearchcommandshape

Page 16: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

16

1. コマンドを作成 ( shape.py ) 2. commands.confにコマンドを登録 3. authorize.confを修正して権限をコントロール 4. Splunkサーバを再起動

[shape] filename = shape.py

[capability::run_script_shape] [role_User] run_script_shape = enabled

カスタムサーチ作成の流れ

Page 17: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

Demo

17

http://www.macnica.net/splunk/

Page 18: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

One more thing….

Page 19: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

Splunk niteX 次回のご案内

http://splunkseminar.doorkeeper.jp/events/6557

2013年10月30日 19:00 新宿 株式会社エルセナ セミナールーム

「.confに行ってきました!」- Splunkの世界ユーザ会について

「Splunkの技 by マクニカの中の人」- こんな技があります!

「Ver.6で、できるようになったこと」 – 10月1日発表!! 進化したSplunkをお見せします!

Splunk> Beer 懇親会

希望者のLT(5分間プレゼン) *LT1:「Splunk壊してマジあせった。」 @fujiosuzuki *LT2:(仮)「Splunk入れて嬉しかった。」 @やまださん

Page 20: Splunk niteX 8月資料 Splunk 検索コマンド技 時間操作、カスタムサーチ

Copyright © 2013 Splunk, Inc.

Happy Splunking!

マクニカネットワークス株式会社