先上图看下效果,我这边直接做的logstash tcp收集,后期还会改造加入redis,会在kafka收集 缓解TCP不稳定带来的日志丢失。
我这边主要讲一下logstash.conf的配置因为我的Nlog日志是多行输出的,所以这边需要做一下多行的处理
input {
tcp{
port => 5044
type => "tcplog"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => ["elasticsearch:9200"]
index => "logstashtcpjob"
}
}
注意,我的ELK是用docker-compose安装的,所以host这边直接用elasticsearch:9200就可以。
docker-compose 如何安装ELK 应该大家都会吧。比较docker安装还是很简单的。如果不会安装的,可以在下面留言,我会再写一篇文章。