跳转至

监控器自动暂停

2026-04-02

监控器由于属于长期后台运行的程序,对于一些配置错误、不合理的监控器如果放任执行,可能会对系统资源产生负面影响。

为了避免此类问题,监控器内部存在自我运行状态检测以及自动暂停的处理逻辑。

「暂停」不是「禁用」

监控器自动暂停机制属于 DataFlux Func 内部机制,与用户在观测云中「禁用」监控器不同。

即使监控器处于暂停状态,在观测云中依然处于「开启」状态,不会同步禁用。

一般行为

触发自动暂停时,监控器会立刻抛出错误并停止,并且,在此之后的一段时间内都不会运行

暂停有时间限制的,到时自动解除暂停,用户无需任何操作,用户调整监控器配置后保存也会直接自动解除

暂停没有时间限制的,需要用户调整监控器配置后自动解除。

触发暂停后,常见的日志输出如下:

Text Only
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
[Traceback]
Traceback (most recent call last **IN USER SCRIPT**):
  File "guance__api_impl", line 103, in _F
    return F(**kwargs)
  File "guance__api_impl", line 383, in _F
    return F(**kwargs)
  File "guance__billing", line 237, in _F
    return F(**kwargs)
  File "guance__api", line 247, in custom_metric
    api_impl.custom_check(checker='custom_metric', **kwargs)
  File "guance__toolkit", line 194, in _F
    return F(*args, **kwargs)
  File "guance__api_impl", line 573, in custom_check
    InternalDataWay(workspace_uuid).write_event(summary_events)
  File "guance__core", line 2313, in write_event
    event_fault_info_cache_save(events)
  File "guance__core", line 88, in event_fault_info_cache_save
    raise e
guance__core.TooManyFaultInfoCache: 检测所缓存的 check 数据(428372)已超过 100000,本定时任务暂停

涉及场景

场景 origin_exception_type 字段值 暂停时长 说明
工作空间已锁定 WorkspaceLocked 1 小时 常见于用户欠费
工作空间任务调度次数超过限制 WorkspaceJobOutofQuota 1 小时 常见于免费用户创建过多监控器
找不到工作空间 WorkspaceNotFound 无限期 空间已被解散但监控器未被删除
未指定检测目标 EmptyTargets 无限期 常见于配置错误
未指定 DQL EmptyDQL 无限期 常见于配置错误
检测 DQL 的 BY 语句涉及高基数字段 DQLByUUIDFieldDetected 无限期 by trace_id 等时触发
检测所缓存故障对象数量过多 TooManyFaultInfoCache 无限期 常见于检测的都是一次性对象,如 pod_id

所有触发暂停的监控器,任务记录中会增加 is_paused:truepause_reason:xxxxx 字段,可以使用如下 DQL 语句查询相关的任务记录

相关任务日志查询 DQL
1
source:DFF_task_record_func service:DFF_task_record_func is_paused:"true"