京东大数据日志生命周期与告警避坑指南
平台背景
- 大量离散日志:京东智能城市操作系统涉及多种日志类型,如程序日志、安全日志、SQL日志、系统日志等,数量庞大且来源多样。
- 提取有价值信息:通过统一日志服务,实现低成本接入,建立通用管理体系,应用于多种场景,如异常检测、安全审计、运维监控等。
- 提升运维效率:提供组件化分析工具,帮助运维人员快速了解系统运行情况,及时发现并解决问题。
平台需求
- 日志采集:支持集中化、多样化和高度自动化的数据采集,适用于不同环境和格式。
- 日志告警:支持基于日志的告警,配置灵活,支持按子系统配置。
- 日志查询和接口:提供按子系统查询功能,方便开发人员远程解决问题。
- 日志统计分析:为运维人员提供多种统计分析和图表功能。
平台功能介绍
- 日志采集:支持多种技术,包括非入侵(filebeat)、入侵(GELFUDP、GELFkafka)和SDK等方式。
- 数据存储:采用冷热分离架构,定期迁移数据,支持Kafka API实现。
- 数据加工:支持数据规整、脱敏和过滤,提供多种加工函数。
- 数据查询:支持精确、模糊、全文等多种查询方式,支持实时滚动和重建索引。
- 数据投递:支持多种投递方式,如消息队列、文件系统、数据库等。
日志生命周期
- 数据流转:从原始数据到数据存储,经过多个处理层。
- 本地数据缓存:数据保存时间和量基于Kafka API实现。
数据加工
- 事件搜索:支持Lucene语法和正则表达式。
- 基本操作函数:字段取值、控制、比较等。
- 转换函数:类型转换、数字转换等。
- 日期时间函数:日期时间转换、获取属性等。
- 正则表达式函数:字段提取、匹配等。
- GROK支持:内置多种GROK模式。
数据存储
- 冷热架构:热数据节点处理新输入数据,冷数据节点存储较旧数据。
- 索引策略:时间、数据量切分索引,动态调整索引保留策略。
数据投递
- 应用场景:支持多种第三方软件和文件系统,如Splunk、Logstash、Flume、Kafka、RabbitMQ、OSS、HDFS、JDBC Database、TSDB等。
告警
- 事件定义:定义关键字查询和聚类统计告警。
- 通知定义:支持Webhook和通知模板脚本。
总结
京东大数据日志生命周期管理系统提供了全面的日志采集、存储、加工、查询、投递和告警功能,能够有效管理和利用海量日志数据,提升运维效率和问题解决能力。