阿里云ECS上使用docker搭建filebeat+kafka集群+zookeep集群+logstash+elasticsearch集群+kibana实现跨主机日志收集系统【一】

该日志收集系统,是用来收集基于springCloud分布式系统的生产环境。为了方便数据统计和分析,我将日志生成的格式,转化为JSON格式。 具体如何生成,稍后另写一篇文章介绍。

线上架构流程图:

 

一、先搭建filebeat

1、这里,我没有使用docker安装filebeat,而是直接以tar包的形式,解压到每个服务器上。
官网下载filebeat:
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.4.2-linux-x86_64.tar.gz

将下载的安装包,传到每台linux服务器上的/opt目录下。然后解压,就可以了
官方文档地址Filebeat官网文档教程,可用谷歌翻译阅读




2、直接上传我的配置文件信息

[root@slave1 filebeat-7.4.2]# cat kedafilebeat.yml 
###################### Filebeat Configuration Example #########################

# This file is an example configuration file highlighting only the most common
# options. The filebeat.reference.yml file from the same directory contains all the
# supported options with more comments. You can use it as a reference.
#
# You can find the full configuration reference here:
# https://www.elastic.co/guide/en/beats/filebeat/index.html

# For more available modules and options, please see the filebeat.reference.yml sample
# configuration file.

#=========================== Filebeat inputs =============================

filebeat.inputs:

# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations.
# 采集的数据,是日志类型,所以 type为 log
- type: log 
  # true: 表示启动
  enabled: true
  #采集日志的 路径
  paths:
    - /data/springCloud/eureka/keda-eureka/*/logs/error/*.json
  #编码格式
  encoding: utf-8
  #采集当期时间,往前推12个小时内,所有文件
  ignore_older: 12h
  # 默认情况下,解码后的JSON放置在输出文档中的“ json”键下。
  # 如果启用此设置,则将密钥复制到输出文档的顶层。默认值为false
  fields_under_root: false
  # fields 可以添加自定义的 属性和属性值,这里设置的是,标记输出到那条kafka队列
  fields:
    log_topic: eureka_topic

- type: log
  enabled: true
  paths:
    - /data/springCloud/gateway/keda-gateway/*/logs/error/*.json
    - /data/springCloud/gateway/keda-gateway/*/logs/info/*.json
    - /data/springCloud/gateway/keda-gateway/*/logs/ware/*.json
    - /data/springCloud/gateway/keda-gateway/*/logs/trace/*.json
  encoding: utf-8
  ignore_older: 12h
  fields_under_root: false
  fields:
    log_topic: gateway_topic

- type: log
  enabled: true
  paths:
    - /data/springCloud/gateway/keda-gateway/*/logs/debug/*.json
  include_lines: [".*org.apache.ibatis.logging.jdbc.BaseJdbcLogger.*"]
  encoding: utf-8
  ignore_older: 12h
  fields_under_root: false
  fields:
    log_topic: gateway_topic

# /data/springCloud/project/keda6-information-main/keda-information-main/172.19.174.184-9820/logs/info

- type: log
  enabled: true
  paths:
    #info-20200115
    - /data/springCloud/project/keda6-information-main/*/*/logs/*/*.json
   #  - /data
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ELK(ElasticsearchLogstashKibana)是一个开源的日志管理和分析平台,能够帮助企业收集、存储、搜索、分析和可视化各种类型的日志数据。而Kafka是一个高吞吐量的分布式消息队列系统,可以用来收集和传输大规模的日志数据。Reyslog是一个开源的日志收集器,可以帮助企业从各种不同的数据源中收集日志数据。Filebeat是一个轻量级的日志收集工具,可以帮助企业从各种不同的文件中收集日志数据。 以下是ELK+kafka+reyslog+filebeat企业级部署的步骤: 1. 安装和配置ElasticsearchLogstashKibana,并确保它们能够正常运行。可以使用docker-compose等工具来简化部署过程。 2. 安装和配置Kafka,并创建一个主题(topic)用于存储日志数据。 3. 安装和配置Reyslog,并将其配置为从各种不同的数据源中收集日志数据,并将其发送到Kafka主题(topic)中。 4. 安装和配置Filebeat,并将其配置为从各种不同的文件中收集日志数据,并将其发送到Kafka主题(topic)中。 5. 在Kibana中创建一个索引(index),并定义一个包含所有必需字段的映射(mapping)。然后,使用Logstash来将从Kafka主题(topic)中接收到的日志数据转换为适合索引(index)的格式,并将其存储在Elasticsearch中。 6. 在Kibana中创建一个仪表板(dashboard),并使用其可视化功能来呈现和分析日志数据。可以使用各种不同的可视化插件来创建自定义可视化效果。 7. 部署整个系统,并定期监控其性能和可用性,以确保其正常运行。 总之,ELK+kafka+reyslog+filebeat企业级部署需要进行一系列复杂的配置和设置,需要具备一定的技术知识和实践经验。建议企业可以考虑使用专业的日志管理和分析平台,如Splunk等,以简化部署和管理过程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值