Jeug#2 lt
- 3. 自己紹介
■ 片野 祐(かたの ゆう)
■ Elasticを使い始めたきっかけ
– 機械学習を試したくて…5.xから利用
■ JapanElasticUserGroupの運営やってます
■ 第1回JapanElasticUserGroupでも喋ってました
– https://www.slideshare.net/YuKatano/jeug1lt
■ 12/21(金)のAdvent Calendar書いてました
– https://qiita.com/yukata_uno/items/669fb9b69e39d52c4e29
■ 先週にLTするのが決まりました
3
- 8. 8
長いField名の正体
{
"@version": "1",
"dataset": "10.44.160.88:6042",
"@timestamp": "2018-12-21T06:55:43.307Z",
"timestamp": 1545375095319,
"update": {
"Sysdb": {
"interface": {
"counter": {
"eth": {
"slice": {
"phy": {
"1": {
"intfCounterDir": {
"Ethernet3": {
"intfCounter": {
"current": {
"rates": {
"outPktsRate": 0.03442882344690907,
"statsUpdateTime": 280228.978311996,
"inBitsRate": 0,
"inPktsRate": 0,
"outBitsRate": 45.99690812507048
},
"statistics": {
"outMulticastPkts": 0,
"outDiscards": 0,
"outBroadcastPkts": 0,
"inMulticastPkts": 0,
"outOctets": 1559279,
"inUcastPkts": 0,
"inBroadcastPkts": 0,
"inDiscards": 0,
"outErrors": 0,
"inErrors": 0,
"outUcastPkts": 9337,
"inOctets": 0,
"lastUpdate": 280228.97986983
}
}
}
}
}
}
}
}
}
}
}
}
}
}
JSONの入れ子構造によって生み出されたField名
- 11. 11
対処法:filter mutate rename
filter {
mutate {
rename => {
"[update][Sysdb][interface][counter][eth][slice][phy][1][intfCounterDir][Ethernet3][intfCounter][current]" => "intf" }
}
}
renameは主に
filter {
mutate {
# Renames the 'HOSTORIP' field to 'client_ip'
rename => { "HOSTORIP" => "client_ip" }
}
}
のようにfield名の変換に使うが、今回のように共通したfield名の置換も
一行で書ける。
- 15. まとめ
■ 可視化、分析を考えて、データの格納をする
– どの立ち位置のエンジニアにも言えること
– ただデータを流すだけではなく、データの構造を考えて
データを流すべし
■ 「Elasticsearchにデータ入れておいて」→「 (分析し
やすい形で)Elasticsearchにデータ入れておいて(。
あとは取得するfieldが増えても修正するところがで
きるだけ少ないように、データを吐く側でどうにか
できるところはどうにかしておいて)」
■ 世の中を流れるデータがきれいなものでありますよ
うに
15