mvindex を利用して指定した番号に格納されているマルチバリューデータの情報を確認します。
なお、マルチバリュー(Multi-value)とは、1つのフィールドの中に「複数の値」が入っている状態のことです。
たとえば、ip のフィールドの中のデータが [192.168.1.1, 10.0.0.5, 172.16.1.10]となっている場合、ipはマルチバリューだということができます。
mvindexを使ったSPLの書き方
以下のSPLは mvindexマクロを使い、マルチバリューである siteフィールドの何番目に”amazon*”が入っているか(配列番号)をチェックし、さらにその配列番号に格納されているデータをダッシュボード上に表示しています。
source="stream:Splunk_HTTPURI"
| eval org_site=site
| makemv site delim="."
| eval mv_num=mvfind(site, "amazon*")
| eval mv_data=mvindex(site, mv_num)
| table org_site site mv_num mv_data
上記SPLを実際に実行するとこうなります。

上記の例だと、3番目に “amazon*”が入っているのでmv_numが”2″(”0″からカウントしているので)となり、さらに site の 配列”2″のデータを取得すると”amazontrust”となっています。
参考サイト:
・Splunkでマルチバリューフィールドを扱う (eval関数編)(じゅのぶろ)
https://jnox.hatenablog.com/entry/splunk/eval-multi-value
























