如何收集一个应用的日志(2)

这里介绍一下logstash-filebeat-receiver是如何接收消息,并送消息到Kafka MQ

因为logstash-filebeat-receiver其实就是logstash,它的配置文件结构离不开input,filter和output

Input

input {
    beats {
        port => 5044
        ssl => true
        ssl_certificate_authorities => ["/opt/logstash-6.2.2/ssl_ca/filebeat.crt","/opt/sumscope/logstash-6.2.2/ssl_ca/filebeat1.crt","/opt/sumscope/logstash-6.2.2/ssl_ca/sumslack.nginx.crt"]
        ssl_certificate=> "/opt/logstash-6.2.2/ssl_ca/logstash.crt"
        ssl_key => "/opt/logstash-6.2.2/ssl_ca/logstash.key"
        ssl_verify_mode => "force_peer"
    }
}

这里开了一个5044端口,用于接收filebeat发送过来的日志,而且使用了ssl协议。需要说一下的是,这里应用了客户端和服务端双向证书认证,比起https的单项认证,要安全很多。

ssl_certificate_authorities:配置filebeat端的证书
ssl_certificate:logstash-filebeat-receiver自己的证书
ssl_key:logstash-filebeat-receiver自己的私匙

Filter

filter {
        if([fields][log_source] == ""){
                drop{}
        }
}

这个filter很简单,把log_source字段没有值的日志过滤掉

Output

output {
    kafka {
        bootstrap_servers => "192.168.1.240:9092,192.168.1.212:9092"
        topic_id => "app-log-topic"
        batch_size => 10
        codec => json
        compression_type => "snappy"
    }
}

把日志发送到kafka MQ的app-log-topic队列,并且采用snappy的压缩方式。

此条目发表在IT分类目录,贴了, , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。

*