【Splunk】tableはログを表にする
tableコマンドの説明を書きます。
以下の記事の派生記事です。
canada-lemon.hatenablog.com
tableは、選択したフィールドで表を作ってくれます。
それ以上でもそれ以下でもないです。
構文もシンプルです。
| table <フィールド名>
使用例1:サーチ結果を表形式で確認する
Excelに慣れた人なら表のほうが見やすいんじゃないでしょうか。
また、サーチ結果をエクスポートするとき、そのままだと全てのフィールドが出力されるので見辛いです。
tableで必要なフィールドのみ抽出してからエクスポートすれば、不要な情報を除外できます。*1
例えば、ログのタイムスタンプ、ホスト名、ユーザーエージェントだけ確認したいときはこのように指定します。
index=_internal sourcetype=splunkd_ui_access | table _time host useragent
「何が必要かわからないから取りあえず全部エクスポートしちゃえ」は後から後悔します。
使用例2:表の列を任意の順番に変更する
statsやtimechartなどの集計コマンドを使うと表が自動で作成されます。
その表に対してtableを使うことで、列の順番を変更できます。
使用例3:一部の列を削除する
使用例1でも少し触れましたが、不要な列を削除できます。
列の削除には残したいフィールド名を指定すると消したいフィールド名を指定するの2つの手段があります。
例えばA,B,C,Dの4つのフィールドがあり、Cは不要だとします。
table でA,B,Dを指定するのが前者の手段で、Cを指定するのが後者の手段です。
列を削除するときは、フィールド名の前にマイナスをつけます。
上の例だと| table -C
です。
備考1:フィールド名の区切りはスペースでもカンマでも大丈夫
| table A B C
と書いても| table A,B,C
と書いても同じ結果が得られます。
他のコマンドで複数のフィールド名を指定するときも、同様にスペースとカンマの両方を使えます。
備考2:スペースを含むフィールド名はダブルクオーテーションで囲む
スペースを入れると別のフィールドとして認識されるので、スペースを含むフィールド名はダブルクオーテーションで囲みましょう。
そもそもフィールド名にスペースを入れるなと言われたらそれまでの話です。
備考3:フィールドの指定にはワイルドカードを使える
例えば| table date_*
と書けばdate_から始まるフィールドをまとめて指定できます。
tableの説明は以上です。
ここまで読んでいただき、ありがとうございました。
Splunk頻出SPLシリーズ
*1:fieldsでも同じことは可能です