可靠的采集神器(Flume+SpringBoot收集实现springbot配置.xml日志收集)
优采云 发布时间: 2021-12-02 12:22可靠的采集神器(Flume+SpringBoot收集实现springbot配置.xml日志收集)
一、什么是水槽
Apache Flume 是一种分布式、高度可靠且高度可用的工具,用于采集、聚合来自不同来源的大量日志数据并将其传输到中央数据仓库。 Flume 可以做离线或实时分析。
二、Flume 架构
如图:
Agent 是 Flume 的一个部署实例。一个完整的Agent收录三个组件:Source(数据的来源和方法)、Channel(数据缓冲池或管道)和Sink(定义数据输出地的方法和目的)。一个源可以绑定多个通道。
一个*敏*感*词*只能绑定一个通道。事件是Flume数据传输的基本单位。
Flume 的 Source 负责消费从外部传递给它的数据(例如 Web 服务器日志)。外部数据生产者以 Flume Source 识别的格式将 Event 发送到 Flume。
Flume 可以设置多级 Agent 连接方式来传输 Event 数据。它还支持扇入和扇出部署方式,类似于负载均衡或多个同时备份。
Flume 可以根据自身业务需求任意组合传输日志的代理实例。上图是Flume部署的扇入方式。前三个代理的数据汇总在一个Agent4上,最后由Agent4 Store统一到HDFS。
Source的种类很多,可以适应各种日志数据源需求。
三、Flume+SpringBoot 日志采集实现
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.10.RELEASE
com.citydo
flumespringboot
0.0.1-SNAPSHOT
flumespringboot
Demo project for Spring Boot
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-log4j2
org.apache.logging.log4j
log4j-flume-ng
2.8.2
org.apache.flume.flume-ng-clients
flume-ng-log4jappender
1.7.0
org.springframework.boot
spring-boot-maven-plugin
springbot 配置
logging.config=classpath:logback.xml
logback.xml
package com.citydo.flumespringboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class FlumespringbootApplication {
public static void main(String[] args) {
SpringApplication.run(FlumespringbootApplication.class, args);
}
}
参考:阿里云