これはなに?
Splunkでログ分析した際に、ログの出力結果と外部にある情報を結合したいことがあり、Lookup Tableがめちゃくちゃ便利だったので、設定方法を備忘録として記載します。
Lookup Tableとは
Splunkの検索結果と結合するためのテーブル。イメージとしては、マスターテーブルのようなものです。 ログに含まれている商品IDを、別で管理している商品マスタと結合して、商品名を取ってくるようなことができます。
Lookup TableはCSVによるファイルベースによるものだけでなくて、RDBやKVストアなども利用することができます。
今回やること
以前SplunkにAWSのコスト情報を取り込んだので、Nameタグの情報とLookup Table上に作成した管理情報を結合しようと思います。
↑ がNameタグの一覧です。NameとLookup Tableを結合して追加の情報(部署、管理者名、連絡先)を表示できるようにします。
Lookup Table作成&結合
Lookup Tableの作成し、ログとの結合までやってみます。 大まかな手順としては、以下となります。
- Lookup Table用 CSVファイル作成
- CSVをLookupTableに登録
- 検索結果とLookup Tableを結合
1. Lookup Table用 CSVファイル作成
以下のようなCSVを作成します。
先頭行がヘッダーとなります。
2. CSVをLookupTableに登録
1.で作成したCSVをLookupTableに登録します。
① Splunk にログインし、[設定- ルックアップ - ルックアップテーブルファイル - 新しいルックアップテーブルファイル] をクリック
② 以下の情報を入力し、[保存] をクリック
項目 | 値 |
---|---|
宛先App | search |
ルックアップファイルをアップロード | 1.で作成したCSV |
宛先ファイル名 | <任意> .csv |
③[設定- ルックアップ - ルックアップ定義 - 新しいルックアップ定義] をクリック
④ 以下の情報を入力し、[保存] をクリック
項目 | 値 |
---|---|
宛先App | search |
Name | 任意 ※ |
タイプ | ファイルベース |
ルックアップファイル | ②で登録した <任意> .csv |
※ SearchからLookup Tableを呼び出す際のテーブル名になります。
⑤ Searchを開き、Lookup Tableが正常に登録されているか確認
<書式> |inputlookup <Lookup Table名>
Lookup Tableが作成されたことを確認できました。
3. 検索結果とLookup Tableを結合
最後にホスト名をキーにして、ログの出力結果とLookupTableを結合します。
lookup
コマンドを使って外部テーブルとログを結合します。
lookup - Splunk Documentation
<書式> | lookup <Lookup Table名> <キー名> OUTPUT <出力したい項目> ...
<例> | lookup server_info HostName OUTPUT Dept Administrator Contact
結合前
結合後
Lookup Tableと結合することで、部署、管理者名、連絡先の情報を追加で表示することができるようになりました。