上面我们介绍了三种日志系统。那这些日志系统该如何做技术选型呢?来看看对比图吧

    依据 flume + hadoop + hive kids ELK
    是否满足需求 满足,过滤与清洗采用hadoop的mapreducce 基本满足,需自己写过滤和挖掘算法 满足
    性能
    是否开源 开源 开源 开源
    是否继续迭代 至今任在持续更新中 最近一次在两年前 任持续更新中
    占用硬件资源 至少需要三台服务器,且需要搭建ftp服务器用于存储日志文件 服务器占用少,通常一两台足够 至少需要三台服务器,搭建es集群,logstash,且es占用内存打,建议单独使用一台
    运行是否稳定 取决于flume采集,需要对flume架构有一定了解,并且flume三个核心组件的采集速率不一致,可能导致采集不稳定 经过知乎的调教,现已稳定运行,但后续如何无从知晓 logstash占用内存大,且存在数据丢失问题,需搭配filebeat和kafka解决
    安全性 可能存在数据丢失问题 有可能存在数据丢失问题
    维护开发成本 学习路线陡峭,架构复杂,维护难度适中 简单,便于维护 学习路线适中,架构复杂臃肿,维护难度适中
    社区支持程度 社区稳定 开发者少,以知乎为主 社区活跃,官网主导
    文档是否健全 源于apache基金会,文档健全 使用者少,文档几乎没有 elastic.co官方详细文档支持
    是否支持扩展 支持 不支持 支持
    上手速度 需要有一定的大数基础,但有相应视频支持 架构简单上手速度快,无视频支持 操作相对简单,用户操作透明,有相应视频支持,但不全面
    项目耦合 耦合性较小 耦合性较小 耦合性较小
    易调试性 架构稍许复杂,但提供了对应的配置文件和监控台 调试简单 整体架构调试较为难
    技术栈一致性 不一致 一致 一致
    对高并发支持 支持 支持 支持