深入解读面向微服务的分布式秒级监控系统Infinsight

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 在云服务环境中,服务的质量一向是云服务厂商关注的重点,为了保证云服务质量的最大化,以及在出现故障时能够协助用户对故障进行快速的定位,监控服务在其中起着非常重要的作用。

640 (1).gif

原创: 伯邑

背景

在云服务环境中,服务的质量一向是云服务厂商关注的重点,为了保证云服务质量的最大化,以及在出现故障时能够协助用户对故障进行快速的定位,监控服务在其中起着非常重要的作用。

目前,许多云厂商提供的监控服务多在分钟级,这种级别的监控服务对于瞬息万变的服务变化,往往粒度过大了。尤其是针对某些瞬间的资源抖动,以及短暂的慢查询,分钟级的监控数据往往无法发现这些细微的问题,很多隐患也就此淹没掉。

因此,针对以上场景,拥有一套具备细粒度、实时监控能力的监控系统,就变得迫在眉睫。

简介

Infinsight是一个使用golang语言编写的面向微服务,提供秒级监控能力的分布式监控服务,借助MongoDB进行配置管理和数据持久化,以及借助Grafana进行可视化展示,为用户提供从采集、存储到展示的完整的监控平台。

Infinsight目前服务于MongoDB和Redis云数据库,为数以万计的用户服务提供全面且准实时的监控服务。

Infinshgit对MongoDB和Redis服务每秒近千项指标进行实时采集,并对数据进行压缩存储,数据压缩比基于线上统计:MongoDB(32:1)、Redis Proxy(80:1),这使得我们仅用了不到30TB的存储容量,确保了7*30天数万亿的全量秒级数据留存,以方便追查历史问题,以及进行各种数据分析。

并且,Infinsight的开源版本已经在github上发布,除削减了和内部系统的耦合功能以外,完整的保留了Infinsight的全部功能。

应用场景举例

Infinsight是面向微服务的监控系统,是一个无agent系统,所以需要服务自身具备服务状态查询能力。

目前Infinsight可以提供:mysql、redis、mongodb三款常用数据库的监控能力。并且,在数据库监控能力之外,还提供了http+json的通用监控能力。

用户只需要配置好所需的服务类型和需要监控的服务的IP:PORT,Infinsight便会自动抓取服务的全部state信息,并提供默认的展示模版,用户几乎不需要太多的配置即可快速搭建专业的监控服务平台。

正是基于Infinsight灵活高效的部署能力,用户除了可以基于Infinsight对服务进行常规化监控,还能够针对测试服务通过热插拔的形式,随时部署,随时注销,极大的提高了服务测试和预发布环境下对服务性能指标的控制能力。

这对于服务测试的临时监控需求、新服务上线的初期监控需求,在相关配套设施没有建设完善时,Infinsight可以极大的节省在服务稳定性管理上的人力成本。

此外,由于Infinsight是一个面向微服务的无agent系统,这也就决定了Infinsight具备对于服务的混合监控能力。

用户服务无论在云上、云下,还是跨云部署,只要具备良好的网络连通性,Infinshgit都可以对整体系统进行全面的监控,不会受到由于无权部署agent而缺乏监控能力的问题。并且,由于服务自身就是agent,所以也节省了部署agent的资源开销,对于服务自身来说,1qps几乎没有任何资源消耗。

功能介绍

功能介绍

Infinsight致力于为用户提供最简单最便捷的监控服务,并提供相关的配置模版以及配置脚本,通过默认配置,标准化模版,使用户无需进行复杂的配置,就可以轻松实现如下监控能力

image.png

通过配置管理,动态增删需要监控的服务类型,并通过标准模版直接加载Grafana可视化页面,无需复杂的配置过程。

通过配置管理,可通过第三方手段动态增删需要监控的IP:PORT。

无需提前注册监控项schema,系统自适应监控项的变化,随时抓去全部监控信息。

可保证30天秒级数据的存储,6小时内数据查询平均延时小于5ms

支持前端灵活计算,支持四则运算和差值运算,更加友好的进行数据展示,可表达更丰富的逻辑含义。

支持多指标的正则表匹配,可将符合某一特征的多个指标,聚合在一张图表内,方便进行数据对比。

可单机部署,也可以分布式部署。在分布式部署环境下,可做到灵活的线性扩展。

未来规划

Infinsight后续会继续纳入更多的常用服务监控,例如kafka、flink等,为大多数用户解决常见服务的监控问题。在此基础上,不断借助开源的力量,吸纳更多领域从业人员和技术专家们提供针对监控服务可视化模版,给更多的用户提供更专业更美观的服务体验。

技术细节

详细技术细节,请参考github wiki:

https://github.com/aliyun/infinsight/wiki/Infinsight%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3

开源

目前Infinsight已经在github上开源,详细请戳:https://github.com/aliyun/infinsight

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
人工智能 运维 监控
构建高性能微服务架构:现代后端开发的挑战与策略构建高效自动化运维系统的关键策略
【2月更文挑战第30天】 随着企业应用的复杂性增加,传统的单体应用架构已经难以满足快速迭代和高可用性的需求。微服务架构作为解决方案,以其服务的细粒度、独立性和弹性而受到青睐。本文将深入探讨如何构建一个高性能的微服务系统,包括关键的设计原则、常用的技术栈选择以及性能优化的最佳实践。我们将分析微服务在处理分布式事务、数据一致性以及服务发现等方面的挑战,并提出相应的解决策略。通过实例分析和案例研究,我们的目标是为后端开发人员提供一套实用的指南,帮助他们构建出既能快速响应市场变化,又能保持高效率和稳定性的微服务系统。 【2月更文挑战第30天】随着信息技术的飞速发展,企业对于信息系统的稳定性和效率要求
|
1月前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
144 0
|
1月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
93 0
|
4天前
|
分布式计算 Ubuntu 调度
如何本地搭建开源分布式任务调度系统DolphinScheduler并远程访问
如何本地搭建开源分布式任务调度系统DolphinScheduler并远程访问
|
18天前
|
数据采集 运维 监控
微服务监控:守护系统稳定的终极防线
微服务监控在数字化时代日益重要,它帮助运维和开发人员实时监测服务性能、状态和安全,确保微服务架构的稳定性和可用性。构建微服务监控体系需关注合理监控策略、数据采集处理、可视化及告警。数据采集的三大支柱是指标、日志和链路追踪。监控涵盖基础设施、系统、应用和业务层面。通过优化监控体系、融合业务场景和建立跨团队协作,可提升监控效果。未来,AI和云计算将推动微服务监控向更精准、高效和安全的方向发展。
25 0
|
1月前
|
存储 分布式计算 大数据
现代化数据库技术——面向大数据的分布式存储系统
传统的关系型数据库在面对大规模数据处理时遇到了诸多挑战,而面向大数据的分布式存储系统应运而生。本文将深入探讨现代化数据库技术中的分布式存储系统,包括其优势、工作原理以及在大数据领域的应用。
|
1月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
63 1
|
1月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
782 0
|
1月前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
37 1
|
1月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
42 0