每个业务系统都有日志,当系统出现问题时,需要通过日志信息来定位和解决问题。当系统机器比较少时,登陆到服务器上查看即可满足当系统机器规模巨大,登陆到机器上查看几乎不现实(分布式的系统,一个系统部署在十几台机器上)
把机器上的日志实时收集,统一存储到中心系统。再对这些日志建立索引,通过搜索即可快速找到对应的日志记录。通过提供一个界面友好的web页面实现日志展示与检索。
实时日志量非常大,每天处理几十亿条。日志准实时收集,延迟控制在分钟级别。系统的架构设计能够支持水平扩展。
- 运维成本高,每增加一个日志收集项,都需要手动修改配置。
- 监控缺失,无法准确获取logstash的状态。
- 无法做到定制化开发与维护。
- 通过etcd做一个配置中心的概念,它是用go写的,是可以用来替代Zookeeper的
- LogAgent收集日志,然后将其发送到Kafka中,Kafka既可以作为消息队列,也可以做到消息的存储组件
- 然后Log transfer就将Kafka中的日志记录取出来,进行处理,然后写入到ElasticSearch中,然后将对应的日志
- 最后通过Kibana进行可视化展示