详细图解日志收集系统Flume介绍以及安装配置

Flume的概念:flume是分布式的日志收集系统,它将各个服务器中的数据收集起来并送到指定的地方去,比如说送到图中的HDFS,简单来说flume就是收集日志的。

Flume下载下来后解压就可以使用,无需安装。

这里假设有三台服务器,其中两台是应用服务器,我把他们标识为A服务器和B服务器,还有一台就是日志服务器。

将A服务器和B服务器上的Tomcat日志全部收集到日志服务器上来,然后进行各种处理。

示例使用最常用的扇入模式(将多台机器上的日志汇集到一台机器上处理)

1. 将Flume分别解压到三台服务器

2. 写配置文件

扇入流模式(将多台机器上的日志汇集到一台机器上处理)

A服务器[flume-conf.properties]

agent.sources = spoDirSrc agent.channels = memoryChannel agent.sinks = avroSink agent.sources.spoDirSrc.type = spooldir agent.sources.spoDirSrc.spoolDir = /root/logs agent.sources.spoDirSrc.channels = memoryChannel agent.sinks.avroSink.type = avro agent.sinks.avroSink.hostname = 192.168.56.186 agent.sinks.avroSink.port = 44444 agent.sinks.avroSink.channel = memoryChannel agent.channels.memoryChannel.type = memory agent.channels.memoryChannel.capacity = 1000 agent.channels.memoryChannel.transactionCapacity = 100

-----------------------------------------

B服务器[flume-conf.properties]

agent.sources = spoDirSrc agent.channels = memoryChannel agent.sinks = avroSink agent.sources.spoDirSrc.type = spooldir agent.sources.spoDirSrc.spoolDir = /root/logs agent.sources.spoDirSrc.channels = memoryChannel agent.sinks.avroSink.type = avro agent.sinks.avroSink.hostname = 192.168.56.186 agent.sinks.avroSink.port = 44444 agent.sinks.avroSink.channel = memoryChannel agent.channels.memoryChannel.type = memory agent.channels.memoryChannel.capacity = 1000 agent.channels.memoryChannel.transactionCapacity = 100

-----------------------------------------

日志服务器(192.168.56.186)[flume-conf.properties]

agent.sources = avroSrc agent.channels = memoryChannel agent.sinks = fileRollSink agent.sources.avroSrc.type = avro agent.sources.avroSrc.bind = 0.0.0.0 agent.sources.avroSrc.port = 44444 agent.sources.avroSrc.channels = memoryChannel agent.sinks.fileRollSink.type = file_roll agent.sinks.fileRollSink.sink.directory = /root/logs agent.sinks.fileRollSink.sink.rollInterval = 86400 agent.sinks.fileRollSink.channel = memoryChannel agent.channels.memoryChannel.type = memory agent.channels.memoryChannel.capacity = 1000 agent.channels.memoryChannel.transactionCapacity = 100

-----------------------------------------

3. 分别启动Flume

首先启动日志服务器上的Flume,然后再启动A和B上的Flume

> cd /usr/local/flume1.7/bin > ./flume-ng agent --conf ../conf --conf-file ../conf/flume-conf.properties --name agent -Dflume.root.logger=INFO,console &

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习与计算机视觉

Python3 import 与 from...import

在 python 中,用 import 或者 from…import 来导入相应的模块。模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使...

1957
来自专栏林德熙的博客

win10 UWP 标题栏后退

BackRequested 后退方法,如何获得参见:c# 设计模式 责任链.md 注意不要在每个页面的构造都使用添加事件,如果这样子,那么就会出现按一下后退出现...

541
来自专栏Java技术分享

Intellij IDEA调试功能使用总结

专注于Java领域,追求简洁,每天推送高质量技术文章,实用教程。

2707
来自专栏皮振伟的专栏

[linux][elf]ELF格式分析与常用工具以及不常见问题

前言: ELF只linux是最常用的可执行文件格式,这里简单分析一下ELF格式,介绍几个常用命令,并分享几个不常见的问题。 分析: 1,dynamicall...

3177
来自专栏祝威廉

如何在命令行中指定StreamingPro的写入路径

其中dbtable 是按天建立的,也就是我每天见一个表,表后缀是时间譬如 20121111 这种。在StreamingPro中的处理方式很简单,只要是Sourc...

613
来自专栏用户2442861的专栏

MyBatis学习总结(三)——优化MyBatis配置文件中的配置

  之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下:

561
来自专栏PHP在线

PHP错误类型及屏蔽方法

程序只要在运行,就免不了会出现错误,错误很常见,比如Error,Notice,Warning等等。这篇文章具体说一下PHP的错误类型和屏蔽方法。在PHP中,主要...

3218
来自专栏xingoo, 一个梦想做发明家的程序员

[logstash-input-http] 插件使用详解

插件介绍 Http插件是2.0版本才出现的新插件,1.x是没有这个插件的。这个插件可以帮助logstash接收其他主机或者本机发送的http报文。 插件的原理很...

2648
来自专栏Python攻城狮

Python中的模块介绍和使用1.import2.from…import 3.from … import * 4.as 5.定位模块 6.模块制作7.模块中的__all__8.python中的包 9.

在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关...

841
来自专栏抠抠空间

爬虫之FileCookieJar

1380

扫码关注云+社区