蚂蚁金服轻量级监控分析系统 SOFALookout 服务端开源

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: SOFALookout 是蚂蚁金服在 SOFAStack 体系内研发开源的一款解决系统的度量和监控问题的轻量级中间件服务。 今天我们重磅开源 SOFALookout 服务器端,欢迎了解使用

SOFAStack> Scalable Open Financial  Architecture Stack 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。
SOFALookout 是蚂蚁金服在 SOFAStack 体系内研发开源的一款解决系统的度量和监控问题的轻量级中间件服务。本文给大家介绍下 SOFALookout 服务器端主要提供的特性以及使用方式。
SOFALookout:https://github.com/sofastack/sofa-lookout

前言

容器,K8S,微服务,Mesh 以及 Serverless 这些新技术方向正在根本的变革我们运行软件的方式。我们构建的系统更加分布式化,另外由于容器,系统的生命周期更加短,变得易逝。针对这些变化,SOFALookout 希望提供一套轻量级解决方案。之前 SOFALookout 已经开源客户端的能力。今天,SOFALookout 服务器端 Metrics 部分的代码终于正式开源啦!本文给大家介绍下 SOFALookout 服务器端的主要特性以及使用方法。

什么是 SOFALookout

SOFALookout 是蚂蚁金服开源的一款解决系统的度量和监控问题的轻量级中间件服务。它提供的服务包括:Metrics 的埋点、收集、加工、存储与查询等。该开源项目包括了两个独立部分,分别是客户端与服务器端服务。

SOFALookout 目标是打造一套轻量级 Observability 实时工具平台,帮助用户解决基础设施、应用和服务等的监控和分析的问题。SOFALookout(目前已开源部分) 是一个利用多维度的 metrics 对目标系统进行度量和监控的项目。SOFALookout 的多维度 metrics 参考 Metrics2.0 标准。

SOFALookout :https://github.com/sofastack/sofa-lookout

SOFALookout 安装文档:https://www.sofastack.tech/sofa-lookout/docs/quickstart-metrics-server

image.png

 SOFALookout 服务器端的主要特性:

  • 适配社区主要 Metrics 数据源协议写入(比如: PrometheusMetricbeat 等);
  • 数据的存储支持扩展,暂时开源版默认支持 Elasticsearch, 并且透明和自动化了相关运维操作;
  • 遵循 Prometheus 查询 API 的标准以及支持 PromQL,并进行了适当改进;
  • 自带数据查询的控制台,并支持 Grafana 进行数据可视化;
  • 使用简单,支持单一进程运行整个服务器端模块。

随着 SOFALookout (metrics)服务器端代码开源,metrics 数据的处理已经形成闭环。后续我们将会进一步开源 Trace 和 Event 相关的服务能力,敬请期待。

SOFALookout 项目结构

服务器端代码分别包括两部分:Gateway 模块和 Server 模块。如下图所示(展示了 SOFALookout 源码项目的模块概要结构)

├── boot
├── client
├── gateway
└── server

项目中的 boot 模块作用是方便集成和运行服务端的模块,既可以单独运行 Gateway 和 Server 的服务,也可以借助 SOFAArk 完成(Gateway 和 Server)的 All in One 的合并为单一进程运行。

SOFALookout 工作机制

下图完整展示了 SOFALookout 如何从 metrics 数据采集、上报、存储到最终展示的完整流程路径。

image.png

目前 SOFALookout 支持灵活的 metrics 数据存储选型。但开源版本我们暂时只支持了 Elasticsearch 作为存储的方案(后续可能继续支持 Cassandra,InfluxDB...),其他存储地适配我们希望更多同学能参与共建和支持。优先支持 Elasticsearch 是因为我们考虑到了 ELK 解决方案在业界已经广泛使用,尤其是日志数据。

为了开箱即用,同时考虑到不熟悉 Elasticsearch 的同学的使用,SOFALookout已经内置了关于 metrics 数据存储的自动化运维工具,可以免除大家自己建 Index,和日常维护 ES Index 的麻烦,更多细节后续单独讲解。

本次新增开源模块

一、SOFALookout Gateway 模块

SOFALookout Gateway 轻量的数据管道,它提供丰富的协议接入支持,包括自有SDK(SOFALookout Client)上报协议,还支持 Prometheus 的数据协议(推模式和拉模式),Metricbeat 协议(版本是6),OpenTSDB 写入协议。每种数据来源对应于一个 Importer 的概念。

