Skip to content

Commit 197b3c2

Browse files
committed
docs: fix script
1 parent fca3040 commit 197b3c2

2 files changed

Lines changed: 60 additions & 41 deletions

File tree

docs/.DS_Store

8 KB
Binary file not shown.

docs/ko/GUIDE.md

Lines changed: 60 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -59,47 +59,66 @@ Zabbix의 Media를 설정 하겠습니다. 여기서는 클라우드포레에서
5959
        클라우드포레는 Zabbix의 기존 Media 유형 중 만족하는 것이 없기 때문에 이를 처리할 스크립트를 만들어야 합니다.
6060

6161
```javascript
62-
var params = JSON.parse(value),
63-
req = new CurlHttpRequest(),
64-
resp;
65-
req.AddHeader('Content-Type: application/json');
66-
67-
var params = JSON.parse(value);
68-
payload = {};
69-
payload.title = params.title;
70-
payload.message = params.message;
71-
payload.to = params.to;
72-
73-
payload.event = {};
74-
payload.event.id = params.eventID;
75-
payload.event.name = params.eventName;
76-
payload.event.date = params.eventDate;
77-
payload.event.time = params.eventTime;
78-
payload.event.status = params.eventStatus;
79-
payload.event.severity = params.eventSeverity;
80-
81-
payload.item = {};
82-
payload.item.id = params.itemID;
83-
payload.item.key = params.itemKey;
84-
payload.item.value = params.itemValue;
85-
86-
payload.trigger = {};
87-
payload.trigger.id = params.triggerID;
88-
payload.trigger.name = params.triggerName;
89-
payload.trigger.severity = params.triggerSeverity;
90-
payload.trigger.status = params.triggerStatus;
91-
92-
payload.host = {};
93-
payload.host.id = params.hostID;
94-
payload.host.connection_info = params.hostConn;
95-
payload.host.name = params.hostname;
96-
payload.host.visible_name = params.hostVisibleName;
97-
98-
99-
resp = req.Post(params.webhookURL,
100-
JSON.stringify(payload)
101-
);
102-
return resp;
62+
try {
63+
var params = JSON.parse(value);
64+
var req = new HttpRequest();
65+
var resp;
66+
67+
req.addHeader('Content-Type: application/json');
68+
req.addHeader('User-Agent: Zabbix/6.0 Webhook');
69+
70+
// SpaceONE webhook 페이로드 구성
71+
var payload = {};
72+
payload.title = params.title;
73+
payload.message = params.message;
74+
payload.to = params.to;
75+
76+
payload.event = {};
77+
payload.event.id = params.eventID;
78+
payload.event.name = params.eventName;
79+
payload.event.date = params.eventDate;
80+
payload.event.time = params.eventTime;
81+
payload.event.status = params.eventStatus;
82+
payload.event.severity = params.eventSeverity;
83+
84+
payload.item = {};
85+
payload.item.id = params.itemID;
86+
payload.item.key = params.itemKey;
87+
payload.item.value = params.itemValue;
88+
89+
payload.trigger = {};
90+
payload.trigger.id = params.triggerID;
91+
payload.trigger.name = params.triggerName;
92+
payload.trigger.severity = params.triggerSeverity;
93+
payload.trigger.status = params.triggerStatus;
94+
95+
payload.host = {};
96+
payload.host.id = params.hostID;
97+
payload.host.connection_info = params.hostConn;
98+
payload.host.name = params.hostname;
99+
payload.host.visible_name = params.hostVisibleName;
100+
101+
// 디버깅용 로그
102+
Zabbix.log(4, '[ CloudForet webhook ] Sending to URL: ' + params.webhookURL);
103+
Zabbix.log(4, '[ CloudForet webhook ] Payload: ' + JSON.stringify(payload));
104+
105+
resp = req.post(params.webhookURL, JSON.stringify(payload));
106+
107+
// 응답 상태 확인
108+
if (req.getStatus() != 200 && req.getStatus() != 201) {
109+
throw 'Request failed with status code ' + req.getStatus() + ': ' + resp;
110+
}
111+
112+
// 성공 로그
113+
Zabbix.log(4, '[ CloudForet webhook ] Successfully sent. Response: ' + resp);
114+
115+
return 'OK';
116+
117+
} catch (error) {
118+
// 에러 로그
119+
Zabbix.log(3, '[ CloudForet webhook ] Failed: ' + error);
120+
throw 'CloudForet webhook failed: ' + error;
121+
}
103122
```
104123

105124
<img src="GUIDE-img/zabbix-media-setting(h2)-4.png" width="50%" height="50%">

0 commit comments

Comments
 (0)