日志服务是阿里云一个重要的基础设施,支撑着阿里云所有集群日志数据的收集和分发。众多应用比如OTS、ODPS、CNZZ等利用日志服务logtail收集日志数据,利用API消费数据,导入下游实时统计系统或者离线系统做分析统计。作为一个基础设施,日志服务具备:
可靠性:经过多年阿里集团内部用户的检验,经历多年双十一考验,保证数据的可靠、不丢失。
可扩展性:数据流量上升,通过增加shard个数快速动态扩容处理能力。
便捷性:一键式管理包括上万台机器的日志收集。
日志服务帮用户完成了日志收集,统一了日志格式,提供API用于下游消费。下游系统可以接入多重系统重复消费,比如导入Spark、Storm做实时计算,也可以导入elasticsearch做搜索,真正做到了一次收集,多次消费。在众多数据消费场景中,监控是最常见的一种场景。本文介绍阿里云基于日志服务的监控系统。
日志服务把所有集群的监控数据作为日志收集到服务端,解决了多集群管理和异构系统日志收集的问题,监控数据统一成格式化的日志发送到日志服务。
日志服务为监控系统提供了:
统一的机器管理:安装一次logtail,所有的后续操作在日志服务端进行。
统一的配置管理:需要收集哪些日志文件,只要在服务端配置一次,配置会自动下发到所有机器。
结构化的数据:所有数据格式化成日志服务的数据模型,方便下游消费。
弹性的服务能力:处理大规模数据写入和读取的能力。
如何搭建监控系统
收集监控数据
配置SLS的日志收集,确保日志收集到了日志服务。
中间件使用API消费数据
通过SDK的PullLog接口从日志服务批量消费日志数据,并且把数据同步到下游实时计算系统。
搭建storm实时计算系统
选择storm或者其他的类型的实时计算系统,配置计算规则,选择要计算的监控指标,计算结果写入到OTS中。
展示监控信息
通过读取保存在OTS中的监控数据,在前端展示;或者读取数据,根据数据结果做报警。