阿里云TSDB在大数据集群监控中的方案与实战

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介: 阿里云TSDB在大数据集群监控中的方案与实战 目前大部分的互联网企业基本上都有搭建自己的大数据集群,为了能更好让我们的大数据集群更加高效安全的工作,一个优秀的监控方案是必不可少的;所以今天给大家带来的这篇文章就是讲阿里云TSDB在上海某大型互联网企业中的大数据集群监控方案中的实战案例,希望能为感兴趣的同学提供一些帮助。


目前大部分的互联网企业基本上都有搭建自己的大数据集群,为了能更好让我们的大数据集群更加高效安全的工作,一个优秀的监控方案是必不可少的;所以今天给大家带来的这篇文章就是讲阿里云TSDB在上海某大型互联网企业中的大数据集群监控方案中的实战案例,希望能为感兴趣的同学提供一些帮助。


背景和需求


阿里云时序时空数据库 (原阿里云时间序列数据库, 简称 TSDB) 是一种高性能,低成本,稳定可靠的在线时序数据库服务;提供高效读写,高压缩比存储、时序数据插值及聚合计算,广泛应用于物联网(IoT)设备监控系统 ,企业能源管理系统(EMS),生产安全监控系统,电力检测系统等行业场景。 TSDB 提供百万级时序数据秒级写入,高压缩比低成本存储、预降采样、插值、多维聚合计算,查询结果可视化功能;解决由于设备采集点数量巨大,数据采集频率高,造成的存储成本高,写入和查询分析效率低的问题。


Elastic MapReduce(EMR)是阿里云提供的一种大数据处理的系统解决方案。EMR基于开源生态,包括 Hadoop、Spark、Kafka、Flink、Storm等组件,为企业提供集群、作业、数据管理等服务的一站式企业大数据平台。


上海某大型互联网企业是阿里云EMR的Top客户,在阿里云上购买的EMR实例有近千台hadoop机器,这些机器目前除了阿里云本身ECS级别的监控以外,没有一套成熟的这对大数据的监控运维告警系统,对大数据业务来讲存在很大的风险。现在客户的需求是对购买的EMR集群做监控和告警,单台有20多个监控指标,采集精度可以根据客户需求调整,另外还要求对原有的业务无侵入,不需要业务层做太多的配置重启类操作。


痛点和挑战


该大型互联网企业客户最初计划采用的是Prometheus作为监控和告警解决方案,并且基于Prometheus的监控方案也在该企业内部其他系统应用了。

这里提到了Prometheus,就多说几句。随着业内基于Kubernetes的微服务的盛行,其生态兼容的开源监控系统Prometheus也逐渐被大家热捧。


Prometheus是一个开源监控系统,它前身是SoundCloud的监控系统,在2016年继Kurberntes之后,加入了Cloud Native Computing Foundation。目前许多公司和组织开始使用Prometheus,该项目的开发人员和用户社区非常活跃,越来越多的开发人员和用户参与到该项目中。

下图就是prometheus方案的架构:


eecb2c0d14465970fb6c14af09f4b7c9d5c0923b


这个方案在实际部署过程中发现Prometheus在存储和查询上存在性能的问题,主要是Prometheus本身采用的local storage方案在大数据量下的扩展性写入查询性能存在瓶颈。

另外在这个方案的适配性不强,要改很多参数重启才行,这对于线上正在运行的业务来说,是不可接受的,需要重新设计解决方案。


阿里云TSDB解决方案


监控和告警整体上来说包括三个环节:

1.采集指标

2.存储指标

3.查询告警


因此基本方案就可以简化为:采集工具 + 数据库 + 查询告警。其中,数据库可以通过阿里云TSDB来解决存储和查询上的性能问题,查询告警可以通过成熟的开源工具Grafana。由于该互联网企业客户的要求对原有的业务无侵入,不需要业务层做太多的配置重启类操作,因此解决方案的调研就重点落在了采集工具的调研上了。


对于采集工具而言,结合该互联网企业客户已经部署的Prometheus,且阿里云TSDB兼容开源时序数据库OpenTSDB的写入和查询协议,因此从减少成本和工作量的角度来看,可以考虑的方式是有两种:

1. 使用Prometheus官方提供的开源的OpenTSDB Adapter 对接原生的Prometheus ,实现数据写入到TSDB。基本架构为:

e8583c2c057b0e3c81c9f3c16a2e98dc35e5dbae

这种方案和该互联网企业客户的开发同学沟通后,发现满足不了对业务无侵入,不重启的需求,因此选择放弃;


