logstash + kafka

本文详细介绍了如何将Logstash与Kafka进行整合,包括软件版本兼容性、Zookeeper和Kafka的启动步骤,以及Logstash配置文件的定义。通过实例展示了如何从文件中读取数据并将其发送到Kafka主题。

logstash和kafka整合首先要注意软件版本之间的兼容性;

logstash 2.3.1

kafka 2.11-0.8.2.2

第一步:启动zookeeper

cd /home/wql/app/zookeeper-3.4.10

./bin/zkServer.sh start

第二步:启动kafka

cd /home/wql/app/kafka/bin

nohup ./kafka-server-start.sh /home/wql/app/kafka/config/server.properties &

启动消费者:

./kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic accesslog

第三步:启动logstash

定义:flow-kafka.conf

input {

  file {

    path => "/home/wql/app/nginx_logs/*"

    discover_interval => 5

    start_position => "beginning"

  }

}

output {

        kafka {

          topic_id => "accesslog"

          codec => plain {

                format => "%{message}"

                charset => "UTF-8"

          }

          bootstrap_servers => "localhost:9092"

        }

}

 

启动程序:

cd /home/wql/app/elk2/logstash-2.3.1

./bin/logstash agent -f flow-kafka.conf

使用Filebeat、LogstashKafka对Spring Boot项目日志进行采集的案例流程通常如下: ### 日志产生 在Spring Boot应用中,可通过配置`logback.xml`文件来产生日志并将其发送到Logstash。示例配置如下: ```xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <property resource="properties/logback-variables.properties" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="UTF-8"> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern> </encoder> </appender> <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>172.16.1.16:9250</destination> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" /> </appender> <root level="info"> <appender-ref ref="STDOUT" /> <appender-ref ref="LOGSTASH" /> </root> </configuration> ``` 此配置将日志输出到控制台的同时,也会发送到指定的Logstash地址 [^4]。 ### Filebeat配置 编辑`filebeat-7.9.3/filebeat.yml`文件,配置要读取的Spring Boot应用的日志路径,不同的服务可配置不同的日志路径。示例如下: ```yaml filebeat.inputs: - type: log enabled: true paths: - /home/aisys/logs/member-service/*.log fields: log_topic: member-service ``` 该配置使Filebeat读取指定路径下的日志文件,并为日志添加自定义字段`log_topic` [^3]。 ### 日志收集与处理 设置Kafka作为日志收集的中间件,配置Logstash以接收和处理从Filebeat发送过来的日志。具体步骤为:先由Filebeat将收集到的日志发送到Kafka,再由LogstashKafka接收日志进行处理,最后将处理后的日志存入Elasticsearch中 [^1]。 ### 日志可视化 在Docker环境下部署Logstash日志收集工具,完成日志采集后,将数据写入Elasticsearch,再用Kibana进行可视化展示 [^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值