SOFAStack

ScalableOpenFinancialArchitecture Stack 是蚂蚁金服自主研发的金融级分布式架构,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。

SOFALookout 是蚂蚁金服在 SOFAStack 体系内研发开源的一款解决系统的度量和监控问题的轻量级中间件服务。本文给大家介绍下 SOFALookout 服务器端主要提供的特性以及使用方式。

前言

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

什么是 SOFALookout

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

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

SOFALookout 服务器端的主要特性:

适配社区主要 Metrics 数据源协议写入(比如: Prometheus,Metricbeat 等);

数据的存储支持扩展,暂时开源版默认支持 Elasticsearch, 并且透明和自动化了相关运维操作;

遵循 Prometheus 查询 API 的标准以及支持 PromQL,并进行了适当改进;

自带数据查询的控制台,并支持 Grafana进行数据可视化;

使用简单,支持单一进程运行整个服务器端模块。

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

SOFALookout 项目结构

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

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

SOFALookout 工作机制

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

目前 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 的支持,能够满足基本功能使用。

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

近期计划

下图是近期的 Roadmap:

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

公众号:金融级分布式架构(Antfin_SOFA)

蚂蚁金服服务器系统,蚂蚁金服轻量级监控分析系统 SOFALookout 服务端开源相关推荐

  1. 加强网上舆情监控工作,TOOM舆情信息监控分析系统

    网上舆情监控工作是指通过分析网络上的舆情信息,了解舆论动态,预测舆情发展趋势,及时处理舆情问题的工作,加强网上舆情监控工作,TOOM舆情信息监控分析系统. 一.加强网上舆情监控工作 强化网络舆情监控工 ...

  2. 加油站视频监控分析系统

    加油站视频监控分析系统借助Python基于OpenCV的对现场画面中人员抽烟.打电话行为.明火和烟雾异常状态.人员离岗.灭火器未正确摆放.静电释放等异常行为和状态实时检测.计算机视觉技术是人工智能系统 ...

  3. 智慧交通:基于PP-Vehicle的交通监控分析系统

    智慧交通:基于PP-Vehicle的交通监控分析系统 项目背景 交通是兴国之要.强国之基.随着城市的快速发展.车辆和行人数量的日益增多,强依赖人力管控的传统交通治理模式在交通拥堵治理.信号调控.秩序改 ...

  4. 观成科技亮相BCS2021 | 发布重磅新产品:瞰影-加密业务监控分析系统(ENA)

    8月26日,2021北京网络安全大会(BCS)以线上线下相结合的形式如期举办,观成科技作为专注于加密流量检测与防御的创新型安全厂商也受邀参加了本次大会,公司联合创始人刘燚在大会中也首次向大家正式介绍了 ...

  5. 魔兽世界怀旧服服务器信息,魔兽世界怀旧服服务器类型有哪些_怀旧服服务器类型介绍...

    魔兽世界怀旧服服务器类型有哪些?魔兽世界怀旧服服务器类型介绍.相信有很多小伙伴们都不知道,魔兽世界怀旧服服务器类型有哪些,小编这就来和大家讲讲魔兽世界怀旧服服务器类型,快点进来和小编一起看看吧. 服务 ...

  6. 魔兽世界怀旧服服务器平衡状态,魔兽世界怀旧服阵营最平衡服务器“灰烬使者”,引大量工作室入驻...

    原标题:魔兽世界怀旧服阵营最平衡服务器"灰烬使者",引大量工作室入驻 魔兽世界怀旧服阵营最平衡服务器"灰烬使者",引大量工作室入驻 相信绝大多数入坑魔兽世界怀旧 ...

  7. 魔兽世界怀旧服服务器平衡状态,魔兽世界怀旧服会达到阵营平衡吗?两大知名服务器人口数据告诉你...

    原标题:魔兽世界怀旧服会达到阵营平衡吗?两大知名服务器人口数据告诉你 基于现阶段魔兽世界正式服联盟和部落玩家人数差距非常大,导致很多打算去魔兽世界怀旧服的玩家不知道该如何选择自己的阵营,毕竟野外PVP ...

  8. 魔兽怀旧服服务器位置,魔兽怀旧服:排队服务器仅剩5个,玩家流失严重,魔兽再无情怀?...

    魔兽世界怀旧服自从上线以上是备受玩家的关注,不论是年轻的新玩家,还是年龄偏大的老玩家,都对魔兽世界这款游戏有说不完的感情,因此魔兽世界怀旧服才会异常的火爆.虽然60级怀旧服的时候因为种种原因,不少的玩 ...

  9. 最新苹果服务器认证,Sign in with Apple-苹果登录(客户端和服务端)

    Sign in with Apple已经很久了,之前只是看了一堆的文章理论,今天就实实在在的操作了一次,为后面项目中使用埋下基础.这篇文章会从头到尾描述清楚从客户端到服务器如何一步步的实现苹果登录. ...

  10. 用户行为服务系统架构调研----电信用户行为分析系统架构

    2基于云计算的系统总体设计方案 2.1系统总体技术架构 本文设计的移动互联网用户行为分析引擎通过云计算技术实现分布式并发的大规模计算能力,构建移动互联网端到端的大数据挖掘分析系统,实现对DPI和应用平 ...

最新文章

  1. 为何需要将jupyter notebook转为脚本
  2. 修改资料时碰到的问题,
  3. sqlbulkcopy mysql_c# SqlBulkCopy实现批量从数据集中把数据导入到数据库中
  4. android第三方应用,Android 第三方应用接入微信平台研究情况分享(一)
  5. 排序及其分类(一级)
  6. jqGrid使用经验分享(一)——jqGrid简单使用、json格式和jsonReader介绍
  7. 数组中一种数出现奇数次和两种数出现奇数次
  8. XEIM 配置程序源代码
  9. C++ 採集音频流(PCM裸流)实现录音功能
  10. mysql的唯一索引UNIQUE
  11. 编程基础知识真的是九阳神功吗?
  12. jpsnamenode和不显示_hadoop启动后jps查不到namenode的解决办法
  13. 代码管理学:常量类应该单独一个目录,还是在模块目录下?
  14. Java笔记(1)黑马刘意_Java入门_2019_idea版
  15. 校园邮箱免费激活idea教程
  16. 记一次LeetCode中文版打不开的情况
  17. python一定要有主函数_python的主函数问题
  18. pkg打包node项目文件
  19. 计算机故障含义,宕机是什么意思(电脑宕机的读法与含义)
  20. 发现了吗?西部世界III在Broadway上的广告

热门文章

  1. MyBatis使用Map
  2. vb.net 设置打印纸张与页边距_机关公文格式设置规范(最新整理版)
  3. 2017年美国大学生数学建模竞赛E题O奖65123论文解读
  4. windows下文件路径太深,删除解决方案
  5. 总结——达内视频项目
  6. linux嵌入式开发从入门到精通
  7. 毕业论文计算机设计,计算机设计毕业论文
  8. ExtJS入门到精通视频教程下载 ExtJS视频教程
  9. 网管工具之cacti
  10. python语言程序设计实践教程答案上海交通大学_计算机二级教程 Python语言程序设计 第4章程序的控制结构...