消费-搭建监控系统

日志服务是阿里云一个重要的基础设施,支撑着阿里云所有集群日志数据的收集和分发。众多应用比如OTS、ODPS、CNZZ等利用日志服务logtail收集日志数据,利用API消费数据,导入下游实时统计系统或者离线系统做分析统计。作为一个基础设施,日志服务具备:

  • 可靠性:经过多年阿里集团内部用户的检验,经历多年双十一考验,保证数据的可靠、不丢失。

  • 可扩展性:数据流量上升,通过增加shard个数快速动态扩容处理能力。

  • 便捷性:一键式管理包括上万台机器的日志收集。

日志服务帮用户完成了日志收集,统一了日志格式,提供API用于下游消费。下游系统可以接入多重系统重复消费,比如导入Spark、Storm做实时计算,也可以导入elasticsearch做搜索,真正做到了一次收集,多次消费。在众多数据消费场景中,监控是最常见的一种场景。本文介绍阿里云基于日志服务的监控系统。

日志服务把所有集群的监控数据作为日志收集到服务端,解决了多集群管理和异构系统日志收集的问题,监控数据统一成格式化的日志发送到日志服务。

日志服务为监控系统提供了:

  • 统一的机器管理:安装一次logtail,所有的后续操作在日志服务端进行。

  • 统一的配置管理:需要收集哪些日志文件,只要在服务端配置一次,配置会自动下发到所有机器。

  • 结构化的数据:所有数据格式化成日志服务的数据模型,方便下游消费。

  • 弹性的服务能力:处理大规模数据写入和读取的能力。

图 1. 监控系统架构

image

如何搭建监控系统

  1. 收集监控数据

    配置SLS的日志收集,确保日志收集到了日志服务。

  2. 中间件使用API消费数据

    通过SDK的PullLog接口从日志服务批量消费日志数据,并且把数据同步到下游实时计算系统。

  3. 搭建storm实时计算系统

    选择storm或者其他的类型的实时计算系统,配置计算规则,选择要计算的监控指标,计算结果写入到OTS中。

  4. 展示监控信息

    通过读取保存在OTS中的监控数据,在前端展示;或者读取数据,根据数据结果做报警。