该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

xcollector

项目介绍

此项目主要用基于skywalking开源框架扩展collector接收器和改造agent探针组件,采用RocketMQ的方式进行消息采集以及消息预警等功能。尽可能去保留原功能,并且采取约定优于配置的方式进行接管监控。

软件架构

软件架构说明

新增我们消费端服务:skywalking-xcollector,项目进行操作开发接受,从我们mq的broker端进行接受消息和功能开发操作。

1.3.1 数据源接收

系统数据源入口,用于MQ消费端的消费入口,消费数据后,我们采用异步方式(内置pc)去处理,当然为了方便实现可以采用线程池功能进行线程获取数据之后,进行传入我们的数据源解析接口。完成相关反序列化后进行构建生产我们的product端与consumer端共有数据对象。(MessageSegment)。

1.3.2 数据源解析

根据数据源的接受阶段后,进行数据源的解析,我们采用三个维度存储数据:

(1)系统核心数据:

思路借鉴与sk的思路方式

  • Trace核心数据
  • Segment核心数据
  • Span核心数据: 此部分数据span核心数据,是新增类型数据,为了可以方便进行我们先关数据查 询,例如sql的执行时间,因为,我们当天服务中的最慢执行sql时间可以采用application加入+数据库类型等查询到sql的总体数目+traceId查询到这个链路的相关数据。用于统计报表和性能预警告知我们sql查询的时间过慢的统计功能。 为了不影响性能,暂时希望可以采用非实时性功能,采用异步线程去处理span的 据保存。为报表和数据统计做基础。具体数据结构,待商讨.
(2)系统配置数据

用于配置我们的相关规则预警以及预警阈值

  • 1.阈值的配置: 2.阈值触发器规则: 按照出发条件:1.数值触发、2.条件触发。 条件触发需要我们自定义开发接口即可触发。 默认按照数值触发(阈值触发)。
(3)系统备案数据

错误预警发送情况数据 WARNING_Message 每次我们预警之后都会用于我们的存储记录,用于触发记录的操作 记录预警信息发送成功或者失败的记录。以及重试发送记录的信息汇总和 记录查看。

1.3.3错误数据处理功能接口

处理错误数据接口: 两个方面:1.处理存储我们相关的缓存记录,用于处理相关的记录错误出现的数据记录,为了提供预警功能提供了条件数据的基础。我们可以低耦合起来去处理数据。

1.3.3.1可配置化调整错误数据发送消息预警
1.3.3.2错误数据发送消息预警接口

触发器接口: 抽象的方案可以采用粗粒度方案抽象接口: 具体实现按照rule规则进行处理,默认出口为阈值触发方案。 可以控制开关:进行启动某种触发功能。 次数阈值触发:同一个应用下,超过阈值次数错误,便会启动触发器开关。发送异步信息请求到预警接口进行发送预警信息。 时间阈值触发:如果指定字段超过时间+次数阈值,则会进行触发。例如执行sql语句时间超过时间阈值。 自定义触发:可以自定义触发条件,开发者自行定义触发操作实现类。 预警接口: 调用预警接口:实现类,进行相应的预警操作,并且存储相应的实现类方法功能。

安装教程

使用说明

空文件

简介

此项目主要用基于skywalking开源框架扩展collector接收器和改造agent探针组件,采用RocketMQ的方式进行消息采集以及消息预警等功能。尽可能去保留原功能,并且采取约定优于配置的方式进行接管监控。 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化