1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214 | # 观测云中「任务调度」计数
[07-31 01:40:36] [+6ms] [659ms] 【使用额度】 数据查询范围为 5 分钟,尚未超过 15 分钟,不需要额外计量
[07-31 01:40:36] [+0ms] [659ms] 【使用额度】 存在 workspace_uuid 参数,值为 wksp_xxxxx ,需要计量 1 次
# 本次任务执行的函数 ID 及其参数列表
[07-31 01:40:36] [+4ms] [664ms] 【函数】 调用函数:guance__api_impl.custom_check
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:checker = "custom_metric"
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:kwargs = {"version":"v2"}
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:channels = ["chan_xxxxx"]
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:checker_opt = {"id":"rul_xxxxx","name":"<监控器名称>","label":["<标签>"],"title":"<事件标题>","message":"<事件详情>","recoverInterval":300,"noDataAction":"noDataEvent","noDataInterval":300,"noDataTitle":"","noDataMessage":"","infoEvent":false,"rules":[{"conditionLogic":"and","conditions":[{"alias":"Result","operator":">=","operands":["0"]}],"status":"critical"}]}
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:disable_check_end_time = false
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:extra_data = {"type":"simpleCheck"}
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:monitor_opt = {"id":"monitor_xxxxx","name":"default"}
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:targets = [{"alias":"Result","queryType":"dql","dql":"M::`fake_data_for_test`:(avg(`field_int`) AS `value`)","range":300}]
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:workspace_token = "tkn_xxxxx"
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:workspace_uuid = "wksp_xxxxx"
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:at_accounts = null
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:at_accounts_nodata = null
[07-31 01:40:36] [+0ms] [664ms] 【函数】 --> 参数:related_issues = null
# 监控器检测间隔及关联配置
[07-31 01:40:36] [+1ms] [666ms] 【监控器】 根据实际 Cron 表达式(0 */5 * * * *)计算检测间隔
[07-31 01:40:36] [+0ms] [666ms] 【监控器】 --> 检测间隔:300 秒
[07-31 01:40:36] [+7ms] [674ms] 【监控器】 监控器对象列表缓存过期时间为:3000 秒(50 分钟)
[07-31 01:40:36] [+0ms] [674ms] 【维度标签列表缓存】 将过期时长设置为 3000 秒
# 数据断档检测(通过 DQL 查询数据、单位)
[07-31 01:40:36] [+0ms] [674ms] 【监控器】 查询用于「数据断档检测」的数据:触发时间 - 检测范围(300 秒) ~ 触发时间
[07-31 01:40:36] [+0ms] [674ms] 【数据查询】 执行 DQL 查询 -> 时间范围:2025-07-31 01:35:00 ~ 2025-07-31 01:40:00
[07-31 01:40:36] [+0ms] [674ms] 【数据查询】 调用 KODO / STUDIO API -> POST http://kodo-inner.forethought-kodo:9527/v1/query
[07-31 01:40:36] [+7ms] [681ms] 【数据查询】 >> Body:{"workspace_uuid":"wksp_xxxxx","queries":[{"qtype":"dql","query":"M::`fake_data_for_test`:(avg(`field_int`) AS `value`)","time_range":[1753896900000,1753897200000],"check_nsq_latency":true,"disable_sampling":true,"disable_slimit":true,"mask_visible":true,"search_timeout":"15s"}],"echo_explain":true}
[07-31 01:40:36] [+39ms] [720ms] 【数据查询】 >> 响应:【200 OK】 {"content":[{"series":[{"columns":["time","value"],"name":"fake_data_for_test","values":[[1753897190000,80.82777778]]}],"query_parse":{"fields":{"value":"field_int"},"funcs":{"value":["avg"]},"namespace":"metric","sources":{"fake_data_for_test":"exact"}},"cost":"31ms","<其他字段>":"<略>"}]}
[07-31 01:40:36] [+0ms] [720ms] 【数据查询】 --> 查询完毕
[07-31 01:40:36] [+2ms] [723ms] 【Studio】 用户指标单位(从缓存获取):wksp_xxxxx => {"_DFF_CACHE_EXPIRE_TIME":1753897410,"metric":{"<指标集>":{"<指标>":"<单位>"}},"logging":{"<字段>":"<单位>"},"object":{"<字段>":"<单位>"},"other":{"<字段>":"<单位>"}}
[07-31 01:40:36] [+0ms] [723ms] 【Studio】 已匹配用户指标单位:metric/fake_data_for_test/field_int OR other/field_int => digital,B
[07-31 01:40:36] [+0ms] [723ms] 【数据查询】 --> DQL 结果数据拆包:{"series":[{"name":"fake_data_for_test","columns":["time","value"],"values":[["2025-07-30T17:39:50Z",80.82777778]]}],"metric_units":{"value":"digital,B"},"query_time_range":[1753896900000,1753897200000]}
[07-31 01:40:36] [+0ms] [723ms] 【监控器】 已搜集的指标单位:
[07-31 01:40:36] [+0ms] [723ms] 【监控器】 --> value: digital,B
[07-31 01:40:36] [+0ms] [723ms] 【监控器】 --> Result: digital,B
# 故障检测(通过 DQL 查询数据、单位)
[07-31 01:40:36] [+0ms] [723ms] 【监控器】 查询用于「故障检测」的数据:触发时间 - 检测范围(300 秒) ~ 触发时间
[07-31 01:40:36] [+0ms] [723ms] 【监控器】 已执行过相同查询,读取缓存作为查询结果
# 判断数据持续新(是否存在对象从有到无 / 从无到有)
[07-31 01:40:36] [+0ms] [723ms] 【监控器】 ------------------- 加载数据持续性信息 --------------------
[07-31 01:40:36] [+0ms] [723ms] 【监控器】 已配置 300 秒数据断档检测范围
[07-31 01:40:36] [+0ms] [723ms] 【维度标签列表缓存】 从缓存中获取 field=`rul_xxxxx` 的全量缓存数据
[07-31 01:40:36] [+2ms] [725ms] 【维度标签列表缓存】 --> 共 1 条缓存记录
[07-31 01:40:36] [+0ms] [725ms] 【维度标签列表缓存】 --> {"rul_xxxxx":{"{}":1753896900}}
[07-31 01:40:36] [+0ms] [725ms] 【维度标签列表缓存】 更新缓存:
[07-31 01:40:36] [+0ms] [725ms] 【维度标签列表缓存】 --> rul_xxxxx: {"{}":1753897200}
[07-31 01:40:36] [+0ms] [726ms] 【监控器】 [对象 1/1] {} 数据直至当前可查
# 生成数据断档事件(从有到无)
[07-31 01:40:36] [+0ms] [726ms] 【监控器】 -------------------- 执行数据断档检测 --------------------
[07-31 01:40:36] [+0ms] [726ms] 【监控器】 --> 没有数据断档对象
# 生成数据断档恢复事件(从无到有)
[07-31 01:40:36] [+0ms] [726ms] 【监控器】 ------------------- 判断数据从断档恢复 --------------------
[07-31 01:40:36] [+0ms] [726ms] 【监控器】 [存续数据对象 1/1] {}
[07-31 01:40:36] [+0ms] [726ms] 【事件故障信息缓存】 从缓存中获取 field=`rul_xxxxx` 的全量缓存数据
[07-31 01:40:36] [+0ms] [726ms] 【事件故障信息缓存】 --> check 包含 1 条缓存记录
[07-31 01:40:36] [+0ms] [726ms] 【事件故障信息缓存】 --> nodata 包含 0 条缓存记录
[07-31 01:40:36] [+0ms] [726ms] 【事件故障信息缓存】 ----> 共 1 条缓存记录
[07-31 01:40:36] [+0ms] [726ms] 【事件故障信息缓存】 --> {"rul_xxxxx":{"check":{"{}":{"date":1753896900,"faultId":"event-xxxxx","faultStartTime":1753896300,"faultDuration":600,"status":"critical"}},"nodata":{}}}
[07-31 01:40:36] [+0ms] [726ms] 【监控器】 对象 {} 的 nodata 故障周期信息(fault_info):null
[07-31 01:40:36] [+0ms] [726ms] 【监控器】 --> 没有上次数据断档检测事件
[07-31 01:40:36] [+0ms] [727ms] 【监控器】 --> 没有活跃数据断档事件,不需要产生数据断档恢复事件
# 生成故障事件
[07-31 01:40:36] [+0ms] [727ms] 【监控器】 -------------------- 执行数据数值检测 --------------------
# 获取最近检测结果缓存(用于连续触发判断)
[07-31 01:40:36] [+0ms] [727ms] 【最近检测结果缓存】 从缓存中获取 field=`rul_xxxxx` 的全量缓存数据
[07-31 01:40:36] [+1ms] [729ms] 【最近检测结果缓存】 --> 共 1 条缓存记录
[07-31 01:40:36] [+0ms] [729ms] 【最近检测结果缓存】 --> {"rul_xxxxx":{"{}":{"statusQueue":["critical","critical","critical"],"timestamp":1753896900}}}
# 依次判断对象检测值(即检查 Result 值)
[07-31 01:40:36] [+0ms] [729ms] 【监控器】 [检测对象 1/1] {}
[07-31 01:40:36] [+0ms] [729ms] 【通用阈值检测】 待检测数据:{"Result":[80.82777778]}
[07-31 01:40:36] [+0ms] [729ms] 【通用阈值检测】 关联数据:{"value":80.82777778}
# 依次判断检测规则
[07-31 01:40:36] [+0ms] [729ms] 【通用阈值检测】 [阈值规则 1/1] critical:Result >= ["0"]
[07-31 01:40:36] [+0ms] [729ms] 【条件判断】 [条件 1/1] IF Result (ANY[80.82777778]) >= ["0"],以 float 类型进行判断
[07-31 01:40:36] [+0ms] [729ms] 【条件判断】 --> 中间结果为 True ,条件关系为 AND ,继续
[07-31 01:40:36] [+0ms] [729ms] 【通用阈值检测】 --> 匹配成功,结束判断
[07-31 01:40:36] [+0ms] [729ms] 【通用阈值检测】 阈值规则匹配结果:{"checker_sub":"check","check_data":{"Result":80.82777778},"related_data":{"value":80.82777778},"conditions":[{"alias":"Result","operator":">=","operands":["0"],"expr":">= 0"}],"match_times":1,"status":"critical"}
[07-31 01:40:36] [+0ms] [729ms] 【监控器】 --> 检测对象 {}:已达到故障 critical 条件
[07-31 01:40:36] [+0ms] [729ms] 【监控器】 --> 最近连续检测结果为 [ critical, critical, critical, critical(本次) ]
[07-31 01:40:36] [+0ms] [729ms] 【监控器】 ----> 故障(critical)已连续匹配 4 次(包括本次),满足设定的【连续 1 次】,需要产生事件
# 获取事件故障信息缓存(用于计算故障持续时长)
[07-31 01:40:36] [+1ms] [730ms] 【事件故障信息缓存】 --> 缓存添加 / 更新:监控器(ID: rul_xxxxx),子检测器(check),对象({}),状态(critical),持续时长为 900 秒
[07-31 01:40:36] [+0ms] [730ms] 【事件分级故障信息缓存】 --> 忽略普通故障事件(子检测器 check)
[07-31 01:40:36] [+0ms] [730ms] 【外部事件故障信息缓存】 --> 忽略非外部事件(检测器 custom_metric)
[07-31 01:40:36] [+0ms] [730ms] 【单位转换】 Value: 80.82777778, Unit: digital,B
[07-31 01:40:36] [+0ms] [730ms] 【单位转换】 Value: 80.82777778, Unit: digital,B
[07-31 01:40:36] [+0ms] [730ms] 【单位转换】 Value: '0', Unit: digital,B
[07-31 01:40:36] [+0ms] [730ms] 【单位转换】 --> Value: 0
# 更新最近检测结果缓存(用于连续触发判断)
[07-31 01:40:36] [+0ms] [730ms] 【最近检测结果缓存】 更新缓存:
[07-31 01:40:36] [+0ms] [730ms] 【最近检测结果缓存】 --> rul_xxxxx: {"{}":{"statusQueue":["critical","critical","critical","critical"],"timestamp":1753897200}}
# 获取告警配置(用于发送告警)
[07-31 01:40:36] [+1ms] [732ms] 【Studio】 告警信息缓存已禁用
[07-31 01:40:36] [+0ms] [732ms] 【Studio】 调用 Studio Inner API -> GET http://inner.forethought-core:5000/api/v1/inner/alert_opt/get
[07-31 01:40:36] [+0ms] [732ms] 【Studio】 >> Query:{"workspaceUUID":"wksp_xxxxx","checkerUUID":"rul_xxxxx"}
[07-31 01:40:36] [+13ms] [746ms] 【Studio】 >> 响应:【200 OK】 {"code":200,"content":{"data":{"alertPolicies":[{"id":8543,"uuid":"altpl_xxxxx","workspaceUUID":"wksp_xxxxx","name":"<告警策略名称>","rules":[{"targets":[{"type":"mail","to":["<邮箱地址>"],"tags":{"-df_source":"security"},"status":"critical"}],"upgradeTargets":[{"id":"notify_xxxxx","name":"<通知对象名称>","type":"feishuRobot","webhook":"https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx","secret":"xxxxx","tags":{"-df_source":"security"},"duration":300,"isDisabled":false,"status":"critical"}]}],"ruleTimezone":"Asia/Shanghai","minInterval":900,"aggClusterFields":[],"aggFields":[],"aggLabels":[],"aggInterval":0,"status":0}],"silent":[{"crontab":"0 11 * * *","start":"2025-06-09T11:00:00+08:00","crontabDuration":3600,"crontabTimezone":"Asia/Shanghai","tags":{"df_monitor_checker_id":"rul_xxxxx"}}]}},"errorCode":"","message":"","success":true,"traceId":"TRACE-XXXXX"}
[07-31 01:40:36] [+2ms] [748ms] 【Studio】 告警配置(从 API 获取):rul_xxxxx => {"_DFF_CACHE_EXPIRE_TIME":1753897416,"alertPolicies":[{"id":"altpl_xxxxx","workspaceUUID":"wksp_xxxxx","name":"<告警策略名称>","rules":[{"targets":[{"type":"mail","to":["<邮箱地址>"],"tags":{"-df_source":"security"},"status":"critical"}],"upgradeTargets":[{"id":"notify_xxxxx","name":"<通知对象名称>","type":"feishuRobot","webhook":"https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx","secret":"xxxxx","tags":{"-df_source":"security"},"duration":300,"isDisabled":false,"status":"critical"}]}],"ruleTimezone":"Asia/Shanghai","minInterval":900,"aggClusterFields":[],"aggFields":[],"aggLabels":[],"aggInterval":0}],"silent":[{"crontab":"0 11 * * *","start":"2025-06-09T11:00:00+08:00","crontabDuration":3600,"crontabTimezone":"Asia/Shanghai","tags":{"df_monitor_checker_id":"rul_xxxxx"}}]}
# 依次处理事件
[07-31 01:40:36] [+0ms] [748ms] 【事件告警器】 [事件 1/1] <critical事件@monitor:{}:<事件标题>>
# 依次判断静默规则
[07-31 01:40:36] [+0ms] [748ms] 【事件告警器】 ---------------------- 静默处理 ----------------------
[07-31 01:40:36] [+0ms] [748ms] 【事件告警器】 [静默规则 1/1] 在 【2025-06-09 11:00:00 以后】 ,按 Cron 表达式 0 11 * * * 循环,每轮循环持续 3600 秒,对满足标签 {"df_monitor_checker_id":"rul_xxxxx"} 的事件静默
[07-31 01:40:36] [+0ms] [749ms] 【事件告警器】 --> 静默标签不匹配,跳过
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 未能匹配静默规则,不需要静默
# 依次判断告警策略、规则(时间段)、通知对象
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 ---------------------- 告警策略 ----------------------
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 [告警策略 1/1] <告警策略名称> (critical / ID: altpl_xxxxx)
[07-31 01:40:36] [+0ms] [750ms] 【告警策略 REF 最后告警时间缓存】 从缓存中获取 field=`rul_xxxxx` 的全量缓存数据
[07-31 01:40:36] [+0ms] [750ms] 【告警策略 REF 最后告警时间缓存】 --> 共 1 条缓存记录
[07-31 01:40:36] [+0ms] [750ms] 【告警策略 REF 最后告警时间缓存】 --> {"rul_xxxxx":{"xxxxx/check":{"critical|altpl_xxxxx":1753896300}}}
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 --> 上次告警于 2025-07-31 01:25:00,重复告警 900 秒,在 2025-07-31 01:40:00(0 秒以后)之前不重复告警
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 ----> 当前不处于重复告警期内,需要发送告警
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 [告警规则(时间段) 1/1] 任意时间
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 成功匹配告警规则(时间段),继续处理通知对象
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 ~~~~~~~~~~ 处理告警通知对象 ~~~~~~~~~~
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 通知对象预过滤(status, isDisabled)
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 --> 过滤前数量:1,过滤后数量:1
[07-31 01:40:36] [+0ms] [750ms] 【事件告警器】 通知对象预过滤(filterString,tags)
[07-31 01:40:36] [+1ms] [752ms] 【事件告警器】 --> 事件数据 ({"df_source":"monitor"}) <=> Tags 过滤 ({"-df_source":"security"}):匹配
[07-31 01:40:36] [+0ms] [752ms] 【事件告警器】 --> 过滤前数量:1,过滤后数量:1
[07-31 01:40:36] [+0ms] [752ms] 【事件告警器】 进一步匹配告警通知对象
[07-31 01:40:36] [+0ms] [752ms] 【事件告警器】 [告警通知对象 1/1] mail (critical / Tags 过滤条件 {"-df_source":"security"})
[07-31 01:40:36] [+0ms] [752ms] 【告警 REF 最后告警时间缓存】 从缓存中获取 field=`rul_xxxxx` 的全量缓存数据
[07-31 01:40:36] [+0ms] [753ms] 【告警 REF 最后告警时间缓存】 --> 共 1 条缓存记录
[07-31 01:40:36] [+0ms] [753ms] 【告警 REF 最后告警时间缓存】 --> {"rul_xxxxx":{"xxxxx/xxxxx/alert/check":{"|critical|b64:xxxxxfQ|":1753896300}}}
[07-31 01:40:36] [+0ms] [753ms] 【事件告警器】 ~~~~~~~~~ 处理升级告警通知对象 ~~~~~~~~~
[07-31 01:40:36] [+0ms] [753ms] 【事件告警器】 通知对象预过滤(status, isDisabled)
[07-31 01:40:36] [+0ms] [753ms] 【事件告警器】 --> 过滤前数量:1,过滤后数量:1
[07-31 01:40:36] [+0ms] [753ms] 【事件告警器】 通知对象预过滤(filterString,tags)
[07-31 01:40:36] [+0ms] [753ms] 【事件告警器】 --> 事件数据 ({"df_source":"monitor"}) <=> Tags 过滤 ({"-df_source":"security"}):匹配
[07-31 01:40:36] [+0ms] [753ms] 【事件告警器】 --> 过滤前数量:1,过滤后数量:1
[07-31 01:40:36] [+0ms] [753ms] 【事件告警器】 进一步匹配升级告警通知对象
[07-31 01:40:36] [+0ms] [753ms] 【事件告警器】 [告警升级通知对象 1/1] feishuRobot / <通知对象名称> (300 秒 / critical / Tags 过滤条件 {"-df_source":"security"})
[07-31 01:40:36] [+0ms] [753ms] 【升级告警 REF 首次命中时间缓存】 从缓存中获取 field=`rul_xxxxx` 的全量缓存数据
[07-31 01:40:36] [+1ms] [755ms] 【升级告警 REF 首次命中时间缓存】 --> 共 1 条缓存记录
[07-31 01:40:36] [+0ms] [755ms] 【升级告警 REF 首次命中时间缓存】 --> {"rul_xxxxx":{"xxxxx/xxxxx/check":{"300|critical|b64:xxxxxfQ|":1753896300}}}
[07-31 01:40:36] [+0ms] [755ms] 【升级告警 REF 首次命中时间缓存】 当前事件状态为 critical,且已经记录首次命中时间(300 秒 / critical / Tags 过滤条件 {"-df_source":"security"}),跳过
[07-31 01:40:36] [+0ms] [755ms] 【事件告警器】 --> 事件告警规则(时间段)首次命中(300 秒 / critical / Tags 过滤条件 {"-df_source":"security"})于 2025-07-31 01:25:00 已持续了 900 秒,达到升级条件 300 秒,需要告警升级
# 渲染事件文案
[07-31 01:40:36] [+0ms] [755ms] 【监控器事件】 渲染标题 / 内容 / 通知
# 渲染事件标题
[07-31 01:40:36] [+1ms] [775ms] 【文本渲染器】 渲染模板:
<事件标题模板>
[07-31 01:40:36] [+0ms] [776ms] 【文本渲染器】 --> 渲染成功。输出:
<事件标题,略>
# 渲染事件详情
[07-31 01:40:36] [+3ms] [792ms] 【文本渲染器】 渲染模板:
<事件详情模板>
[07-31 01:40:36] [+2ms] [794ms] 【文本渲染器】 --> 渲染成功。输出:
<事件详情,略>
# 发送 / 缓冲消息
[07-31 01:40:36] [+0ms] [864ms] 【事件告警器】 --> Studio 已配置消息合并发送,消息缓冲(仅限支持合并发送的消息)
[07-31 01:40:36] [+0ms] [864ms] 【消息发送】 缓冲消息
[07-31 01:40:36] [+0ms] [864ms] 【消息发送】 --> 消息:<mail> {"brand_key":"guance","status":"critical","to":["<邮箱地址>"]}
[07-31 01:40:36] [+0ms] [897ms] 【事件告警器】 --> Studio 已配置消息合并发送,消息缓冲(仅限支持合并发送的消息)
[07-31 01:40:36] [+0ms] [897ms] 【消息发送】 缓冲消息
[07-31 01:40:36] [+0ms] [897ms] 【消息发送】 --> 消息:<feishuRobot> {"brand_key":"guance","status":"critical","webhook":"https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx"}
# 更新告警策略 REF 最后告警时间缓存(用于后续重复告警间隔判断)
[07-31 01:40:36] [+1ms] [898ms] 【告警策略 REF 最后告警时间缓存】 更新缓存:
[07-31 01:40:36] [+0ms] [898ms] 【告警策略 REF 最后告警时间缓存】 --> rul_xxxxx: {"xxxxx/check":{"critical|altpl_xxxxx":1753897200}}
# 更新告警 REF 最后告警时间缓存(用于后续判断恢复事件发送对象)
[07-31 01:40:36] [+1ms] [900ms] 【告警 REF 最后告警时间缓存】 更新缓存:
[07-31 01:40:36] [+0ms] [900ms] 【告警 REF 最后告警时间缓存】 --> rul_xxxxx: {"xxxxx/xxxxx/alert/check":{"|critical|b64:xxxxxfQ|":1753897200},"xxxxx/xxxxx/upgrade/check":{"300|critical|b64:xxxxxfQ|":1753897200}}
# 更新升级告警 REF 首次命中时间缓存(用于后续判断是否已升级)
[07-31 01:40:36] [+0ms] [901ms] 【升级告警 REF 首次命中时间缓存】 更新缓存:
[07-31 01:40:36] [+0ms] [901ms] 【升级告警 REF 首次命中时间缓存】 --> rul_xxxxx: {"xxxxx/xxxxx/check":{"300|critical|b64:xxxxxfQ|":1753896300}}
# 更新事件故障信息缓存(用于后续判断故障时长等)
[07-31 01:40:36] [+2ms] [904ms] 【事件故障信息缓存】 更新缓存:
[07-31 01:40:36] [+0ms] [904ms] 【事件故障信息缓存】 --> rul_xxxxx: {"check":{"{}":{"date":1753897200,"faultDuration":900,"faultId":"event-xxxxx","faultStartTime":1753896300,"status":"critical"}}}
# 写入 DataWay
[07-31 01:40:36] [+0ms] [904ms] 【内部 DataWay】 写入事件
[07-31 01:40:36] [+0ms] [904ms] 【内部 DataWay】 --> [事件 1/1] TMP 标题:周逸灵-监控器临时测试 {{ tag }} 80.82777778(event-xxxxx)
[07-31 01:40:36] [+2ms] [907ms] 【内部 DataWay】 行协议方式写入数据 -> POST /v1/write/keyevent,工作空间 Token:tkn_xxxxx
[07-31 01:40:36] [+0ms] [907ms] 【内部 DataWay】 --> 第 1/1 条数据
[07-31 01:40:36] [+0ms] [907ms] 【内部 DataWay】 ----> JSON 格式: <JSON 格式的事件数据,略>
[07-31 01:40:36] [+0ms] [907ms] 【内部 DataWay】 ----> 行协议格式: <行协议格式的事件数据,略>
[07-31 01:40:36] [+0ms] [907ms] 【内部 DataWay】 ----> 请求头:{"X-Pkg-Id":"gdff-xxxxx"} (包含 1 条数据)
[07-31 01:40:36] [+9ms] [916ms] 【内部 DataWay】 --> 响应:【200 OK】 ""
# 向 Studio 报告事件(用于异常追踪处理)
[07-31 01:40:36] [+0ms] [916ms] 【Studio】 缓冲需要通知 Studio 的事件
[07-31 01:40:36] [+0ms] [930ms] 【Studio】 --> 事件:<事件标题>(wksp_xxxxx/event-xxxxx)
# 本次检测产生事件数量
[07-31 01:40:36] [+0ms] [931ms] 本次检测共产生 1 个监控器事件
|