Tomcat+Filebeat+Kafka+Logstash+ES+Kibana日志流实现

整个数据流示例如图:

1,Tomcat,Filebeat,ES,Kibana安装

这些软件的安装配置可以参考之前的文章:

Filebeat,ES,Kibana:

Tomcat+Filebeat+logstash+ES+Kibana日志监控配置(待续)_yangkei的博客-CSDN博客

Lostash安装请参考:Logstash8.4在Linux系统上的安装以及配置Tomcat日志(ELK安装part2)_yangkei的博客-CSDN博客

Kafka集群安装:

Kafka3.2.3基于Linux的集群安装(待续)_yangkei的博客-CSDN博客

2, 配置Filebeat

vi /app/filebeat/filebeat.kafka.yml

filebeat.prospectors:
  - type: log
    enabled: true
    paths:
        - /app/tomcat/logs/tomcat_access_json.2022-09-23.log
output.kafka:
    enabled: true
    hosts: ["192.168.88.5:9092","192.168.88.7:9092","192.168.88.9:9092"]
    topic: tomcatlogtest
type     输入类型。设置为log,表示输入源为日志。
enabled     设置配置是否生效:true:生效 false:不生效
paths     需要监控的日志文件的路径。多个日志可在当前路径下另起一行写入日志文件路径。    
topic     日志输出到消息队列Kafka的Topic,请指定为您已创建的Topic。
version  Kafka的版本,可在消息队列Kafka的实例详情页面获取。
不配置此参数会报错。
由于不同版本的Filebeat支持的Kafka版本不同,例如8.2及以上版本的Filebeat支持的Kafka版本为2.2.0,因此version需要设置为Filebeat支持的Kafka版本,否则会出现类似报错:Exiting: error initializing publisher: unknown/unsupported kafka vesion '2.2.0' accessing 'output.kafka.version' (source:'filebeat.kafka.yml'),详细信息请参见version。

修改权限:

chmod go-w /app/filebeat/filebeat.kafka.yml

3, 配置Kafka

创建主题tomcatlogtest
[root@goya2 kafka]# /app/kafka/bin/kafka-topics.sh --create --topic tomcatlogtest --partitions 1 --replication-factor 3 --bootstrap-server goya1:9092,goya2:9092,goya3:9092
Created topic tomcatlogtest.

启动Filebeat
cd /app/filebeat
./filebeat -e -c filebeat.kafka.yml

4,配置Logstash

vi /app/logstash/config/tomcatlogtest.conf

input {
  #kafka输入源配置
  kafka {
    #kafka集群地址
    bootstrap_servers => ["192.168.88.5:9092,192.168.88.7:9092,192.168.88.9:9092"]
    #从kafka中哪个topic读取数据,这里的topic名要与filebeat中使用的topic保持一致
    topics => ["tomcatlogtest"]     #这是kafka中的消费组者ID,默认值是“logstash”。kafka将消息发到每个消费者组中,同一个组中的消费者收到的数据不重复。例如有两个消费者组G1、G2,G1中有成员A、B,G2中有成员C、D。kafka从输入中收到了10条消息,会将这10条消息同时发送给G1和G2,A和B各会收到这10条消息中的一部分,他们收到消息的并集就是这10条消息,C和D同理。
    group_id => "filebeat-logstash"
    

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
很抱歉,我不太清楚您想要哪方面的代码,因为ELK+kafka+reyslog+filebeat是一个比较复杂的系统架构,它们涉及到不同的组件和配置。以下是一个简单的程示例,仅供参考: 1. 安装配置Kafka Kafka是一个分布式消息队列,可用于实现日志传输。可从官方网站下载Kafka的二进制包,然后按照官方文档进行配置。 2. 安装配置Reyslog Reyslog是一个开源的日志收集器,可用于将日志发送到Kafka。可从官方网站下载Reyslog的二进制包,然后按照官方文档进行配置。 3. 安装配置Filebeat Filebeat是一个轻量级的日志采集器,可用于将本地日志文件发送到Reyslog。可从官方网站下载Filebeat的二进制包,然后按照官方文档进行配置。 4. 安装配置ELK ELK是一个开源的日志分析平台,由ElasticsearchLogstashKibana三个组件组成。可从官方网站下载ELK的二进制包,然后按照官方文档进行配置。 5. 配置Kafka输出插件 在Logstash中配置Kafka输出插件,以将从Reyslog接收到的日志发送到Kafka。 6. 配置Elasticsearch输入插件 在Logstash中配置Elasticsearch输入插件,以将从Kafka接收到的日志发送到Elasticsearch中进行存储和索引。 7. 配置KibanaKibana中配置索引和仪表板,以可视化和分析存储在Elasticsearch中的日志数据。 以上是一个简单的ELK+kafka+reyslog+filebeat程示例,具体的代码实现需要根据实际情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yangkei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值