Skip to content

Commit 88fee54

Browse files
committed
Merge pull request #4 from nices96/master
Add feature to alert in case of agent reconnected.
2 parents 0aac148 + 5dac969 commit 88fee54

File tree

2 files changed

+27
-25
lines changed

2 files changed

+27
-25
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
- Agent의 Memory (warning / fatal)
88
- Agent의 Disk (warning / fatal)
99
- 신규 Agent 연결
10-
- Agent의 연결 해제 (연결 해제된 Agent의 재접속은 Scouter Server 내부 이슈로 지연)
10+
- Agent의 연결 해제
11+
- Agent의 재접속
1112

1213
### Properties (스카우터 서버 설치 경로 하위의 conf/scouter.conf)
1314
* **_ext\_plugin\_email\_send_alert_** : Email 발송 여부 (true / false) - 기본 값은 false
@@ -38,7 +39,7 @@ ext_plugin_email_to_address=receiver1@scouter.com,receiver2@scouter.com
3839
ext_plugin_email_cc_address=ccreceiver@yopmail.com
3940
```
4041

41-
### dependencies
42+
### Dependencies
4243
* Project
4344
- scouter.common
4445
- scouter.server

src/scouter/plugin/server/alert/email/EmailPlugin.java

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -138,34 +138,35 @@ public void run() {
138138

139139
@ServerPlugin(PluginConstants.PLUGIN_SERVER_OBJECT)
140140
public void object(ObjectPack pack) {
141-
if (pack.version != null && pack.version.length() > 0) {
142-
AlertPack p = null;
143-
if (pack.wakeup == 0L) {
141+
if (pack.version != null && pack.version.length() > 0) {
142+
AlertPack ap = null;
143+
ObjectPack op = AgentManager.getAgent(pack.objHash);
144+
145+
if (op == null && pack.wakeup == 0L) {
144146
// in case of new agent connected
145-
p = new AlertPack();
146-
p.level = AlertLevel.INFO;
147-
p.objHash = pack.objHash;
148-
p.title = "An object has been activated.";
149-
p.message = pack.objName + " is connected.";
150-
p.time = System.currentTimeMillis();
151-
p.objType = "scouter";
147+
ap = new AlertPack();
148+
ap.level = AlertLevel.INFO;
149+
ap.objHash = pack.objHash;
150+
ap.title = "An object has been activated.";
151+
ap.message = pack.objName + " is connected.";
152+
ap.time = System.currentTimeMillis();
153+
ap.objType = "scouter";
152154

153-
alert(p);
154-
} else if (pack.alive == false) {
155+
alert(ap);
156+
} else if (op.alive == false) {
155157
// in case of agent reconnected
156-
p = new AlertPack();
157-
p.level = AlertLevel.INFO;
158-
p.objHash = pack.objHash;
159-
p.title = "An object has been activated.";
160-
p.message = pack.objName + " is reconnected.";
161-
p.time = System.currentTimeMillis();
162-
p.objType = "scouter";
158+
ap = new AlertPack();
159+
ap.level = AlertLevel.INFO;
160+
ap.objHash = pack.objHash;
161+
ap.title = "An object has been activated.";
162+
ap.message = pack.objName + " is reconnected.";
163+
ap.time = System.currentTimeMillis();
164+
ap.objType = "scouter";
163165

164-
alert(p);
165-
}
166-
166+
alert(ap);
167+
}
167168
// inactive state can be handled in alert() method.
168-
}
169+
}
169170
}
170171

171172
private void println(Object o) {

0 commit comments

Comments
 (0)