youjie23 commented on issue #13492:
URL: https://github.com/apache/skywalking/issues/13492#issuecomment-3302020594

   > 1.We need to keep the alarm kernel aware of the triggered status, then 
when it is recovered, this status should be reset to normal, and a new message 
should be sent out. A new recovery API should be created.
   > 2. AlarmRecord is an immutable row. How will you keep this recovery 
status? And mark triggered the alarm. We were hesitant about how to implement 
this.
   
   I'm currently implementing the recovery notification feature and have some 
design considerations. I'd like to confirm whether these approaches align with 
the overall architecture and would appreciate your guidance.
   
   1. Following the practice of services like Prometheus, recovery 
notifications should include the associated (last) firing alert. Consequently, 
the data structure for recovery is almost identical to the existing 
`AlarmMessage`, differing only in status. Could we add a new property to 
`AlarmMessage`, such as "status" with possible values of "firing" and 
"resolved" (defaulting to "firing"), to distinguish between alarm triggers and 
recovery notifications.  Alternatively, would it be acceptable to create an 
`AlarmMessage` subclass like `ResolvedAlarmMessage` instead of copying the code?
   
   2. Rather than modifying already-stored AlarmRecords(firing records), could 
we instead **append** a new resolved record that contains the data from the 
last alert?
   
   3. For various hooks (e.g., the DingTalk hook), should we add a new template 
configuration similar to "text-template" for recovery notifications, for 
example: "resolved-text-template"?
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to