mingzeh opened a new issue, #4160:
URL: https://github.com/apache/hertzbeat/issues/4160
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Current Behavior
**Bug 1 — The whole group is prematurely marked `resolved` while other
alerts in the group are still firing.**
* Push 3: group contains `CPU(firing)` + `Memory(firing)`, group `status =
firing`.
* Push 4: CPU recovers; the pushed `GroupAlert` reports `status = resolved`
and `alerts` contains only `CPU(resolved)`.
* Push 5, immediately after: `Memory(firing, triggerTimes=2)` is still being
pushed — proving Memory never recovered, so the `resolved` group push in Push 4
was wrong.
**Bug 2 — A recovery (`resolved`) event is silently dropped; the DB record
stays `firing` forever.**
* Push 7: group contains `CPU(firing)` + `Memory(firing, triggerTimes=6)`.
* Push 8: Memory has actually recovered, but the pushed `GroupAlert`
contains only `CPU(firing)`. The memory `resolved` record disappears entirely —
it is never pushed, and the alert stays `firing` in the database permanently,
with no `endAt` and no auto-resolve.
### Expected Behavior
**Bug 1:** A group's status must reflect **all currently-active alerts in
that group**, not just the alerts received within the current push window.
While Memory is still firing, the group must stay `firing`; CPU recovering
alone must not flip the whole group to `resolved`.
**Bug 2:** Every `resolved` transition must be persisted, with `endAt` set
and status changed to `resolved`, and then pushed. The firing repeat-interval
throttle should only suppress *repeated firing* notifications — it must never
swallow a pending `resolved` event.
### Steps To Reproduce
> Reproducibility note:
>
> These issues are timing-sensitive and are **not 100% reproducible**.
>
> - **Bug 2 has a relatively higher reproduction rate** and is easier to
observe when a `resolved` transition happens during the firing repeat-interval
window.
> - **Bug 1 has a lower reproduction rate**, but it has been observed in
actual outbound `GroupAlert` payloads.
>
> Therefore, the steps below describe the reproduced lifecycle and timing
conditions rather than a strictly deterministic 100%-repro procedure.
Setup:
1. **One monitor**, collection interval `10s`, against a mock instance
`instance = 127.0.0.1:2222`.
2. **Two threshold rules** on the same instance:
* CPU alert: `cpu_usage > 80`, severity: `emergency`, Trigger Times: 1
* Memory alert: `memory_usage > 50`, severity: `critical`, Trigger Times:
1
3. **One group-convergence rule**, aggregate by host:
* Group Labels: `instance`
* Group Wait: `5s`
* Group Interval: `20s`
* Repeat Interval: `60s`
Both alerts collapse into the same group: `groupKey =
instance:127.0.0.1:2222`.
Reproduce Bug 1:
4. Drive CPU over threshold so CPU fires and is pushed, group `firing`.
5. While CPU is still firing, drive Memory over threshold too, so the group
now has 2 firing alerts: CPU + Memory.
6. Let **CPU recover** while Memory is still firing.
7. ❌ Observe the group push reports `status = resolved` with only
`CPU(resolved)` — even though Memory is still firing, confirmed by the very
next push showing `Memory(firing)`.
Reproduce Bug 2:
8. With CPU firing again and Memory firing, `triggerTimes=6`, let **Memory
recover during the firing repeat interval**, i.e. the interval window has
elapsed but less than `repeatInterval` has passed since the last repeat.
9. ❌ Observe the next group push contains only `CPU(firing)`; the Memory
`resolved` event is never pushed and the memory alert remains `firing` in the
DB indefinitely.
### Environment
```markdown
HertzBeat version(s): v1.8.0
```
### Debug logs
Data was captured 1:1 from the actual outbound `GroupAlert` payloads via a
custom `PostAlertPlugin`. The plugin just serializes each callback `GroupAlert`
to JSON:
```java
public class DemoPlugin implements PostAlertPlugin {
@Override
public void execute(GroupAlert alert, PluginContext pluginContext) {
log.info("DemoPlugin alert: {}", JsonUtil.toJson(alert));
}
}
```
Lifecycle of one group: `instance:127.0.0.1:2222`; `tt` = triggerTimes.
| Push | Time | group status | alerts in group
| Note |
| :--: | :------- | :------------- |
:------------------------------------------- |
:--------------------------------------- |
| 1 | 11:06:54 | firing | CPU(firing, tt=1)
| CPU first fires |
| 2 | 11:07:54 | firing | CPU(firing, tt=2)
| repeat, 60s |
| 3 | 11:08:54 | firing | CPU(firing, tt=3) + Memory(firing,
tt=1) | 2 firing alerts in group |
| 4 | 11:09:43 | **resolved** ❌ | CPU(resolved)
| **Bug 1** – whole group wrongly resolved |
| 5 | 11:10:04 | firing | Memory(firing, tt=2)
| disproves Push 4 |
| 6 | 11:13:04 | firing | Memory(firing, tt=5)
| memory still firing |
| 7 | 11:14:04 | firing | CPU(firing, tt=1 new) + Memory(firing,
tt=6) | CPU fires again |
| 8 | 11:15:04 | firing | CPU(firing, tt=2)
| **Bug 2** – Memory resolved vanishes |
| 9 | 11:20:33 | resolved | CPU(resolved)
| normal end |
Bug 1 evidence:
```text
Push 3 status=firing alerts=[CPU firing, Memory firing]
Push 4 status=resolved alerts=[CPU resolved] ← Memory dropped,
group wrongly resolved
Push 5 status=firing alerts=[Memory firing tt=2] ← Memory was firing
all along
```
Bug 2 evidence:
```text
Push 7 status=firing alerts=[CPU firing, Memory firing tt=6]
Push 8 status=firing alerts=[CPU firing tt=2] ← Memory resolved
silently lost, DB stays firing
```
---
**DemoPlugin Log**
```
2026-06-18 11:06:54.123 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:06:54","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.1:2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU�
��率过高,当前值
98.0","status":"firing","triggerTimes":1,"startAt":1781752003603,"activeAt":1781752013600,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18 11:06:54"}]}
2026-06-18 11:06:54.123 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:07:54.082 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:07:54","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.1:2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU�
��率过高,当前值
98.0","status":"firing","triggerTimes":2,"startAt":1781752003603,"activeAt":1781752063601,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18 11:07:54"}]}
2026-06-18 11:07:54.083 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:08:54.115 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:08:54","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.1:
2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU使用率过高,当前值
98.0","status":"firing","triggerTimes":3,"startAt":1781752003603,"activeAt":1781752133600,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18
11:08:54"},{"id":53965,"fingerprint":"alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical","labels":{"severity":"critical","alert-test":"hello","defineid":"17","instancename":"Mock
Server","instance":"127.0.0.1:2222","alertname":"内存告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server 检测出内存使用率过高,当前使用率
78.0029","status":"firing","triggerTimes":1,"startAt":1781752123640,"activeAt":1781752133641,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:08:54","gmtUpdate":"2026-06-18 11:08:54"}]}
2026-06-18 11:08:54.116 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:09:43.639 [alerter-reduce-worker-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"resolved","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:09:43","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.
1:2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU使用率过高,当前值
98.0","status":"resolved","triggerTimes":3,"startAt":1781752003603,"activeAt":1781752133600,"endAt":1781752183602,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18 11:09:43"}]}
2026-06-18 11:09:43.639 [alerter-reduce-worker-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:10:04.144 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:10:04","alerts":[{"id":53965,"fingerprint":"alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical","labels":{"severity":"critical","alert-test":"hello","defineid":"17","instancename":"Mock
Server","instance":"127.0.0.1
:2222","alertname":"内存告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server 检测出内存使用率过高,当前使用率
78.0029","status":"firing","triggerTimes":2,"startAt":1781752123640,"activeAt":1781752203640,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:08:54","gmtUpdate":"2026-06-18 11:10:04"}]}
2026-06-18 11:10:04.144 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:11:04.103 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:11:04","alerts":[{"id":53965,"fingerprint":"alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical","labels":{"severity":"critical","alert-test":"hello","defineid":"17","instancename":"Mock
Server","instance":"127.0.0.1
:2222","alertname":"内存告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server 检测出内存使用率过高,当前使用率
78.0029","status":"firing","triggerTimes":3,"startAt":1781752123640,"activeAt":1781752253640,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:08:54","gmtUpdate":"2026-06-18 11:11:04"}]}
2026-06-18 11:11:04.104 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:12:04.114 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:12:04","alerts":[{"id":53965,"fingerprint":"alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical","labels":{"severity":"critical","alert-test":"hello","defineid":"17","instancename":"Mock
Server","instance":"127.0.0.1
:2222","alertname":"内存告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server 检测出内存使用率过高,当前使用率
78.0029","status":"firing","triggerTimes":4,"startAt":1781752123640,"activeAt":1781752323640,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:08:54","gmtUpdate":"2026-06-18 11:12:04"}]}
2026-06-18 11:12:04.115 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:13:04.107 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:13:04","alerts":[{"id":53965,"fingerprint":"alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical","labels":{"severity":"critical","alert-test":"hello","defineid":"17","instancename":"Mock
Server","instance":"127.0.0.1
:2222","alertname":"内存告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server 检测出内存使用率过高,当前使用率
78.0029","status":"firing","triggerTimes":5,"startAt":1781752123640,"activeAt":1781752383639,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:08:54","gmtUpdate":"2026-06-18 11:13:04"}]}
2026-06-18 11:13:04.108 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:14:04.111 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:14:04","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.1:
2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU使用率过高,当前值
88.0","status":"firing","triggerTimes":1,"startAt":1781752433599,"activeAt":1781752443599,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18
11:14:04"},{"id":53965,"fingerprint":"alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical","labels":{"severity":"critical","alert-test":"hello","defineid":"17","instancename":"Mock
Server","instance":"127.0.0.1:2222","alertname":"内存告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server 检测出内存使用率过高,当前使用率
78.0029","status":"firing","triggerTimes":6,"startAt":1781752123640,"activeAt":1781752443640,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:08:54","gmtUpdate":"2026-06-18 11:14:04"}]}
2026-06-18 11:14:04.112 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:15:04.107 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:15:04","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.1:
2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU使用率过高,当前值
88.0","status":"firing","triggerTimes":2,"startAt":1781752433599,"activeAt":1781752503600,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18 11:15:04"}]}
2026-06-18 11:15:04.108 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:16:04.107 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:16:04","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.1:
2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU使用率过高,当前值
88.0","status":"firing","triggerTimes":3,"startAt":1781752433599,"activeAt":1781752563599,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18 11:16:04"}]}
2026-06-18 11:16:04.107 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:17:04.148 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:17:04","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.1:
2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU使用率过高,当前值
88.0","status":"firing","triggerTimes":4,"startAt":1781752433599,"activeAt":1781752623599,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18 11:17:04"}]}
2026-06-18 11:17:04.148 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:18:04.084 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:18:04","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.1:
2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU使用率过高,当前值
88.0","status":"firing","triggerTimes":5,"startAt":1781752433599,"activeAt":1781752683600,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18 11:18:04"}]}
2026-06-18 11:18:04.085 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:19:04.098 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:19:04","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.1:
2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU使用率过高,当前值
88.0","status":"firing","triggerTimes":6,"startAt":1781752433599,"activeAt":1781752743601,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18 11:19:04"}]}
2026-06-18 11:19:04.099 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:20:04.117 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"firing","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:20:04","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.1:
2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU使用率过高,当前值
88.0","status":"firing","triggerTimes":7,"startAt":1781752433599,"activeAt":1781752803599,"endAt":null,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18 11:20:04"}]}
2026-06-18 11:20:04.117 [alarm-group-calculate-0] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
2026-06-18 11:20:33.615 [alerter-reduce-worker-1] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:19 - DemoPlugin alert:
{"id":53842,"groupKey":"instance:127.0.0.1:2222","status":"resolved","groupLabels":{"instance":"127.0.0.1:2222"},"commonLabels":{"alert-test":"hello","instancename":"Mock
Server","instance":"127.0.0.1:2222"},"commonAnnotations":{},"alertFingerprints":["alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","alert-test:hello,alertname:内存告警,defineid:17,instance:127.0.0.1:2222,instancename:Mock
Server,severity:critical"],"creator":null,"modifier":null,"gmtCreate":"2026-06-08
17:00:32","gmtUpdate":"2026-06-18
11:20:33","alerts":[{"id":53964,"fingerprint":"alert-test:hello,alertname:CPU告警,defineid:18,instance:127.0.0.1:2222,instancename:Mock
Server,severity:emergency","labels":{"severity":"emergency","alert-test":"hello","defineid":"18","instancename":"Mock
Server","instance":"127.0.0.
1:2222","alertname":"CPU告警"},"annotations":{"annotation":"hello","test-annotation":"world"},"content":"Mock
Server CPU使用率过高,当前值
88.0","status":"resolved","triggerTimes":7,"startAt":1781752433599,"activeAt":1781752803599,"endAt":1781752833602,"creator":null,"modifier":null,"gmtCreate":"2026-06-18
11:06:54","gmtUpdate":"2026-06-18 11:20:33"}]}
2026-06-18 11:20:33.616 [alerter-reduce-worker-1] INFO
org.apache.hertzbeat.plugin.impl.DemoPlugin Line:20 - DemoPlugin
pluginContext: {"params":null,"paramHolder":null}
```
### Anything else?
_No response_
--
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:
[email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]