From 2f3d009e635d9ea8356e701c51e0069b8c875fc8 Mon Sep 17 00:00:00 2001 From: Jared Tan Date: Wed, 23 Oct 2019 00:35:04 +0800 Subject: [PATCH] Makes the scope of alarm message more semantic. (#3680) * Makes the scope of alarm information more semantic. * update md. * update md. * add ruleName in AlarmMsg. * update md. * update test case. * fix coveralls. * fix coveralls. * fix ci. --- docs/en/setup/backend/backend-alarm.md | 7 ++++++- .../oap/server/core/alarm/provider/RunningRule.java | 2 ++ .../core/alarm/provider/AlarmMessageFormatterTest.java | 8 ++++++++ .../oap/server/core/alarm/provider/NotifyHandlerTest.java | 3 +++ .../oap/server/core/alarm/provider/RunningRuleTest.java | 4 ++++ .../server/core/alarm/provider/WebhookCallbackTest.java | 2 ++ .../skywalking/oap/server/core/alarm/AlarmMessage.java | 2 ++ .../oap/server/core/alarm/EndpointMetaInAlarm.java | 4 ++++ .../skywalking/oap/server/core/alarm/MetaInAlarm.java | 3 +++ .../oap/server/core/alarm/ServiceInstanceMetaInAlarm.java | 4 ++++ .../oap/server/core/alarm/ServiceMetaInAlarm.java | 4 ++++ 11 files changed, 42 insertions(+), 1 deletion(-) diff --git a/docs/en/setup/backend/backend-alarm.md b/docs/en/setup/backend/backend-alarm.md index 0a2ee5103..cdfa3eee2 100644 --- a/docs/en/setup/backend/backend-alarm.md +++ b/docs/en/setup/backend/backend-alarm.md @@ -65,10 +65,11 @@ Submit issue or pull request if you want to support any other scope in alarm. ## Webhook Webhook requires the peer is a web container. The alarm message will send through HTTP post by `application/json` content type. The JSON format is based on `List alarmMessages = new ArrayList<>(2); AlarmMessage alarmMessage = new AlarmMessage(); alarmMessage.setScopeId(DefaultScopeDefine.ALL); + alarmMessage.setRuleName("service_resp_time_rule"); alarmMessage.setAlarmMessage("alarmMessage with [DefaultScopeDefine.All]"); alarmMessages.add(alarmMessage); AlarmMessage anotherAlarmMessage = new AlarmMessage(); + anotherAlarmMessage.setRuleName("service_resp_time_rule_2"); anotherAlarmMessage.setScopeId(DefaultScopeDefine.ENDPOINT); anotherAlarmMessage.setAlarmMessage("anotherAlarmMessage with [DefaultScopeDefine.Endpoint]"); alarmMessages.add(anotherAlarmMessage); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMessage.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMessage.java index 4eb1dd782..95ecd1779 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMessage.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmMessage.java @@ -32,9 +32,11 @@ public class AlarmMessage { public static AlarmMessage NONE = new NoAlarm(); private int scopeId; + private String scope; private String name; private int id0; private int id1; + private String ruleName; private String alarmMessage; private long startTime; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/EndpointMetaInAlarm.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/EndpointMetaInAlarm.java index 27c483340..ad0f23a3b 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/EndpointMetaInAlarm.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/EndpointMetaInAlarm.java @@ -33,6 +33,10 @@ public class EndpointMetaInAlarm extends MetaInAlarm { private String[] tags; private String[] properties; + @Override public String getScope() { + return DefaultScopeDefine.ENDPOINT_CATALOG_NAME; + } + @Override public int getScopeId() { return DefaultScopeDefine.ENDPOINT; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/MetaInAlarm.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/MetaInAlarm.java index 811128476..f6e888c16 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/MetaInAlarm.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/MetaInAlarm.java @@ -21,6 +21,9 @@ package org.apache.skywalking.oap.server.core.alarm; import java.util.Objects; public abstract class MetaInAlarm { + + public abstract String getScope(); + public abstract int getScopeId(); public abstract String getName(); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceInstanceMetaInAlarm.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceInstanceMetaInAlarm.java index 1a4c8ee99..2a79ced39 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceInstanceMetaInAlarm.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceInstanceMetaInAlarm.java @@ -31,6 +31,10 @@ public class ServiceInstanceMetaInAlarm extends MetaInAlarm { private String[] tags; private String[] properties; + @Override public String getScope() { + return DefaultScopeDefine.SERVICE_INSTANCE_CATALOG_NAME; + } + @Override public int getScopeId() { return DefaultScopeDefine.SERVICE_INSTANCE; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceMetaInAlarm.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceMetaInAlarm.java index d143e9745..1bab784e5 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceMetaInAlarm.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/ServiceMetaInAlarm.java @@ -31,6 +31,10 @@ public class ServiceMetaInAlarm extends MetaInAlarm { private String[] tags; private String[] properties; + @Override public String getScope() { + return DefaultScopeDefine.SERVICE_CATALOG_NAME; + } + @Override public int getScopeId() { return DefaultScopeDefine.SERVICE; }