티스토리 뷰
특정 filed의 key의 value에 있는 json 값을 파싱하여, 특정 위치에 위치시키는 역활을 한다.
어디에 위치 할지 정하지 않으면, 디폴트 값으로 root에 위치를 시킨다.
input {
stdin {
}
}
filter {
json {
source => "message"
}
}
output {
stdout {
codec => rubydebug
}
}
위의 json filter는 message 라는 키에 있는 값을 json 파싱하여, root에 위치 시킨다.
1
[WARN ] 2020-03-19 20:28:28.002 [[main]>worker7] json - Parsed JSON object/hash requires a target configuration option {:source=>"message", :raw=>"1"}
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/awesome_print-1.7.0/lib/awesome_print/formatters/base_formatter.rb:31: warning: constant ::Fixnum is deprecated
{
"@timestamp" => 2020-03-19T11:28:27.684Z,
"message" => "1",
"host" => "pdv-dapi-os001.novalocal",
"tags" => [
[0] "_jsonparsefailure"
],
"@version" => "1"
}
message의 value 1은 json 값이 아니기 때문에, jsonparse가 불가 하기 때문에 tags에 에러 메세지가 담기게 된다.
{"a":"b"}
{
"@timestamp" => 2020-03-19T11:28:39.993Z,
"a" => "b",
"message" => "{\"a\":\"b\"}",
"host" => "pdv-dapi-os001.novalocal",
"@version" => "1"
}
message 의 value 가 json 값으로, 이를 파싱하여 key와 value 를 root에 위치시켰다.( a => b )
{"@timestamp":"2020-02-02T11:11:11.111Z"}
{
"@timestamp" => 2020-02-02T11:11:11.111Z,
"message" => "{\"@timestamp\":\"2020-02-02T11:11:11.111Z\"}",
"host" => "pdv-dapi-os001.novalocal",
"@version" => "1"
}
message 의 value 를 json 파싱하게 되면, logstash 이벤트에 기본적으로 들어가는 @timestamp와 같은데, value가 적절한 format으로 값이 있으면, 이 값을 기존 값으로 대체를 하게 된다.
{"@timestamp":"xxx"}
[WARN ] 2020-03-19 20:30:19.168 [[main]>worker2] json - Unrecognized @timestamp value, setting current time to @timestamp, original in _@timestamp field {:value=>"\"xxx\""}
{
"message" => "{\"@timestamp\":\"xxx\"}",
"host" => "pdv-dapi-os001.novalocal",
"@timestamp" => 2020-03-19T11:30:19.161Z,
"tags" => [
[0] "_timestampparsefailure"
],
"_@timestamp" => "xxx",
"@version" => "1"
}
위와 유사한 예제로서, @timestamp 값의 형식이 잘못되었기 때문에 json parsing 이 실패하여 logstash event 의 기존 @timestamp 값은 유지가 되고, 대신 _@timestamp 라는 key에 값이 저장된다.
'Elastic Stack' 카테고리의 다른 글
[ Kibana ] Filter 사용하기 (0) | 2020.04.09 |
---|---|
[ Kibana ] Visualize 에서 Field 가 보이지 않는 경우 (0) | 2020.04.09 |
[ logstash ] config.reload.automatic 사용 및 에러 (0) | 2020.03.19 |
[ Logstash ] generator 사용( input plugins ) (0) | 2020.03.19 |
[ logstash ] logstash event 구조 (0) | 2020.03.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- tomcat
- Postman
- JPA
- Filter
- Log
- mac
- error
- SpringBoot
- Java
- plugin
- gradle
- maven
- apm
- Size
- spring boot
- docker
- Index
- elasticsearch
- Container
- Kibana
- install
- Linux
- Git
- logstash
- spring
- JSON
- AWS
- intellij
- Spark
- scala
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함