跳转到主要内容
MoleSignal 数据源是一个 Grafana 插件。Grafana 用 PromQL 读取指标,用 日志 和 链路 页面的字段查询读取日志和链路,用 SQL 读取任意数据流。信号之间的跳转也一并带上:日志行可以打开它的链路,exemplar 可以打开它的链路,每个结果都能链接回 MoleSignal。
插件的后端运行在 Grafana 服务器上,由 Grafana 作为子进程启动。所有对 MoleSignal 的请求都从 Grafana 服务器发出,带着数据源的 Token;浏览器从不直接访问 MoleSignal。Grafana Cloud 通过 Private data source connect 访问内网中的 MoleSignal。

前提条件

为 Grafana 创建 Token

  1. 打开 身份与访问 → 服务账号,点击 创建服务账号。
  2. 名称 填 grafana,角色 选 Viewer。
  3. 点击 创建账号和 Token,复制 Token。它 365 天后过期,且只显示一次。
若要让 Grafana 只能读取,可以为该账号签发一个范围更窄的 Token:打开 身份与访问 → API tokens,点击 为服务账号签发 Token,选择该账号,权限范围 选 只读观察者 策略。参见 API Token 与服务账号。 一个数据源读取一个组织,即其 Token 所属的组织。能使用该数据源的每个 Grafana 用户,读到的都是 Token 能读到的数据。用 Grafana 的数据源权限限制谁能使用它,或者为每个团队配置各自的数据源和 Token。

安装插件

用 Grafana CLI 安装发布包,或者把它解压到 Grafana 的插件目录,Linux 安装包和 Docker 镜像中为 /var/lib/grafana/plugins:
插件尚未签名。在 grafana.ini 中,或用环境变量 GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=molesignal-datasource,允许 Grafana 加载它,然后重启 Grafana:

添加数据源

  1. 在 Grafana 中打开 Connections → Data sources,点击 Add new data source,选择 MoleSignal。
  2. 填写 MoleSignal 的 URL,例如 https://molesignal.example.com,粘贴 API Token。
  3. 点击 Save & test。
Save & test 会读取 MoleSignal 的版本,检查 Token 是否持有 streams.read 和 streams.query,统计各类型数据流的数量,并检查 MoleSignal 能否读懂字段查询。

查询类型

PromQL

range 查询每个步长读取一个点。步长取面板的间隔,不小于 最小步长,每条序列不超过 11,000 步。图例 为每条序列命名,{{label}} 代表某个标签的值。Exemplar 画出序列的 exemplar,每个都能打开对应的链路。MoleSignal 实现的是 PromQL 的子集。

字段查询

日志、链路搜索 和 RED 使用 MoleSignal 日志 和 链路 页面的字段查询,同一个查询在两处含义相同:
添加条件 一行用 字段、运算符 和 值 组成一个比较,并用 AND 加入查询。RED 读取 入口 Span(服务接收请求的地方)或 所有 Span。

SQL

SQL 读取任意数据流。数据流 指定规划语句时使用的数据流,为空时使用 FROM 后面的表。格式 可选 表格、时间序列 或 日志。以下宏按面板的时间窗口展开: $__interval、$__rate_interval 和 $__range 在 PromQL 和 SQL 中都可以使用,告警规则中也可以。

Explore

变量与临时过滤

查询变量列出以下之一: 选中多个值的变量按各语言读取列表的方式写入:PromQL 中为 (a|b),供 =~ 使用;SQL 中为 'a', 'b',供 IN (...) 使用;链路字段查询中为 'a', 'b',供 in (...) 使用。 临时过滤(ad hoc filter)在 PromQL 中作为每个选择器的标签匹配条件,在字段查询中作为 AND 条件。它的字段和取值来自数据源的 日志数据流。

注解

注解查询在仪表盘的面板上标出一种 来源:

告警

Grafana 告警规则通过插件后端执行 PromQL 和 SQL 查询。MoleSignal 的告警功能更完整,包括实时规则、事件、值班和升级。Grafana 中触发的告警仍可以作为外部告警推送到 MoleSignal。

仪表盘

数据源的 Dashboards 标签页可以导入两个仪表盘:

限制

Grafana 的 Logs、Traces、Metrics Drilldown 应用只读取 Loki、Tempo 和 Prometheus,因此不会打开这个数据源。
最后修改于 2026年10月31日