Skip to content

Commit f694608

Browse files
committed
add option ext_plugin_slack_object_alert_enabled
1 parent 2817d9b commit f694608

File tree

4 files changed

+26
-17
lines changed

4 files changed

+26
-17
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424
* **_ext\_plugin\_elapsed\_time\_threshold_** : 응답시간의 임계치 (ms) - 기본 값은 0으로, 0일때 응답시간의 임계치 초과 여부를 확인하지 않는다.
2525
* **_ext\_plugin\_gc\_time\_threshold_** : GC Time의 임계치 (ms) - 기본 값은 0으로, 0일때 GC Time의 임계치 초과 여부를 확인하지 않는다.
2626
* **_ext\_plugin\_thread\_count\_threshold_** : Thread Count의 임계치 - 기본 값은 0으로, 0일때 Thread Count의 임계치 초과 여부를 확인하지 않는다.
27-
* **_ext\_plugin\_slack\_xlog\_enabled_** : xlog maasege send (true / false) - default : false
28-
27+
* **_ext\_plugin\_slack\_xlog\_enabled_** : xlog message send (true / false) - default : false
28+
* **_ext_plugin_slack_object_alert_enabled_** : object active/dead alert (true / false) - default : false
29+
2930
* Example
3031
```
3132
# External Interface (Slack)
@@ -38,6 +39,7 @@ ext_plugin_slack_botName=scouter
3839
ext_plugin_slack_icon_emoji=:computer:
3940
ext_plugin_slack_icon_url=http://XXX.XXX.XXX/XXX.gif
4041
ext_plugin_slack_xlog_enabled=true
42+
ext_plugin_slack_object_alert_enabled=true
4143
4244
ext_plugin_elapsed_time_threshold=5000
4345
ext_plugin_gc_time_threshold=5000

README_kr.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
* **_ext\_plugin\_gc\_time\_threshold_** : GC Time의 임계치 (ms) - 기본 값은 0으로, 0일때 GC Time의 임계치 초과 여부를 확인하지 않는다.
2626
* **_ext\_plugin\_thread\_count\_threshold_** : Thread Count의 임계치 - 기본 값은 0으로, 0일때 Thread Count의 임계치 초과 여부를 확인하지 않는다.
2727
* **_ext\_plugin\_slack\_xlog\_enabled_** : xlog maasege send (true / false) - default : false
28+
* **_ext_plugin_slack_object_alert_enabled_** : object active/dead alert (true / false) - default : false
2829

2930
* Example
3031
```

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
<groupId>com.github.scouter-project</groupId>
2525
<artifactId>scouter-plugin-server-alert-slack</artifactId>
26-
<version>1.0.1-SNAPSHOT</version>
26+
<version>1.1.0</version>
2727

2828
<properties>
2929
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

src/main/java/scouter/plugin/server/alert/slack/SlackPlugin.java

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,14 @@
1818
*/
1919
package scouter.plugin.server.alert.slack;
2020

21-
import java.util.ArrayList;
22-
import java.util.List;
23-
import java.util.concurrent.Executors;
24-
import java.util.concurrent.ScheduledExecutorService;
25-
import java.util.concurrent.TimeUnit;
26-
import java.util.concurrent.atomic.AtomicInteger;
27-
21+
import com.google.gson.Gson;
2822
import org.apache.http.HttpResponse;
2923
import org.apache.http.HttpStatus;
3024
import org.apache.http.client.methods.HttpPost;
3125
import org.apache.http.entity.StringEntity;
3226
import org.apache.http.impl.client.CloseableHttpClient;
3327
import org.apache.http.impl.client.HttpClientBuilder;
3428
import org.apache.http.util.EntityUtils;
35-
36-
import com.google.gson.Gson;
37-
3829
import scouter.lang.AlertLevel;
3930
import scouter.lang.TextTypes;
4031
import scouter.lang.TimeTypeEnum;
@@ -56,6 +47,13 @@
5647
import scouter.util.DateUtil;
5748
import scouter.util.HashUtil;
5849

50+
import java.util.ArrayList;
51+
import java.util.List;
52+
import java.util.concurrent.Executors;
53+
import java.util.concurrent.ScheduledExecutorService;
54+
import java.util.concurrent.TimeUnit;
55+
import java.util.concurrent.atomic.AtomicInteger;
56+
5957
/**
6058
* Scouter server plugin to send alert via Slack
6159
*
@@ -80,6 +78,9 @@ public SlackPlugin() {
8078
executor.scheduleAtFixedRate(new Runnable() {
8179
@Override
8280
public void run() {
81+
if (conf.getInt("ext_plugin_thread_count_threshold", 0) == 0) {
82+
return;
83+
}
8384
for (int objHash : javaeeObjHashList) {
8485
try {
8586
if (AgentManager.isActive(objHash)) {
@@ -118,7 +119,6 @@ public void run() {
118119
@ServerPlugin(PluginConstants.PLUGIN_SERVER_ALERT)
119120
public void alert(final AlertPack pack){
120121
if (groupConf.getBoolean("ext_plugin_slack_send_alert", pack.objType, false)) {
121-
122122
int level = groupConf.getInt("ext_plugin_slack_level", pack.objType, 0);
123123
// Get log level (0 : INFO, 1 : WARN, 2 : ERROR, 3 : FATAL)
124124
if(level <= pack.level){
@@ -200,6 +200,10 @@ public void run(){
200200

201201
@ServerPlugin(PluginConstants.PLUGIN_SERVER_OBJECT)
202202
public void object(ObjectPack pack){
203+
if (!conf.getBoolean("ext_plugin_slack_object_alert_enabled", false)) {
204+
return;
205+
}
206+
203207
if (pack.version != null && pack.version.length() > 0) {
204208
AlertPack ap = null;
205209
ObjectPack op = AgentManager.getAgent(pack.objHash);
@@ -238,10 +242,12 @@ public void object(ObjectPack pack){
238242

239243
@ServerPlugin(PluginConstants.PLUGIN_SERVER_XLOG)
240244
public void xlog(XLogPack pack) {
241-
245+
if (!conf.getBoolean("ext_plugin_slack_xlog_enabled", false)) {
246+
return;
247+
}
248+
242249
String objType = AgentManager.getAgent(pack.objHash).objType;
243-
244-
if ( groupConf.getBoolean("ext_plugin_slack_xlog_enabled", objType, true)) {
250+
if (groupConf.getBoolean("ext_plugin_slack_xlog_enabled", objType, true)) {
245251
if (pack.error != 0) {
246252
String date = DateUtil.yyyymmdd(pack.endTime);
247253
String service = TextRD.getString(date, TextTypes.SERVICE, pack.service);

0 commit comments

Comments
 (0)