背景
- 应用服务器多,日志文件被分散在各个应用服务器上,需要依次登录每台设备才能查看日志,效率低下,且不利于服务器安全管控,加大生产服务器的风险;
- 日志文件不统一,各项目日志没有统一的规范,不利于管理和问题排查;
- 日志文件占用服务器大量的硬盘空间,不及时清理会发生硬盘占满,影响系统的正常运行;
- 服务器上对于百兆以上的日志文件无法打开、无法进行关键字搜索,不利于问题的快速定位和排查;
- 集群和分布式的系统需要查看多个服务器的日志,效率极低,排查困难。
需求
- 不需要开发人员登录生产服务器就能查看日志;
- 实现统一规范日志配置和输出格式;
- 实时的将日志文件从服务器中迁出;
- 提供日志的检索和统计分析的平台;
- 实现对特定关键日志的告警推送;
- 不需要暴露服务器权限给各业务开发人员,保证生产服务器安全以及数据安全;
目标
提供统一查看日志信息平台,实时了解系统、业务、数据库的运行情况。提升问题排查效率,提升预警能力,降低故障率 ,提高SLA百分比。
技术选型
采用业界通用的日志数据管理解决方案ELK (Elasticsearch 、 Logstash 和 Kibana) + Filebeat的架构构建日志采集分析平台,为了支持日志的高并发和高可靠引入kafaka 解耦Filebeat、Logstash。同时引入 Prometheus、Grafana 进行指标搜集、展示和预警;
日志系统机构逻辑图