引言
可观测数据平台需至少整合Logging(日志)、Metrics(指标)、Tracing(链路)三个基本类型数据,并延伸events(事件)、网络流量、用户行为分析、审计、基础的IT设施监控等各类数据的融合。
通过一站式观测平台将各类数据融合呈现,打通数据孤岛,提升排查效率,助力辅助决策。本文只就Logging日志类演进点进行梳理。主要内容有:
- 架构简图
- 日志采集
- 用户体验
- 功能增强
- 成本优化
一、架构简图
备注:更多内容详见:
代码语言:javascript复制FA6# 全链路观测平台设计点归纳
https://mp.weixin.qq.com/s/Bi2B9G-rSSmz7SRCQJysUA
二、日志采集
日志采集Agent是日志平台的核心部件,该Agent的能力演进也很重要,本小节从采集类型、稳定性监控、降本调优演进点梳理。
1.采集类型
日志采集的延伸极广,可根据不同的维度,粗略打表梳理如下:
分类维度 | 常见类型 |
---|---|
服务器类型 | 物理机(或虚机例如:ECS)、容器 |
应用类型 | Java、Go、Node.js、Python等不同语言日志 |
中间件类型 | RocketMQ、Kafka、ElasticSearch、网关、Redis、Nginx、数据库等 |
不同端点 | 服务端、移动端 |
不同文本 | text、json等 |
另外,还有不同的物联网设备等,不再罗列。
演进点1:采集代理不断扩大采集的类型以及采集资源的动态调整。
2.稳定性监控
- 监控点一:文件读取速率
- 监控点二:代理输出速率
- 监控点三:CPU使用负载情况
- 监控点四:内存使用情况
- 监控点五:采集流量控制
- 监控点六:资源隔离Agent的资源占用不影响服务
- 监控点七:采集代理异常日志输出
演进点2:采集代理的稳定性监控、流控及告警。
三、用户体验
- 基本查询:精确查询、模糊查询、复杂查询(and、or、not等)
- 查询体验:高亮显示、上下文、导出文件
- SQL分析:基于查询结果进行SQL分析
- 函数支持:支持一些函数聚合能力
- 报表视图:查询结果的视图分布渲染
- 查询耗时:秒级查询体验、采集分钟级延迟
演进点3:向查询体验、查询响应、SQL分析、函数支持、报表视图等用户体验方向演进
四、功能增强
- 日志格式:统一日志格式
- 日志订阅:方便业务个性化处理
- 日志清洗:日志去重、聚合
- 运维管理:日志运维后台系统
- 监控告警:可视化监控与告警配置
- 成本分摊:日志成本在各个域、各个应用的分摊
演进点4:从功能增强、运维操作、监控告警、成本分摊方面演进。
五、成本优化
存储成本优化
- ElasticSearch存储:冷热节点架构
- ClickHouse存储:部分场景使用ClickHouse替换ElasticSearch存储,降低成本
参见:
代码语言:javascript复制ClickHouse vs Elasticsearch:谁更胜一筹
https://developer.aliyun.com/article/783804
京东APP秒级百G日志传输存储架构设计与实战
https://mp.weixin.qq.com/s/o4yi-2U9JMCZTHaEAgFrow
基于Clickhouse的下一代日志系统技术揭秘
https://mp.weixin.qq.com/s/d2PbeLesLXKLldr4PgMy_g
采集代理优化
- 吞吐能力对比
- 相同吞吐占用CPU、内存资源情况
参见:Filebeat与iLogtail对比测试,后者比前者稳定和省资源
代码语言:javascript复制https://github.com/alibaba/ilogtail/blob/main/docs/zh/performance/Performance-compare-with-filebeat.md
演进点5:提高采集吞吐,降低机器成本。