実施環境: Splunk Free 8.2.2
Splunk での検索において、あるフィールドを別のフィールド名で扱いたい場合があります。
rename コマンド等を使用してもフィールド名の変更はできますが、実はコマンドを使用しなくとも別のフィールド名を適用できる機能があります。
それが今回紹介する、エイリアスという機能です。
1. 概要
例えば、ログ A においてホスト名を表すフィールド名が「 host 」、ログ B において同じくホスト名を表すフィールド名が「 server 」であるとします。
この2つのログを組み合わせる場合、「 server 」というフィールド名が「 host 」というフィールド名になってくれればホスト名の比較がしやすくなります。
rename コマンドや eval コマンドでもこのような操作はできますが、これをコマンドなしで実現するのがエイリアスという機能です。
2. 設定方法
「設定」⇒「フィールド」を選択します。
「フィールドのエイリアス」を選択します。
エイリアスの一覧画面が開くので、右上の「新しいフィールドのエイリアス」を選択します。
エイリアスの設定を入力します。
ここでは以下の設定を入力します。
項目名 | 値 |
---|---|
宛先 App | search |
名前 | test_alias |
適用先 | ソースタイプ |
名前付き | splunkd |
フィールドのエイリアス |
log_level = level_alias
|
フィールド値を上書き | チェックしない |
「フィールドのエイリアス」では、=の左に元のフィールド名、右に新しいフィールド名を入力します。
新しいフィールド名が既に存在する場合、「フィールド値を上書き」にチェックが入っていればエイリアス後のフィールド名で上書き、チェックが入っていなければ既に存在するフィールド名がそのまま維持されます。
「適用先」には今回はソースタイプを使用していますが、ソースやホストに設定を紐づけることも可能です。
これでエイリアスが作成できました。
3. 使用方法
試しに、以下の SPL でエイリアスを使用してみましょう。
index="_internal"
| fillnull value="(NULL)" level_alias
| stats count BY log_level, level_alias, sourcetype
指定したソースタイプにおいて新しいフィールド名level_alias
が存在していることがわかります。