Wildfly 로그를 Elastic Stack으로 가져오기
2695 단어 ElasticsearchLogstash
소개
Wildfly의 로그를 Elastic Stack에 가져와 Kibana에서 로그가 표시되는 환경을 구축해 봅니다.
데이터 흐름은
wildfly 로그 → Filebeat → Logstash → Elasticsearch
됩니다.
Filebeat에서 직접 Elasticsearch라는 구성할 수 있습니다.
환경
사용한 환경은 다음과 같습니다.
사용한 환경은 다음과 같습니다.
「 ElasticStack 7.8 환경 구축 」로 구축한 환경을 이용하고 있습니다.
Logstash 설정
/etc/logstash/conf.d 다음에 wildfly.conf 파일을 만듭니다.
# vi /etc/logstash/conf.d/wildfly.conf
input {
beats {
port => "5044"
}
}
filter {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:logdate} %{LOGLEVEL:loglevel}\s+\[%{GREEDYDATA:class}\]\s+\(%{GREEDYDATA:thread}\)\s+%{GREEDYDATA:msgbody}" }
}
date {
match => ["logdate", "YYYY-MM-dd HH:mm:ss,SSS"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "wildfly-%{+YYYY.MM.dd}"
}
}
Elasticsearch로 보내기 전에 Logstash에서 확인하고 싶은 경우는 아래와 같이 표준 출력으로 출력하도록 설정하여 확인할 수 있습니다.
output {
stdout { codec => rubydebug }
}
# vi /etc/logstash/conf.d/wildfly.conf
input {
beats {
port => "5044"
}
}
filter {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:logdate} %{LOGLEVEL:loglevel}\s+\[%{GREEDYDATA:class}\]\s+\(%{GREEDYDATA:thread}\)\s+%{GREEDYDATA:msgbody}" }
}
date {
match => ["logdate", "YYYY-MM-dd HH:mm:ss,SSS"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "wildfly-%{+YYYY.MM.dd}"
}
}
output {
stdout { codec => rubydebug }
}
위의 Wildfly 로깅 설정 파일을 보면 다음 레이아웃이되었습니다.
formatter.PATTERN.pattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n
따라서 grok은 다음과 같이 설정합니다.
%{TIMESTAMP_ISO8601:logdate} %{LOGLEVEL:loglevel}\s+\[%{GREEDYDATA:class}\]\s+\(%{GREEDYDATA:thread}\)\s+%{GREEDYDATA:msgbody}
마지막으로 만든 wildfly.conf 파일을 읽어 Logstash를 시작합니다.
# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/wildfly.conf
Filebeat 설정
filebeat.yml을 변경하고 Wildfly 로그 파일을 읽고 Logstash로 보내도록 설정합니다 (변경점 만 발췌).
# vi /etc/filebeat/filebeat.yml
- type: log
enabled: true
paths:
- /opt/wildfly-20.0.1.Final/standalone/log/server.log
#output.elasticsearch:
#hosts: ["localhost:9200"]
output.logstash:
hosts: ["localhost:5044"]
Filebeat을 자동 시작하도록 설정하고 시작합니다.
# systemctl enable filebeat
# systemctl start filebeat
Kibana로 시각화
Index Patterns에 wildfly-*로 등록하고 [Discover]에서 로그를 확인해 보면 다음과 같이 표시됩니다.
Reference
이 문제에 관하여(Wildfly 로그를 Elastic Stack으로 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mkyz08/items/fe114779f9683f658277
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# vi /etc/filebeat/filebeat.yml
- type: log
enabled: true
paths:
- /opt/wildfly-20.0.1.Final/standalone/log/server.log
#output.elasticsearch:
#hosts: ["localhost:9200"]
output.logstash:
hosts: ["localhost:5044"]
# systemctl enable filebeat
# systemctl start filebeat
Index Patterns에 wildfly-*로 등록하고 [Discover]에서 로그를 확인해 보면 다음과 같이 표시됩니다.
Reference
이 문제에 관하여(Wildfly 로그를 Elastic Stack으로 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mkyz08/items/fe114779f9683f658277텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)