2. 采用其他开源工具,实现数据采集写入到TSDB。开源社区较为活跃,已经提供了不少开源的采集工具,因此我门评估了以下几个开源的采集工具:

- Collectdhttps://collectd.org

- telegraf, https://github.com/influxdata/telegraf

- statsd, https://github.com/etsy/statsd

    - tcollector, http://opentsdb.net/docs/build/html/user_guide/utilities/tcollector.html


从开发语言、部署方式以及是否支持定制开发等角度,我们初步选择tcollector作为采集工具。tcollector是一个客户端程序,用来收集本机的数据,并将数据发送到OpenTSDB。tcollector可以为你做下面几件事:

- 运行所有的采集者并收集数据;

- 完成所有发送数据到TSDB的连接管理任务;

- 不必在你写的每个采集者中嵌入这些代码;

- 是否删除重复数据;

- 处理所有有线协议,以后今后的改进;

因此,基于tcollector + TSDB + Grafana的监控告警架构如下,其中tcollector以http协议从目标结点上拉取监控指标,并以http的OpenTSDB协议将指标推送至阿里云TSDB。


4663a7414aa2d4b1cf83ec49d29465c0de43ca53

这个方案在不修改tcollector源码的基础上,能够满足客户对hadoop的监控。但是在PoC后,客户增加了对EMR实例中其他大数据组件的监控需求,如Hive, Spark, Zookeeper, HBase, Presto, Flink, azkaban, kafka, storm等。


经过我们调研,tcollector对于这些组件的支持程度如下:

- 原生支持:hbase;

- 需定制化开发,不重启实例:Hive, Spark, Zookeeper;

- 需定制化开发,需重启实例:Flink, azkaban, kafka, storm;

经过一定工作量的制化开发,基于tcollector的方案基本可以满足用户的需求。最终我们在该互联网企业客户的EMR大数据集群的监控告警方案架构为:

1de695e65648af9110c093409fc0ad452ec10213

tcollector非常简单易部署,可以简单高效地完成了客户的需求。而且配置部署时,可以不用区分大数据组件的角色,解决了之前开源采集工具需要针对不同角色,来手动配置并启动相应插件的问题。

 

至此,TSDB完美得解决了该互联网企业客户大数据集群监控接入TSDB的案例,让TSDB在迈向完善生态的路上更进一步了。另外值得一提的是,为了解决目前广泛使用的Prometheus开源系统在大量时序数据的存储、写入和查询存在性能瓶颈问题,阿里云TSDB也已经开始兼容了Prometheus生态,并且已经在多个客户场景进行了实战。后面我们会推出针对Prometheus的系列文章,对Prometheus感兴趣或者已经是Prometheus用户但是遇到性能问题的同学可以持续关注我们。


阿里云时序时空数据库TSDB 1元购!立即体验:https://promotion.aliyun.com/ntms/act/tsdbtry.html?spm=5176.149792.775960.1.dd9e34e2zgsuEM&wh_ttid=pc

