Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTikhon Uskov <tikhon.uskov@zabbix.com>2021-04-09 09:17:07 +0300
committerTikhon Uskov <tikhon.uskov@zabbix.com>2021-04-09 09:17:07 +0300
commit91b539524e79d40a18a439fb5f6d40127d085c63 (patch)
tree9e7d567a06adb8535631a905499b16d107c402e4 /templates
parentdb058519dab98eff21bba84d9ce621e085f063f2 (diff)
.........T [ZBX-18673] fixed readme and HTTPProxy for getPermalink function
Diffstat (limited to 'templates')
-rw-r--r--templates/media/slack/README.md3
-rw-r--r--templates/media/slack/media_slack.yaml72
2 files changed, 39 insertions, 36 deletions
diff --git a/templates/media/slack/README.md b/templates/media/slack/README.md
index c92a0ec0034..6b326fcc29e 100644
--- a/templates/media/slack/README.md
+++ b/templates/media/slack/README.md
@@ -29,7 +29,8 @@ This guide describes how to integrate your Zabbix 5.4 and higher installation wi
* You can also choose between two notification modes:
- **alarm** (default)
- Update messages will be attached as replies to Slack message thread
- - Recovery message from Zabbix will update initial message
+ - Recovery message from Zabbix will update initial message<br>
+ **Note:** alarm mode is working correctly only if you are sending messages to only one channel because webhook use non-unique event tags for storing data about created threads, and we can not perform multiple threads updating.
- **event**
- Recovery and update messages from Zabbix will be posted as new messages
diff --git a/templates/media/slack/media_slack.yaml b/templates/media/slack/media_slack.yaml
index 4c91afadeef..1414deb95ba 100644
--- a/templates/media/slack/media_slack.yaml
+++ b/templates/media/slack/media_slack.yaml
@@ -1,96 +1,96 @@
zabbix_export:
version: '5.4'
- date: '2021-03-19T10:43:22Z'
+ date: '2021-04-06T06:13:42Z'
media_types:
-
name: Slack
type: WEBHOOK
parameters:
- 21:
+ -
name: alert_message
value: '{ALERT.MESSAGE}'
- 22:
+ -
name: alert_subject
value: '{ALERT.SUBJECT}'
- 1:
+ -
name: bot_token
value: '<PLACE YOUR KEY HERE>'
- 2:
+ -
name: channel
value: '{ALERT.SENDTO}'
- 27:
+ -
name: channel_id
value: '{EVENT.TAGS.__channel_id}'
- 23:
+ -
name: discovery_host_dns
value: '{DISCOVERY.DEVICE.DNS}'
- 24:
+ -
name: discovery_host_ip
value: '{DISCOVERY.DEVICE.IPADDRESS}'
- 9:
+ -
name: event_date
value: '{EVENT.DATE}'
- 13:
+ -
name: event_id
value: '{EVENT.ID}'
- 6:
+ -
name: event_nseverity
value: '{EVENT.NSEVERITY}'
- 12:
+ -
name: event_opdata
value: '{EVENT.OPDATA}'
- 19:
+ -
name: event_recovery_date
value: '{EVENT.RECOVERY.DATE}'
- 20:
+ -
name: event_recovery_time
value: '{EVENT.RECOVERY.TIME}'
- 11:
+ -
name: event_severity
value: '{EVENT.SEVERITY}'
- 25:
+ -
name: event_source
value: '{EVENT.SOURCE}'
- 5:
+ -
name: event_tags
value: '{EVENT.TAGS}'
- 10:
+ -
name: event_time
value: '{EVENT.TIME}'
- 17:
+ -
name: event_update_date
value: '{EVENT.UPDATE.DATE}'
- 8:
+ -
name: event_update_status
value: '{EVENT.UPDATE.STATUS}'
- 18:
+ -
name: event_update_time
value: '{EVENT.UPDATE.TIME}'
- 7:
+ -
name: event_value
value: '{EVENT.VALUE}'
- 26:
+ -
name: host_conn
value: '{HOST.CONN}'
- 16:
+ -
name: host_name
value: '{HOST.HOST}'
- 28:
+ -
name: message_ts
value: '{EVENT.TAGS.__message_ts}'
- 4:
+ -
name: slack_as_user
value: 'true'
- 3:
+ -
name: slack_mode
value: alarm
- 15:
+ -
name: trigger_description
value: '{TRIGGER.DESCRIPTION}'
- 14:
+ -
name: trigger_id
value: '{TRIGGER.ID}'
- 0:
+ -
name: zabbix_url
value: '{$ZABBIX.URL}'
script: |
@@ -139,16 +139,18 @@ zabbix_export:
function getPermalink(channelId, messageTimestamp) {
var req = new HttpRequest();
+ if (typeof params.HTTPProxy === 'string' && params.HTTPProxy.trim() !== '') {
+ req.setProxy(params.HTTPProxy);
+ }
+
req.addHeader('Content-Type: application/x-www-form-urlencoded; charset=utf-8');
req.addHeader('Authorization: Bearer ' + params.bot_token);
- var resp = JSON.parse(req.get(
- '{0}?channel={1}&message_ts={2}'.format(
+ var query = '{0}?channel={1}&message_ts={2}'.format(
Slack.getPermalink,
encodeURIComponent(channelId),
- encodeURIComponent(messageTimestamp)
- )
- ));
+ encodeURIComponent(messageTimestamp)),
+ resp = JSON.parse(req.get(query));
if (req.getStatus() != 200 || !resp.ok || resp.ok === 'false') {
throw 'message was created, but getting message link was failed with reason "' + resp.error + '"';