51 lines
1.0 KiB
Plaintext
51 lines
1.0 KiB
Plaintext
|
# input {
|
||
|
# stdin {}
|
||
|
|
||
|
# beats {
|
||
|
# port => 5044
|
||
|
# }
|
||
|
|
||
|
# tcp {
|
||
|
# port => 5000
|
||
|
# }
|
||
|
# }
|
||
|
|
||
|
# ## Add your filters / logstash plugins configuration here
|
||
|
|
||
|
# output {
|
||
|
# elasticsearch {
|
||
|
# hosts => ["es_ctnr:9200"]
|
||
|
# }
|
||
|
|
||
|
# stdout { codec => rubydebug }
|
||
|
# }
|
||
|
|
||
|
#filebeat 사용 선언 및 수신할 IP와 포트 지정
|
||
|
input {
|
||
|
beats {
|
||
|
port => 5000
|
||
|
host => "0.0.0.0"
|
||
|
}
|
||
|
}
|
||
|
#grok 형식으로 들어오는 로그를 가공하기 위해 필터 사용
|
||
|
# tags에 apache가 있을 경우 메시지 필드를 공용 아파치 로그로 변환하고 접속지의 IP를 기반으로 정보 가공 내용 추가하기
|
||
|
filter {
|
||
|
if "apache" in [tags]{
|
||
|
grok {
|
||
|
match => { "message" => "%{COMMONAPACHELOG}" }
|
||
|
}
|
||
|
geoip {
|
||
|
source => "clientip"
|
||
|
target => "geoip"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# Logstash의 가공한 정보를 어디에 출력할지 설정
|
||
|
# 모든 데이터를 elk-%{+YYYY.MM.dd}라는 이름의 인덱스를 만들어서 Elasticsearch로 보내도록 설정
|
||
|
output {
|
||
|
elasticsearch {
|
||
|
hosts => "http://es:9200"
|
||
|
index => "elk-%{+YYYY.MM.dd}"
|
||
|
}
|
||
|
}
|