0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Splunk: データを塗り分け形式で世界地図上に表示する

Posted at
実施環境: Splunk Free 8.2.2

0. 概要

Splunk にはデフォルトで、世界地図上にデータを表示できる視覚エフェクトが存在します。
今回は、名前を指定した国を世界地図上で塗りつぶす形式を紹介します。

WS000041.JPG

1. SPL 文の組み方

例として、以下の SPL 文を使用します。
少々わかりにくいですが、日本が塗りつぶされています。

Splunk
| makeresults count=1
| eval CNT = 100
| eval NAME = "Japan"
| geom geo_countries featureIdField="NAME"

WS000041.JPG

表としては以下のようになります。
なお、 stats コマンドを使うなど情報の取り方によっては「 _time 」列がない場合も多いです。

- - _time featureCollection geom
国名 ログ出力日時 地理情報取得元 地理情報
国名 ログ出力日時 地理情報取得元 地理情報
... ... ... ... ...

「 featureCollection 」と「 geom 」は geom コマンドにより生成されるフィールドです。
geom コマンドは Splunk 上のルックアップを参照して地理情報を取得するコマンドで、基本的な文法は以下の通りです。

geom ルックアップ名 featureIdField=国名

今回使用したルックアップは、 Splunk にデフォルトで入っている「 geo_countries 」という地理情報が記載されたルックアップです。
「 featureId 」に記載された国名と geom コマンドの「 featureIdField 」オプションで指定した項目に格納された国名を比較して、「 geom 」に入っている地理情報を返します。

WS000051.JPG

Splunk デフォルトの地理情報ルックアップには「 geo_countries 」のほかに、「 geo_us_states 」があります。
こちらを使用すると、アメリカ合衆国の地理情報が取得できます。

WS000050.JPG

実はこの視覚エフェクトに関しては、表の形は結構崩しても表示できます。
究極、「値」と「地理情報」の2項目が入っていれば地図上に情報を表示できてしまったりします。

Splunk
| makeresults count=1
| eval CNT = 100
| eval NAME = "Japan"
| geom geo_countries featureIdField="NAME"
| fields - _time, NAME, featureCollection
| rename geom AS "地理情報"
- -
地理情報
地理情報
... ...

WS000042.JPG

ただし、このような変形をした場合、地図上の塗りつぶしに補正が効かず、かなり不格好な形になります。
変形する意味もまずないので、 geom コマンドの後ろに処理をつなげるのは避けたほうがよいでしょう。

WS000047.JPG

WS000049.JPG

一方、「値」を2種類にするなど、余計な列を追加してしまうと表示できません。
「値」「国名」「ログ出力日時」「地理情報取得元」「地理情報」以外の情報は入れないようにしてください。

2. 使用方法

Splunk 視覚エフェクトの「 Choropleth Map 」を選択することで使用できます。

WS000043.JPG

3. 地図の移動/拡大/縮小

地図は、ドラッグすることで視点を移動させることが可能です。

拡大/縮小を行う場合は、地図の左上端にあるボタンを押します。

WS000048.JPG

上の2つのボタンは、拡大/縮小を行います。
「 + 」が拡大、「 - 」が縮小です。

WS000034.JPG

その下のボタンを押すと、デフォルトの視点に戻ります。

WS000034 - コピー.JPG

デフォルトの視点は、フォーマットの全般タブで指定します。

WS000044.JPG

例えば「緯度」を「35」、経度を「135」、ズームを「5」にすると以下の視点がデフォルトになります。

WS000047.JPG

4. 色分け

地図上での色分けの設定は、フォーマットの色タブで実施できます。

WS000053.JPG

「色モード」を設定することで、色分けの方法を変更できます。
具体的にどのような形で色分けされるかは、「プレビュー」で確認できます。

例えば「シーケンシャル」では、以下のように白から最大色へのグラデーションで表示されます。
色数は「倍率数」、色そのものは「最大色」で指定できます。

WS000054.JPG

「ダイバージェント」では「倍率数」「最大色」に加えて「最小色」を選択でき、2色の間のグラデーションで表示されます。
2色のちょうど中間、白色となる値は、「中性点」で指定できます。

WS000055.JPG

前の2種類が値の大きさによりグラデーションを作る形の色分け方法なのに対し、「カテゴリ」は値をそのまま用いた色分け方法です。
値としては数値のほか、文字列も用いることができます。
例えば以下の例では、アメリカ合衆国の州について頭文字別に色分けしています。

Splunk
| inputlookup geo_us_states
| eval GROUP = substr(featureId, 1, 1)
| table GROUP, featureId
| geom geo_us_states featureIdField="featureId"

WS000060.JPG

5. IP アドレスからの国名の取得方法

データを点形式で世界地図上に表示する で紹介した iplocation コマンドですが、実は今回の視覚エフェクトでも使用できます。

Splunk
| makeresults count=1
| eval ip = "8.8.8.8"
| iplocation ip

WS000039.JPG

「 Country 」を geom コマンドにかけると、ちょうどアメリカ合衆国が塗りつぶされることが確認できます。

Splunk
| makeresults count=1
| eval ip = "8.8.8.8"
| iplocation ip
| stats count BY Country
| geom geo_countries featureIdField="Country"

WS000052.JPG

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?