Replies: 2 comments 13 replies
-
|
@nsdsb123 这个问题是一个已知的时序/竞态条件问题。 从你的 workflow 配置来看,你使用的是 关键修复:PR #5651 (2026年2月19日合并) 修复了 incident 自动 resolve 后不触发 workflow 或传递旧状态的问题 [1]。修复后, 建议的排查步骤:
triggers:
- type: incident
events:
- updated
conditions:
- type: threshold
value: '{{ incident.status == "resolved" }}'这样可以过滤掉 incident 更新过程中非 resolved 状态的中间事件(因为 incident 在 resolve 之前可能还有其他 update 事件被触发)。
简单来说:升级到最新版本应该能解决这个问题。如果已经是最新版本但问题仍然存在,可以分享一下你的 Keep 版本号,我可以进一步帮你排查。 To reply, just mention @dosu. Share context across your team and agents. Try Dosu. |
Beta Was this translation helpful? Give feedback.
-
|
我已经按照你上面说的,更换成最新的镜像,但是会产生一个新问题,当我的incident自动变为resolved状态,现在不会自动触发下面的workflow,但是选中incident手动触发是可以正常工作的,为什么 workflow: |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
我的场景是这样的,我的告警alert和恢复alert具有相同的fingerprint,然后我配了workflow,当判断到是恢复的alert时,会将状态置为resolved,然后我针对同一个实例的alert,配置了Correlations,当一个实例出现多个alert会生成incident,然后当所有alert恢复的时候,我的incident会自动变成resolved状态,但是我的workflow,如下:
workflow:
id: dingtalk-incident-resolved
name: DingTalk Incident Resolved
description: Incident 恢复时发送钉钉通知
triggers:
- type: incident
events:
- updated
steps:
- name: format-incident-info
provider:
type: console
with:
message: |
Processing incident: {{ incident.user_generated_name }}
Status: {{ incident.status }}
Severity: {{ incident.severity }}
Alert Count: {{ incident.alerts_count }}
界面可以看到incident已经自动变成resolved状态,但是workflow获取到的状态还是firing,请问为什么
Beta Was this translation helpful? Give feedback.
All reactions