SOFALookout Gateway 对于远程(推模式)上报提供本地硬盘缓冲的支持。Gateway 总体设计是围绕数据加工的Pipeline 形式,包括前置后置的数据过滤器方便进行开发者数据加工。 另外 Gateway 可以支持自定义 Exporter,默认提供了 Elasticsearch Exporter,Standard Exporter(用于 Gateway 间数据中继),开发者也可以自定义其他存储的 或 Kafka 等各式各样 Exporter。

二、SOFALookout Server 模块

SOFALookout Server 兼容和增强了 Prometheus 的数据及元数据查询的 RESTful API。同样对应 PromQL 我们也基本实现了兼容和增强(不包括 Alert 相关语法),SOFALookout 的 promQL 相关解析逻辑是从 Prometheus 移植而来,做了一些优化和改进, 感谢 Prometheus 开源了如此易用和强大的 golang 版本的 QL 实现。

为了方便方便开发者做数据探索和试验,我们也提供了自有 Web-UI 的支持,能够满足基本功能使用。

image.png

我们还是推荐大家使用 Grafana 进行数据展示。Grafana 集成 SOFALookout 很简单,只需要选择 Prometheus 作为数据源协议即可(SOFALookout默认查询端口也是: 9090)。下图展示 Grafana 新增数据源配置:

image.png

image.png

近期计划

下图是近期的 Roadmap:

image.png

非常欢迎更多同学参与 SOFALookout 共建,尤其是支持更多的 Metrics 存储库。

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
QGS
(linux-x86-arm)银河麒麟V10安装ToDesk远程控制
记(linux-x86-arm)银河麒麟V10安装ToDesk远程控制
QGS
4993 0
(linux-x86-arm)银河麒麟V10安装ToDesk远程控制
|
4月前
|
Java 应用服务中间件 开发者
Spring Boot 技术详解与应用实践
本文档旨在全面介绍 Spring Boot 这一广泛应用于现代企业级应用开发的框架。内容将涵盖 Spring Boot 的核心概念、核心特性、项目自动生成与结构解析、基础功能实现(如 RESTful API、数据访问)、配置管理以及最终的构建与部署。通过本文档,读者将能够理解 Spring Boot 如何简化 Spring 应用的初始搭建和开发过程,并掌握其基本使用方法。
341 2
|
4月前
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
698 0
|
10月前
|
存储 人工智能 API
PDF to Podcast:英伟达开源黑科技!PDF 秒转播客/有声书,告别阅读疲劳轻松学习!
NVIDIA推出的PDF to Podcast工具,基于大型语言模型和文本到语音技术,将PDF文档转换为生动的音频内容。
609 14
PDF to Podcast:英伟达开源黑科技!PDF 秒转播客/有声书,告别阅读疲劳轻松学习!
|
10月前
|
小程序 测试技术 数据安全/隐私保护
微信公众号接口测试实战指南
微信公众号接口测试是确保系统稳定性和功能完整性的重要环节。本文详细介绍了测试全流程,包括准备、工具选择(如Postman、JMeter)、用例设计与执行,以及常见问题的解决方法。通过全面测试,可以提前发现潜在问题,优化用户体验,确保公众号上线后稳定运行。内容涵盖基础接口、高级接口、微信支付和数据统计接口的测试,强调了功能验证、性能优化、安全保护及用户体验的重要性。未来,随着微信生态的发展,接口测试将面临更多挑战和机遇,如小程序融合、AI应用和国际化拓展。
|
SQL DataWorks 数据可视化
DataWorks产品体验与评测
在当今数字化时代,数据处理的重要性不言而喻。DataWorks作为一款数据开发治理平台,在数据处理领域占据着重要的地位。通过对DataWorks产品的体验使用,我们可以深入了解其功能、优势以及存在的问题,并且与其他数据处理工具进行对比,从而为企业、工作或学习中的数据处理提供有价值的参考。
461 6
DataWorks产品体验与评测
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用
【10月更文挑战第8天】本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,通过 Spring Initializr 创建并配置 Spring Boot 项目,实现后端 API 和安全配置。接着,使用 Ant Design Pro Vue 脚手架创建前端项目,配置动态路由和菜单,并创建相应的页面组件。最后,通过具体实践心得,分享了版本兼容性、安全性、性能调优等注意事项,帮助读者快速搭建高效且易维护的应用框架。
298 3
|
负载均衡 网络协议 安全
DPDK用户态协议栈-KNI
DPDK用户态协议栈-KNI
|
网络协议 Shell Nacos
nacos简介安装配置创建
nacos简介安装配置创建
292 1

热门文章

最新文章