input {
tcp {
type => "logs"
port => 12203
}
}
output {
pipe {
command => "python /usr/lib/piperedis.py"
}
}
: 우리는 다음 설정을 사용하여 기계
"host"
에 로그를 따기있어
input {
udp {
type => "logs"
port => 12203
}
}
filter {
grok {
type => "tracker"
pattern => '%{GREEDYDATA:message}'
}
date {
type => "tracker"
match => [ "timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ]
}
}
output{
tcp{
type => "logs"
host => "host"
port => 12203
}
}
여기에서 우리는 라인을 파싱하여 Redis 데이터베이스에 저장합니다. 그러나 우리는 흥미로운 문제를 발견했습니다.
Logstash '랩'은 JSON 스타일 패키지 IE에서 로그 메시지 :
{\"@source\":\"source/\",\"@tags\":[],\"@fields\":{\"timestamp\":[\"2013-09-16 15:50:47,440\"],\"thread\":[\"ajp-8009-7\"],\"level\":[\"INFO\"],\"classname\":[\"classname\"],\"message\":[\"message"\]}}
우리는 그 다음을 받아 다음 컴퓨터에 전달하기에, 메시지를 같이하는 다른에 넣어 것을 가지고 싸개! 우리는 실제 로그 메시지에만 관심이 있고 다른 것들 (소스 경로, 소스, 태그, 필드, 타임 스탬프 등)은 관심이 없습니다.
필터를 사용하거나이 작업을 수행 할 수있는 방법이 있습니까? 문서를 살펴 보았지만 Logstash 인스턴스간에 원시 로그 행을 전달하는 방법은 없습니다.
감사합니다,
매트