1
메시지 속성에 계층 적 메시지 데이터가 포함되어있을 때 Logstash가 elasticsearch에 구문 분석 문서를 쓰지 않는 오류가 발생했습니다. 메시지 속성에 계층 적 데이터가 포함되어 있지 않으면 잘 작동합니다.Logstash가 Elasticsearch에 쓰지 않습니다.
다음{
"Enviroment": "Dev",
"Level": "Fatal",
"CreatedOn": "2014-09-29 20:46:30.5042",
"WindowsIdentity": "XXX\\XXX",
"Application": "LoggingTest",
"UserAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36",
"SessionId": "wrm11rken3lc442humrxyhoe",
"URL": "/LoggingTest/jsnlog.logger",
"UserAddress": "XXX.XXX.XXX.XXX",
"Message": {
"stack": "TypeError: undefined is not a function\n at Log (http://XXX/LoggingTest/:58:16)\n at HTMLInputElement.onclick (http://XXX/LoggingTest/:66:141)",
"message": "undefined is not a function",
"name": "TypeError",
"logData": "JS Fatal Exception"
},
"@version": "1",
"@timestamp": "2014-09-29T20:46:30.331Z",
"type": "JS"
}
내 logstash의 설정입니다 : 여기
{
"Layer": "Web",
"DurationMilliseconds": 65,
"CreatedOn": "2014-09-29T20:44:40.5380157Z",
"Enviroment": "Dev",
"AssemblyName": "LoggingTest",
"ClassName": "HomeController",
"MethodName": "Index",
"WindowsIdentity": "XXX\\YYY",
"SessionId": "wrm11rken3lc442humrxyhoe",
"Application": "LoggingTest",
"Machine": "XXX.XXX.XXX.XXX",
"Browser": "Chrome",
"@version": "1",
"@timestamp": "2014-09-29T20:45:38.432Z",
"type": "Perf"
}
는 일부 데이터 (가) 작동하지 않을 수 있습니다 : 여기에 작동 일부 데이터는
input {
redis {
host => "127.0.0.1"
type => "JS"
data_type => "list"
key => "JS"
}
}
filter
{
json{ source => "message"}
}
output {
stdout { codec => rubydebug}
elasticsearch {
host => localhost
index => dev
}
}
나는 위의 코드를 통해 프로그램을 실행할 때 첫 번째 항목은 내 elasticsearch로 성공적으로 파싱되지만 두 번째 항목은 logstash에 의해 작성된 오류없이 사라집니다.
메시지가 Redis 대기열에서 검색되고 유효한 JSON으로 구문 분석된다는 사실을 stdout에서 알 수 있습니다. 나는 elasticsearch 출력에 클러스터 이름을 추가하려고 시도했지만 문제가 해결되지 않았습니다. 첫 번째 것은 여전히 탄성 검색에 추가되고 두 번째 것은 추가되지 않습니다. – bechbd
자식 메시지를 중첩되지 않고 별도의 필드로 구문 분석하여이 작업을 수행 할 수있었습니다. – bechbd