·

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2天前
|
弹性计算 安全 微服务
【阿里云云原生专栏】容器网络技术前沿:阿里云Terway网络方案详解
【5月更文挑战第26天】阿里云Terway是高性能的容器网络方案,基于ECS的ENI实现,提供低延迟高吞吐的网络服务。它简化网络管理,实现安全隔离,并与阿里云服务无缝集成。Terway由CNI、Node和Controller组成,适用于微服务、混合云和多租户环境,为企业数字化转型中的复杂网络需求提供强大支持。
22 1
|
3天前
|
关系型数据库 分布式数据库 数据处理
【PolarDB 开源】PolarDB 在大数据分析中的应用:海量数据处理方案
【5月更文挑战第25天】PolarDB是解决大数据挑战的关键技术,以其高性能和可扩展性处理大规模数据。通过与数据采集和分析工具集成,构建高效数据生态系统。示例代码显示了PolarDB如何用于查询海量数据。优化策略包括数据分区、索引、压缩和分布式部署,广泛应用于电商、金融等领域,助力企业进行精准分析和决策。随着大数据技术进步,PolarDB将继续发挥关键作用,创造更多价值。
22 0
|
3天前
|
弹性计算 监控 数据库
【阿里云弹性计算】企业级应用上云实战:基于阿里云 ECS 的 ERP 系统迁移案例
【5月更文挑战第25天】制造企业将面临资源不足、维护成本高和数据安全问题的ERP系统迁移到阿里云ECS,实现业务上云。通过数据迁移、应用部署、网络配置和性能优化等步骤,企业享受到弹性计算资源、高可靠性和数据安全优势,降低维护成本。阿里云提供24小时支持,助力企业数字化转型。此案例展示企业级应用上云的可行性,鼓励更多企业借助云计算实现创新发展。
14 0
|
4天前
|
弹性计算 缓存 负载均衡
【阿里云弹性计算】游戏服务器部署实战:利用阿里云ECS打造低延迟游戏环境
【5月更文挑战第24天】使用阿里云ECS打造低延迟游戏环境的实战指南,包括选择高性能处理器和SSD存储的实例,规划架构,选择近玩家的地域和可用区,部署软件,优化性能及监控。通过负载均衡、自动扩展和数据缓存提升体验,同时关注数据安全与网络安全。
25 4
|
4天前
|
运维 Cloud Native 持续交付
【阿里云云原生专栏】从零到一搭建云原生应用:阿里云云原生应用平台实战教程
【5月更文挑战第24天】本文档是一份阿里云云原生应用平台的实战教程,介绍了如何从零开始搭建云原生应用。内容涵盖云原生应用的特点(容器化、微服务、CI/CD和自动化运维)以及阿里云提供的服务,如容器服务、服务网格和CI/CD工具。教程详细讲解了创建容器集群、编写Dockerfile、构建镜像、部署应用、配置服务网格和设置CI/CD的步骤。通过本文,读者将学会利用阿里云平台开发和管理云原生应用。
237 0
|
5天前
|
存储 弹性计算 大数据
【阿里云弹性计算】阿里云ECS在大数据处理中的应用:高效存储与计算实践
【5月更文挑战第23天】阿里云ECS在大数据处理中发挥关键作用,提供多样化实例规格适应不同需求,尤其大数据型实例适合离线计算。通过集成分布式文件系统如OSS,实现大规模存储,而本地存储优化提升I/O性能。弹性扩容和计算优化实例确保高效运行,案例显示使用ECS能提升处理速度并降低成本。结合阿里云服务,ECS构建起强大的数据处理生态,推动企业创新和数字化转型。
22 0
|
5天前
|
SQL 关系型数据库 数据库
阿里云数据库 RDS SQL Server版实战【性能优化实践、优点探析】
本文探讨了Amazon RDS SQL Server版在云数据库中的优势,包括高可用性、可扩展性、管理便捷、安全性和成本效益。通过多可用区部署和自动备份,RDS确保数据安全和持久性,并支持自动扩展以适应流量波动。可视化管理界面简化了监控和操作,而数据加密和访问控制等功能保障了安全性。此外,弹性计费模式降低了运维成本。实战应用显示,RDS SQL Server版能有效助力企业在促销高峰期稳定系统并保障数据安全。阿里云的RDS SQL Server版还提供了弹性伸缩、自动备份恢复、安全性和高可用性功能,进一步优化性能和成本控制,并与AWS生态系统无缝集成,支持多种开发语言和框架。
31 2
|
6天前
|
弹性计算 监控 负载均衡
【阿里云弹性计算】ECS实例迁移实战:无缝迁移到阿里云的步骤与技巧
【5月更文挑战第22天】阿里云ECS实例迁移实战详解,涵盖无缝迁移步骤与技巧:选择合适迁移方案,如VPC或使用阿里云工具;创建目标环境,数据迁移及配置同步;测试验证功能正常,流量切换;选择低峰期,保证数据一致,实时监控,提升迁移成功率。本文为云平台迁移提供实用指南。
46 2
|
7天前
|
存储 弹性计算 监控
【阿里云弹性计算】成本优化实战:利用阿里云 ECS 抢占式实例节省云支出
【5月更文挑战第21天】阿里云ECS的抢占式实例提供了一种成本优化策略,适合对中断容忍度较高的业务。通过创建和管理抢占式实例,结合API查询价格信息,企业能节省大量成本。使用时注意业务容错性,设置监控系统应对中断,结合其他成本优化措施,如存储类型选择和网络配置优化。确保业务可恢复性,关注阿里云政策,并根据业务变化调整策略,以实现成本与效益的最佳平衡。
55 3
|
8天前
|
弹性计算 监控 开发工具
【阿里云弹性计算】实战教程:如何高效利用阿里云ECS弹性伸缩应对业务高峰
【5月更文挑战第20天】本文介绍了如何使用阿里云ECS弹性伸缩服务应对业务高峰。通过自动调整云资源规模,弹性伸缩在流量增加时扩展实例,流量减少时收缩实例,实现成本与性能的优化。步骤包括开通服务、创建伸缩组、设定规则和监控指标。文中还提供了一个Python脚本示例,并强调了优化策略,如应用无状态设计、考虑冷却时间和结合云监控。通过实践和调整,企业可以有效应对业务波动。
57 5