'잘못된 구성로드 할 수 없습니다'- & 로그 사용자 정의 패턴 아래 & 다음 nginx를 액세스, Nginx에 오류가 logstash.conf에게 있습니다Logstash 나는 다음과 같은 입력에 대한 logstash 구성하려고
input {
beats {
port => 5044
codec => multiline {
# Grok pattern names are valid! :)
pattern => "^%{TIMESTAMP_ISO8601} "
negate => true
what => previous
}
}
}
filter {
if [type] == "nginx-access" {
grok {
match => [ "message" , "%{COMBINEDAPACHELOG}+%{GREEDYDATA:extra_fields}"]
overwrite => [ "message" ]
}
mutate {
convert => ["response", "integer"]
convert => ["bytes", "integer"]
convert => ["responsetime", "float"]
}
geoip {
source => "clientip"
target => "geoip"
add_tag => [ "nginx-geoip" ]
}
date {
match => [ "timestamp" , "dd/MMM/YYYY:HH:mm:ss Z" ]
remove_field => [ "timestamp" ]
}
useragent {
source => "agent"
}
} else if [type] == "nginx-error" {
grok {
match => [ "message" , "(?<timestamp>%{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY}[- ]%{TIME}) \[%{LOGLEVEL:severity}\] %{POSINT:pid}#%{NUMBER}: %{GREEDYDATA:errormessage}(?:, client: (?<client>%{IP}|%{HOSTNAME}))(?:, server: %{IPORHOST:server})(?:, request: %{QS:request})?(?:, upstream: \"%{URI:upstream}\")?(?:, host: %{QS:host})?(?:, referrer: \"%{URI:referrer}\")"]
overwrite => [ "message" ]
}
geoip {
source => "client"
target => "geoip"
add_tag => [ "nginx-geoip" ]
}
date {
match => [ "timestamp" , "YYYY/MM/dd HH:mm:ss" ]
remove_field => [ "timestamp" ]
}
} else {
mutate {
gsub => ["message", "\n", " "]
}
grok {
match => [ "message", "%{TIMESTAMP_ISO8601:timestamp} \[%{NOTSPACE:uid}\] \[%{NOTSPACE:thread}\] %{LOGLEVEL:loglevel} %{DATA:class}\-%{GREEDYDATA:message}" ]
overwrite => [ "message" ]
}
date {
match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss" ]
target => "@timestamp"
}
if "_grokparsefailure" in [tags] {
drop { }
}
}
}
output {
stdout { codec => rubydebug }
if [type] == "nginx-access" {
elasticsearch { hosts => localhost }
index => "nginx-access-%{+YYYY.MM.dd}"
} else if [type] == "nginx-error" {
elasticsearch { hosts => localhost }
index => "nginx-error-%{+YYYY.MM.dd}"
} else {
elasticsearch { hosts => localhost }
}
}
그러나 실행에 다음 오류가 발생합니다.
ERROR logstash.agent - Cannot load an invalid configuration {:reason=>"Expected one of #, {
at line 84, column 9 (byte 1883) after output {\n \nstdout { codec => rubydebug }\nif [type] ==
\"nginx-access\" {\n elasticsearch { hosts => localhost }\n index "}
무엇이 오류인지 모르겠습니다. 누군가가 알아낼 수있게 도와 줄 수 있습니까? 또한 내가 더 가비지 문자가 없는지 잘 보이는 16 진 덤프 &를 실행 시도
는