找回密码
 立即注册
首页 业界区 业界 NCC Mocha v0.2.0 发布, 新增对 Metrics 的支持 ...

NCC Mocha v0.2.0 发布, 新增对 Metrics 的支持

辉伫 2025-6-2 23:55:40
目录

  • 项目简介
  • 项目进度
  • v0.2.0 发布内容
  • 快速体验
  • 数据的发送
  • 数据的查询

    • Trace

      • 配置 Jaeger 数据源
      • Trace 数据的查询

    • Metrics

      • 配置 Prometheus 数据源
      • Metrics 数据的查询
      • 目前的限制



项目简介

Mocha 是一个基于 .NET 开发的 APM 系统,同时提供可伸缩的可观测性数据分析和存储平台。
项目地址:https://github.com/dotnetcore/mocha
注意:使用 git clone --recursive 克隆本仓库以及子模块。
项目进度

目前项目处于早期阶段,已经完成了对 Trace 和 Metrics 的基础支持,可以通过 OTel SDK 上报数据到 Mocha Distributor,然后通过 Grafana 展示。目前仅支持通过 docker-compose 进行简单体验。
v0.2.0 发布内容


  • 支持 OTel Metrics 数据上报
  • 支持通过 Grafana 展示 Metrics 数据
快速体验

在项目根目录下的docker目录中,执行以下命令启动项目:
  1. docker-compose up -d
复制代码
启动成功后,可以看到以下容器:

  • distributor: 提供用于接收 OTLP 数据的 gRPC API
  • query: 提供用于接收查询协议的 HTTP API
  • mysql: 用于存储数据
  • grafana: 用于展示数据
数据的发送

将 SDK 的 OTLP exporter 配置为 http://localhost:4317 即可将数据发送到 distributor。
数据的查询

Trace

配置 Jaeger 数据源

我们实现了支持 Jaeger 查询协议的 API,因此可以直接在 Grafana 中配置 Jaeger 数据源。
访问 http://localhost:3000/ 即可看到grafana的登录页面。用户名和密码都是admin。
登录后,点击左侧的菜单,选择 Data Sources,然后点击 Add data source。
1.png

2.png

选择 Jaeger。
3.png

配置 Jaeger 数据源的 URL 为 http://query:5775/jaeger。
4.png

点击 Save & Test,如果显示如下信息,则说明配置成功。
5.png

如果还没往 distributor 发送过数据,会显示如下警告信息。
6.png

Trace 数据的查询

点击左侧的菜单,选择 Explore,然后选择 Jaeger 数据源,即可看到 Trace 数据。
7.png

8.png

Metrics

配置 Prometheus 数据源

我们实现了支持 PromQL 查询协议的 API,因此可以直接在 Grafana 中配置 Prometheus 数据源。
访问 http://localhost:3000/ 即可看到grafana的登录页面。用户名和密码都是admin。
登录后,点击左侧的菜单,选择 Data Sources,然后点击 Add data source。
选择 Prometheus。
9.png

配置 Prometheus 数据源的 URL 为 http://query:5775/prometheus。
10.png

配置 HTTP Method 为 POST。
11.png

点击 Save & Test,如果显示如下信息,则说明配置成功。

Metrics 数据的查询

点击左侧的菜单,选择 Explore,然后选择 Prometheus 数据源,即可看到 Metrics 数据。
13.png

点击左侧的菜单,选择 Dashboards,即可创建一个 Dashboard。
14.png

15.png

选择我们刚刚创建的 Prometheus 数据源。
16.png

接下来就可以根据需要添加 Panel,展示 Metrics 数据了。
17.png

目前的限制

目前 Mocha 支持的 Prometheus 的查询语法有限,更完整的支持需要等待后续版本。
目前支持的 function 主要有:
abs, absent, histogram_quantile, increase, rate, avg_over_time, min_over_time, max_over_time, sum_over_time, count_over_time, stdvar_over_time, stddev_over_time
目前支持的 aggregation 主要有:
sum, min, max, avg, count, stdvar, stddev, count, count_values, topk, bottomk, quantile

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册