三.Spark Streaming之Flume跨服务器收集日志(三)

一.引言
需求:
    将A服务器上的日志实时采集到B服务器。
技术选型:

exec source + memory channel + avro sink
avro source + memory channel + logger sink

设计图:
在这里插入图片描述

二.配置

  1. 服务器A(47.100.63.28)的配置:
    目的是操作data下的date.log文件,以便于其他服务器监控到该服务器的操作日志信息,在A服务器中的Flume中的conf下创建名为exec-memory-avro.conf的配置文件,然后把以下配置放在配置文件中:

     exec-memory-avro.sources = exec-source
     exec-memory-avro.sinks = avro-sink
     exec-memory-avro.channels = memory-channel
     
     exec-memory-avro.sources.exec-source.type = exec
     exec-memory-avro.sources.exec-source.command = tail -F /root/data/data.log
     exec-memory-avro.sources.exec-source.shell = /bin/sh -c
    
     exec-memory-avro.sinks.avro-sink.type = avro
     exec-memory-avro.sinks.avro-sink.hostname = 47.100.176.47 		 指定监控的服务器
     exec-memory-avro.sinks.avro-sink.port = 55555				 指定监控的端口
    
     exec-memory-avro.channels.memory-channel.type = memory
    
     exec-memory-avro.sources.exec-source.channels = memory-channel
     exec-memory-avro.sinks.avro-sink.channel = memory-channel
    
  2. 启动指令:

     flume-ng agent --name exec-memory-avro --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/exec-memory-avro.conf -Dflume.root.logger=INFO,console
    
  3. 服务器B(47.100.176.47)的配置:
    目的是监控服务器A,监控他是否进行操作,如果有操作,把操作日志打印在控制台中,同上一样,在Flume的conf下创建一个名为avro-memory-logger.conf的配置文件,在里面加上以下配置:

    avro-memory-logger.sources = avro-source
    avro-memory-logger.sinks = logger-sink
    avro-memory-logger.channels = memory-channel
    
    #监听端口
    avro-memory-logger.sources.avro-source.type = avro
    avro-memory-logger.sources.avro-source.bind = 47.100.176.47
    avro-memory-logger.sources.avro-source.port = 55555
    
    avro-memory-logger.sinks.logger-sink.type = logger
    
    avro-memory-logger.channels.memory-channel.type = memory
    
    avro-memory-logger.sources.avro-source.channels = memory-channel
    avro-memory-logger.sinks.logger-sink.channel = memory-channel
    
  4. 启动指令:

    flume-ng agent --name avro-memory-logger --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/avro-memory-logger.conf -Dflume.root.logger=INFO,console
    

注意:
启动顺序一定是先启动监控服务器B中的配置,不然就不会监控到日志信息。

三.启动两台服务器中的Flume

1).服务器B启动之后成功界面:
在这里插入图片描述
2).服务器A启动之后的效果:
在这里插入图片描述

3).测试:
在服务器A中的data目录下的data.log文件中加入数据,看服务器B有什么变化:
添加数据:
在这里插入图片描述
服务器B的变化:
在这里插入图片描述

以上就完成了跨服务器监控操作日志的过程,一定要着重的学习,因为很重要,但是有一个缺陷就是他不是实时监控的,而是有时间差的,后面会讲和kafka集成,做实时日志监控。

更多详细的资料请点击查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值