美文网首页云服务
分布式系统监控(四)- 日志归集

分布式系统监控(四)- 日志归集

作者: do_young | 来源:发表于2018-08-23 11:36 被阅读244次

    背景

    上一章节已经详细描述了日志采集的实现,采集的日志信息通过rocketmq的sink,将日志的增量信息以消息的方式推送到rocketmq的服务端。那对应日志收集的实现就是要部署一个rocketmq的server。
    我这里将以docker的方式来部署rocketmq,传统的方式也就可以参照docker镜像的build文件及启动指令来对应配置的。

    部署rocketmq

    我将rocketmq以最简单的方式进行部署,就是一个nameserver,一个broker,一个console。
    具体的部署请参照rocketmq部署的专题文章
    如果是生产部署也可以参照我的rocketmq高可用部署方式的文章。

    配置rocketmq

    关于rocketmq的配置,这里面要特别注意的是broker注册到namesever的IP信息。
    因为rokcetmq都运行在docker下,需要默认情况nameserver记录的是broker的docker自定义网络中的IP地址。
    这个地址只有docker内的应用才可以访问得到,如果想要非docker环境访问,需要将broker注册到nameserver的地址修改为局域网的IP地址,具体配置为:

    brokerClusterName=DefaultCluster
    brokerName=broker-a
    brokerId=0
    deleteWhen=04
    fileReservedTime=48
    brokerRole=ASYNC_MASTER
    flushDiskType=ASYNC_FLUSH
    
    brokerIP1=10.209.8.126 #<--这个设置为局域网的IP地址
    

    在运行broker的镜像时,指定一下配置文件就可以了。

    部署完成以后,访问console,创建一个消息主题。这个主题应该写flume-resource-conf.properties中配置的topic一致。


    rocketmq-createtopic.png

    监控rocketmq

    当flume-agent正常运行的情况下,通过console的消息菜单就可以查询到flume收集到的日志流信息了。

    rocketmq-topic-message.png

    说明

    可能有人会有疑问,大多数的监控平台的技术选型都是flume+kafka+storm,而且flume及storm都默认对kafka支持的,为什么要使用rockatmq呢。其实原因很简单,就是自己比较熟悉rocketmq,本身rocketmq也是基于kafka演化过来的,有一定的相似度。并且rocketmq也有分支项目支持flume和storm,那使用rocketmq会比使用kafka使用需要的学习成本更低一些,所以选择了rocketmq。

    相关文章

      网友评论

        本文标题:分布式系统监控(四)- 日志归集

        本文链接:https://www.haomeiwen.com/subject/dtjpiftx.html