Наистина харесвам ELK за анализиране на регистрационните файлове. Въпреки това съм заседнал в момент, в който трябва да анализира списък с речници. Следват моите дневници: -
IP - - 0.000 0.000 [24/May/2015:06:51:13 +0000] *"POST /c.gif HTTP/1.1"* 200 4 * user_id=UserID&package_name=SomePackageName&model=Titanium+S202&country_code=in&android_id=AndroidID&eT=1432450271859&eTz=GMT%2B05%3A30&events=%5B%7B%22eV%22%3A%22com.olx.southasia%22%2C%22eC%22%3A%22appUpdate%22%2C%22eA%22%3A%22app_activated%22%2C%22eTz%22%3A%22GMT%2B05%3A30%22%2C%22eT%22%3A%221432386324909%22%2C%22eL%22%3A%22packageName%22%7D%5D * "-" "-" "-"
URL декодираната версия на горния журнал е
IP - - 0.000 0.000 [24/May/2015:06:51:13 0000] *"POST /c.gif HTTP/1.1"* 200 4 * user_id=UserID&package_name=SomePackageName&model=Titanium S202&country_code=in&android_id=AndroidID&eT=1432450271859&eTz=GMT+05:30&events=[{"eV":"com.olx.southasia","eC":"appUpdate","eA":"app_activated","eTz":"GMT+05:30","eT":"1432386324909","eL":"packageName"}] * "-" "-" "-"
Където и да се опитам да го анализирам, ми показва _jsonparsefailure
. Прегледах и този въпрос и също така минах през различни форуми , но не намери идеално решение за същото. Как мога да анализирам json списък в logstash?? Ако не съществува досега, какво може да се заобиколи за същото.??
Следва моят конфигурационен файл.
filter {
mutate {
gsub => [
"message", "\+", "%20"
]
}
urldecode{
field => "message"
}
grok {
match => [
'message', '%{IP:clientip}%{GREEDYDATA} \[%{GREEDYDATA:timestamp}\] \*"%{WORD:method}%{GREEDYDATA}'
]
}
kv {
field_split => "&?"
}
json{
source => "events"
}
geoip {
source => "clientip"
}
}
events
- person PythonEnthusiast   schedule 04.08.2015{ "foo":"bar" }
JSON, който не може да анализира, е[ { "foo":"bar" } ]
- person PythonEnthusiast   schedule 04.08.2015