跳转到主要内容
自动发现每 5 分钟把每个组织找一遍,结果存成 发现。打开 告警 → 自动发现,查看需要 alerts.discovery.read,建规则需要 alerts.rules.manage。

找什么

日志:每个组织看 20 个带级别字段(level、severity、severity_text、severity_number 之类)的日志流,最近改过结构的在前。error、fatal、critical 一类的级别算错误,severity_number 为 17 及以上也算。指标:只看 OpenTelemetry 的主机和 Kubernetes 接收器、Prometheus 的 node_exporter 和 kube-state-metrics 里一组常见的资源指标,指标目录里有才查,不扫别的指标。 性能建议(慢依赖、N+1、慢语句、热点接口)不算问题,不进自动发现。忽略和已解决的 issue 也不算。 同一个问题(种类、服务或应用、环境和指标相同)只有一条进行中的发现:再看到就更新现值和最近一次看到的时间;连续三轮没再看到就算结束,结束的发现保留 30 天。一边读不出来(例如 APM 或 RUM 暂时查不了,或某个日志流查失败)时,这一轮不动那一边进行中的发现。有多个 alert 节点时,组织按 id 分给各节点。

发现列表

在 进行中 和 已结束 之间切换,可以按种类筛选。每一行用一句话说明发现了什么,例如「checkout 的错误率变为 12.0%(之前 0.40%)」,下面是严重度、种类和环境,后面是开始和最近一次看到(已结束的是结束)的时间。 点击一行打开详情:种类、现在的值、前一段和上周同段的值、版本、错误位置,以及开始和最近一次看到的时间;APM 的发现还列出开始前后的部署和版本变更。在 APM 里打开、在 RUM 里打开、看这些日志、在指标里打开 分别打开对应的服务、应用、日志流或查询。 让 Mole Agent 调查 关掉详情,就这条发现开一个 Mole Agent 对话:Mole Agent 用 get_discovery_finding 读这条发现,看它开始前后的日志、指标、链路和变更,再说下一步该做什么。

用规则通知

发现只进列表,不会叫醒任何人:它们是推算出来的,直接通知容易误报。要通知,建一条自动发现规则:
  1. 点击 建自动发现规则,或在一条发现的详情里点击 为这类发现建规则(种类、服务和环境按这条发现填好)。
  2. 在 哪些发现 中填写 名称,选 种类(都不勾是全部),填 服务或应用(APM 服务名或 RUM 应用 id,逗号分开,空着是全部)、环境 和 最低严重度。
  3. 在 通知谁 中选 升级策略 和 紧急度:默认 低(默认),只通知第一级,免打扰时段不打扰。
  4. 点击 创建规则。
规则每分钟看一遍进行中的发现:命中的每条发现各开一个事件,严重度就是发现的严重度,事件带标签 discovery.finding、discovery.kind 和 discovery.subject,路由规则和静默可以按它们匹配。发现结束,事件就恢复。规则出现在规则列表里,来源是 自动发现。

让 Mole Agent 调查新发现

触发方式为 新的自动发现 的自动化,对保存或启用之后出现、满足 种类(都不勾是全部种类)、至少 某个严重度和 服务、主机或容器(用逗号分开,空着是全部)的每条发现运行一次。同一条发现只调查一次。默认什么发现都不会自动调查,免得推算出来的问题不声不响地用掉 Token 额度。

API 与 Mole Agent

最后修改于 2026年10月31日