NCC Mocha v0.2.0 发布, 新增对 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目录中,执行以下命令启动项目:

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。

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

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

选择 Jaeger。

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

配置 Jaeger 数据源的 URL 为 http://query:5775/jaeger

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

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

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

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

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

Trace 数据的查询

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

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

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

Metrics

配置 Prometheus 数据源

我们实现了支持 PromQL 查询协议的 API,因此可以直接在 Grafana 中配置 Prometheus 数据源。

访问 http://localhost:3000/ 即可看到grafana的登录页面。用户名和密码都是admin。

登录后,点击左侧的菜单,选择 Data Sources,然后点击 Add data source。

选择 Prometheus。

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

配置 Prometheus 数据源的 URL 为 http://query:5775/prometheus

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

配置 HTTP Method 为 POST。

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

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

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

Metrics 数据的查询

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

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

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

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

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

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

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

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

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

目前的限制

目前 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

发表评论

评论已关闭。

相关文章