@cryptotaxi247 / netdata-1 / commits / 72f32b83e

Remove discontinued Hangouts and StackPulse notification methods (#16041)

Fotis Voutsas committed Sep 26, 2023 at 10:45 UTC 72f32b83e9bc55163f272ba41add88638f9175f8
9 files changed +1 -422
README.md
+1 -1
@@ -180,7 +180,7 @@ navigate to `http://NODE:19999`, replacing `NODE` with the IP address or hostnam
180
181 Netdata comes with hundreds of pre-configured alerts, that automatically check your metrics, immediately after they start getting collected.
182
183 - Netdata can dispatch alert notifications to multiple third party systems, including: `email`, `Alerta`, `AWS SNS`, `Discord`, `Dynatrace`, `flock`, `gotify`, `IRC`, `Matrix`, `MessageBird`, `Microsoft Teams`, `ntfy`, `OPSgenie`, `PagerDuty`, `Prowl`, `PushBullet`, `PushOver`, `RocketChat`, `Slack`, `SMS tools`, `StackPulse`, `Syslog`, `Telegram`, `Twilio`.
183 + Netdata can dispatch alert notifications to multiple third party systems, including: `email`, `Alerta`, `AWS SNS`, `Discord`, `Dynatrace`, `flock`, `gotify`, `IRC`, `Matrix`, `MessageBird`, `Microsoft Teams`, `ntfy`, `OPSgenie`, `PagerDuty`, `Prowl`, `PushBullet`, `PushOver`, `RocketChat`, `Slack`, `SMS tools`, `Syslog`, `Telegram`, `Twilio`.
184
185 By default, Netdata will send e-mail notifications, if there is a configured MTA on the system.
186
docs/monitor/enable-notifications.md
-1
@@ -83,7 +83,6 @@ notification platform.
83 - [**Rocket.Chat**](https://github.com/netdata/netdata/blob/master/health/notifications/rocketchat/README.md)
84 - [**Slack**](https://github.com/netdata/netdata/blob/master/health/notifications/slack/README.md)
85 - [**SMS Server Tools 3**](https://github.com/netdata/netdata/blob/master/health/notifications/smstools3/README.md)
86 -- [**StackPulse**](https://github.com/netdata/netdata/blob/master/health/notifications/stackpulse/README.md)
86 - [**Syslog**](https://github.com/netdata/netdata/blob/master/health/notifications/syslog/README.md)
87 - [**Telegram**](https://github.com/netdata/netdata/blob/master/health/notifications/telegram/README.md)
88 - [**Twilio**](https://github.com/netdata/netdata/blob/master/health/notifications/twilio/README.md)
health/notifications/Makefile.am
-2
@@ -32,7 +32,6 @@ include discord/Makefile.inc
32 include email/Makefile.inc
33 include flock/Makefile.inc
34 include gotify/Makefile.inc
35 -include hangouts/Makefile.inc
35 include irc/Makefile.inc
36 include kavenegar/Makefile.inc
37 include messagebird/Makefile.inc
@@ -45,7 +44,6 @@ include pushover/Makefile.inc
44 include rocketchat/Makefile.inc
45 include slack/Makefile.inc
46 include smstools3/Makefile.inc
48 -include stackpulse/Makefile.inc
47 include syslog/Makefile.inc
48 include telegram/Makefile.inc
49 include twilio/Makefile.inc
health/notifications/alarm-notify.sh.in
-194
@@ -34,9 +34,7 @@
34 # - syslog messages by @Ferroin
35 # - Microsoft Team notification by @tioumen
36 # - RocketChat notifications by @Hermsi1337 #3777
37 -# - Google Hangouts Chat notifications by @EnzoAkira and @hendrikhofstadt
37 # - Dynatrace Event by @illumine
39 -# - Stackpulse Event by @thiagoftsm
38 # - Opsgenie by @thiaoftsm #9858
39 # - Gotify by @coffeegrind123
40 # - ntfy.sh by @Dim-P
@@ -174,7 +172,6 @@ irc
172 awssns
173 rocketchat
174 sms
177 -hangouts
175 dynatrace
176 matrix
177 ntfy
@@ -390,10 +387,6 @@ IRC_REALNAME=
387 IRC_NETWORK=
388 IRC_PORT=6667
389
393 -# hangouts configs
394 -declare -A HANGOUTS_WEBHOOK_URI
395 -declare -A HANGOUTS_WEBHOOK_THREAD
396 -
390 # dynatrace configs
391 DYNATRACE_SPACE=
392 DYNATRACE_SERVER=
@@ -403,9 +396,6 @@ DYNATRACE_ANNOTATION_TYPE=
396 DYNATRACE_EVENT=
397 SEND_DYNATRACE=
398
406 -# stackpulse configs
407 -STACKPULSE_WEBHOOK=
408 -
399 # gotify configs
400 GOTIFY_APP_URL=
401 GOTIFY_APP_TOKEN=
@@ -635,9 +625,6 @@ filter_recipient_by_criticality() {
625 # check irc
626 [ -z "${IRC_NETWORK}" ] && SEND_IRC="NO"
627
638 -# check hangouts
639 -[ ${#HANGOUTS_WEBHOOK_URI[@]} -eq 0 ] && SEND_HANGOUTS="NO"
640 -
628 # check fleep
629 #shellcheck disable=SC2153
630 { [ -z "${FLEEP_SERVER}" ] || [ -z "${FLEEP_SENDER}" ]; } && SEND_FLEEP="NO"
@@ -661,9 +648,6 @@ filter_recipient_by_criticality() {
648 # check ntfy
649 [ -z "${DEFAULT_RECIPIENT_NTFY}" ] && SEND_NTFY="NO"
650
664 -# check stackpulse
665 -[ -z "${STACKPULSE_WEBHOOK}" ] && SEND_STACKPULSE="NO"
666 -
651 # check msteams
652 [ -z "${MSTEAMS_WEBHOOK_URL}" ] && SEND_MSTEAMS="NO"
653
@@ -692,12 +676,10 @@ if [ "${SEND_PUSHOVER}" = "YES" ] ||
676 [ "${SEND_KAFKA}" = "YES" ] ||
677 [ "${SEND_FLEEP}" = "YES" ] ||
678 [ "${SEND_PROWL}" = "YES" ] ||
695 - [ "${SEND_HANGOUTS}" = "YES" ] ||
679 [ "${SEND_MATRIX}" = "YES" ] ||
680 [ "${SEND_CUSTOM}" = "YES" ] ||
681 [ "${SEND_MSTEAMS}" = "YES" ] ||
682 [ "${SEND_DYNATRACE}" = "YES" ] ||
700 - [ "${SEND_STACKPULSE}" = "YES" ] ||
683 [ "${SEND_OPSGENIE}" = "YES" ] ||
684 [ "${SEND_GOTIFY}" = "YES" ] ||
685 [ "${SEND_NTFY}" = "YES" ]; then
@@ -724,11 +706,9 @@ if [ "${SEND_PUSHOVER}" = "YES" ] ||
706 SEND_KAFKA="NO"
707 SEND_FLEEP="NO"
708 SEND_PROWL="NO"
727 - SEND_HANGOUTS="NO"
709 SEND_MATRIX="NO"
710 SEND_CUSTOM="NO"
711 SEND_DYNATRACE="NO"
731 - SEND_STACKPULSE="NO"
712 SEND_OPSGENIE="NO"
713 SEND_GOTIFY="NO"
714 SEND_NTFY="NO"
@@ -873,13 +853,11 @@ for method in "${SEND_EMAIL}" \
853 "${SEND_MATRIX}" \
854 "${SEND_CUSTOM}" \
855 "${SEND_IRC}" \
876 - "${SEND_HANGOUTS}" \
856 "${SEND_AWSSNS}" \
857 "${SEND_SYSLOG}" \
858 "${SEND_SMS}" \
859 "${SEND_MSTEAMS}" \
860 "${SEND_DYNATRACE}" \
882 - "${SEND_STACKPULSE}" \
861 "${SEND_OPSGENIE}" \
862 "${SEND_GOTIFY}" \
863 "${SEND_NTFY}" ; do
@@ -2122,117 +2100,6 @@ send_sms() {
2100 return 1
2101 }
2102
2125 -# -----------------------------------------------------------------------------
2126 -# hangouts sender
2127 -
2128 -send_hangouts() {
2129 - local rooms="${1}" httpcode sent=0 room color payload webhook thread
2130 -
2131 - [ "${SEND_HANGOUTS}" != "YES" ] && return 1
2132 -
2133 - case "${status}" in
2134 - WARNING) color="#ffa700" ;;
2135 - CRITICAL) color="#d62d20" ;;
2136 - CLEAR) color="#008744" ;;
2137 - *) color="#777777" ;;
2138 - esac
2139 -
2140 - for room in ${rooms}; do
2141 - if [ -z "${HANGOUTS_WEBHOOK_URI[$room]}" ] ; then
2142 - info "Can't send Hangouts notification for: ${host} ${chart}.${name} to room ${room}. HANGOUTS_WEBHOOK_URI[$room] not defined"
2143 - else
2144 - if [ -n "${HANGOUTS_WEBHOOK_THREAD[$room]}" ]; then
2145 - thread="\"name\" : \"${HANGOUTS_WEBHOOK_THREAD[$room]}\""
2146 - fi
2147 - webhook="${HANGOUTS_WEBHOOK_URI[$room]}"
2148 - payload="$(
2149 - cat <<EOF
2150 - {
2151 - "cards": [
2152 - {
2153 - "header": {
2154 - "title": "Netdata on ${host}",
2155 - "imageUrl": "${images_base_url}/images/banner-icon-144x144.png",
2156 - "imageStyle": "IMAGE"
2157 - },
2158 - "sections": [
2159 - {
2160 - "header": "<b>${host}</b>",
2161 - "widgets": [
2162 - {
2163 - "keyValue": {
2164 - "topLabel": "Status Message",
2165 - "content": "<b>${status_message}</b>",
2166 - "contentMultiline": "true",
2167 - "iconUrl": "${image}",
2168 - "onClick": {
2169 - "openLink": {
2170 - "url": "${goto_url}"
2171 - }
2172 - }
2173 - }
2174 - },
2175 - {
2176 - "keyValue": {
2177 - "topLabel": "${chart} | ${family}",
2178 - "content": "<font color=${color}>${alarm}</font>",
2179 - "contentMultiline": "true"
2180 - }
2181 - }
2182 - ]
2183 - },
2184 - {
2185 - "widgets": [
2186 - {
2187 - "textParagraph": {
2188 - "text": "<font color=\"#0057e7\">@ ${date}\n<b>${info}</b></font>"
2189 - }
2190 - }
2191 - ]
2192 - },
2193 - {
2194 - "widgets": [
2195 - {
2196 - "buttons": [
2197 - {
2198 - "textButton": {
2199 - "text": "Go to ${host}",
2200 - "onClick": {
2201 - "openLink": {
2202 - "url": "${goto_url}"
2203 - }
2204 - }
2205 - }
2206 - }
2207 - ]
2208 - }
2209 - ]
2210 - }
2211 - ]
2212 - }
2213 - ],
2214 - "thread": {
2215 - $thread
2216 - }
2217 - }
2218 -EOF
2219 - )"
2220 -
2221 - httpcode=$(docurl -H "Content-Type: application/json" -X POST -d "${payload}" "${webhook}")
2222 -
2223 - if [ "${httpcode}" = "200" ]; then
2224 - info "sent hangouts notification for: ${host} ${chart}.${name} is ${status} to '${room}'"
2225 - sent=$((sent + 1))
2226 - else
2227 - error "failed to send hangouts notification for: ${host} ${chart}.${name} is ${status} to '${room}', with HTTP response status code ${httpcode}."
2228 - fi
2229 - fi
2230 - done
2231 -
2232 - [ ${sent} -gt 0 ] && return 0
2233 -
2234 - return 1
2235 -}
2103
2104 # -----------------------------------------------------------------------------
2105 # Dynatrace sender
@@ -2283,51 +2150,6 @@ EOF
2150 fi
2151 }
2152
2286 -
2287 -# -----------------------------------------------------------------------------
2288 -# Stackpulse sender
2289 -
2290 -send_stackpulse() {
2291 - local payload httpcode oldv currv
2292 - [ "${SEND_STACKPULSE}" != "YES" ] && return 1
2293 -
2294 - # We are sending null when values are nan to avoid errors while JSON message is parsed
2295 - [ "${old_value}" != "nan" ] && oldv="${old_value}" || oldv="null"
2296 - [ "${value}" != "nan" ] && currv="${value}" || currv="null"
2297 -
2298 - payload=$(cat <<EOF
2299 - {
2300 - "Node" : "${host}",
2301 - "Chart" : "${chart}",
2302 - "OldValue" : ${oldv},
2303 - "Value" : ${currv},
2304 - "Units" : "${units}",
2305 - "OldStatus" : "${old_status}",
2306 - "Status" : "${status}",
2307 - "Alarm" : "${name}",
2308 - "Date": ${when},
2309 - "Duration": ${duration},
2310 - "NonClearDuration": ${non_clear_duration},
2311 - "Description" : "${status_message}, ${info}",
2312 - "CalcExpression" : "${calc_expression}",
2313 - "CalcParamValues" : "${calc_param_values}",
2314 - "TotalWarnings" : "${total_warnings}",
2315 - "TotalCritical" : "${total_critical}",
2316 - "ID" : ${alarm_id}
2317 - }
2318 -EOF
2319 -)
2320 -
2321 - httpcode=$(docurl -X POST -H "Content-Type: application/json" -d "${payload}" ${STACKPULSE_WEBHOOK})
2322 - if [ "${httpcode}" = "200" ]; then
2323 - info "sent stackpulse notification for: ${host} ${chart}.${name} is ${status}"
2324 - else
2325 - error "failed to send stackpulse notification for: ${host} ${chart}.${name} is ${status}, with HTTP response status code ${httpcode}."
2326 - return 1
2327 - fi
2328 -
2329 - return 0
2330 -}
2153 # -----------------------------------------------------------------------------
2154 # Opsgenie sender
2155
@@ -2631,15 +2453,6 @@ raised_for_html=
2453 send_slack "${SLACK_WEBHOOK_URL}" "${to_slack}"
2454 SENT_SLACK=$?
2455
2634 -# -----------------------------------------------------------------------------
2635 -# send the hangouts notification
2636 -
2637 -# hangouts aggregates posts from the same room
2638 -# so we use "${host} ${status}" as the room, to make them diff
2639 -
2640 -send_hangouts "${to_hangouts}"
2641 -SENT_HANGOUTS=$?
2642 -
2456 # -----------------------------------------------------------------------------
2457 # send the Microsoft Teams notification
2458
@@ -3665,11 +3478,6 @@ SENT_EMAIL=$?
3478 send_dynatrace "${host}" "${chart}" "${name}" "${status}"
3479 SENT_DYNATRACE=$?
3480
3668 -# -----------------------------------------------------------------------------
3669 -# send the EVENT to Stackpulse
3670 -send_stackpulse
3671 -SENT_STACKPULSE=$?
3672 -
3481 # -----------------------------------------------------------------------------
3482 # send messages to Opsgenie
3483 send_opsgenie
@@ -3691,7 +3499,6 @@ for state in "${SENT_EMAIL}" \
3499 "${SENT_PUSHOVER}" \
3500 "${SENT_TELEGRAM}" \
3501 "${SENT_SLACK}" \
3694 - "${SENT_HANGOUTS}" \
3502 "${SENT_ROCKETCHAT}" \
3503 "${SENT_ALERTA}" \
3504 "${SENT_FLOCK}" \
@@ -3713,7 +3520,6 @@ for state in "${SENT_EMAIL}" \
3520 "${SENT_SMS}" \
3521 "${SENT_MSTEAMS}" \
3522 "${SENT_DYNATRACE}" \
3716 - "${SENT_STACKPULSE}" \
3523 "${SENT_OPSGENIE}" \
3524 "${SENT_GOTIFY}" \
3525 "${SENT_NTFY}"; do
health/notifications/hangouts/Makefile.inc deleted
-12
@@ -1,12 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_noinst_DATA += \
9 - hangouts/README.md \
10 - hangouts/Makefile.inc \
11 - $(NULL)
12 -
health/notifications/hangouts/README.md deleted
-59
@@ -1,59 +0,0 @@
1 -<!--
2 -title: "Google Hangouts agent alert notifications"
3 -description: "Send alerts to Send notifications to Google Hangouts any time an anomaly or performance issue strikes a node in your infrastructure."
4 -sidebar_label: "Google Hangouts"
5 -custom_edit_url: "https://github.com/netdata/netdata/edit/master/health/notifications/hangouts/README.md"
6 -learn_status: "Published"
7 -learn_topic_type: "Tasks"
8 -learn_rel_path: "Integrations/Notify/Agent alert notifications"
9 -learn_autogeneration_metadata: "{'part_of_cloud': False, 'part_of_agent': True}"
10 --->
11 -
12 -# Google Hangouts agent alert notifications
13 -
14 -[Google Hangouts](https://hangouts.google.com/) is a cross-platform messaging app developed by Google. You can configure
15 -Netdata to send alert notifications to a Hangouts room in order to stay aware of possible health or performance issues
16 -on your nodes. Here's an example of the notification in action:
17 -
18 -![Netdata on Hangouts](https://user-images.githubusercontent.com/1153921/66427166-47de6900-e9c8-11e9-8322-b4b03f084dc1.png)
19 -
20 -To receive notifications in Google Hangouts, you need the following in your Hangouts setup:
21 -
22 -1. One or more rooms.
23 -2. An **incoming webhook** for each room.
24 -
25 -Follow [Google's documentation](https://developers.google.com/hangouts/chat/how-tos/webhooks) to create an incoming
26 -webhook for each room you want to send Netdata notifications to.
27 -
28 -Set the webhook URIs and room names in `health_alarm_notify.conf`. To edit it on your system, run
29 -`/etc/netdata/edit-config health_alarm_notify.conf`):
30 -
31 -## Threads (optional)
32 -
33 -Instead, to receive alerts on different threads, Netdata allows you to concentrate them inside a unique thread when you
34 -set the variable `HANGOUTS_WEBHOOK_THREAD[NAME]`.
35 -
36 -```
37 -#------------------------------------------------------------------------------
38 -# hangouts (google hangouts chat) global notification options
39 -# enable/disable sending hangouts notifications
40 -SEND_HANGOUTS="YES"
41 -# On Hangouts, in the room you choose, create an incoming webhook,
42 -# copy the link and paste it below and also identify the room name.
43 -# Without it, netdata cannot send hangouts notifications to that room.
44 -# HANGOUTS_WEBHOOK_URI[ROOM_NAME]="URLforroom1"
45 -HANGOUTS_WEBHOOK_URI[systems]="https://chat.googleapis.com/v1/spaces/AAAAXXXXXXX/..."
46 -HANGOUTS_WEBHOOK_URI[development]="https://chat.googleapis.com/v1/spaces/AAAAYYYYY/..."
47 -# On Hangouts, copy a thread link and change the values for space and thread
48 -# HANGOUTS_WEBHOOK_THREAD[systems]="spaces/AAAAXXXXXXX/threads/XXXXXXXXXXX"
49 -# if a DEFAULT_RECIPIENT_HANGOUTS are not configured,
50 -# notifications wouldn't be send to hangouts rooms.
51 -# DEFAULT_RECIPIENT_HANGOUTS="systems development|critical"
52 -DEFAULT_RECIPIENT_HANGOUTS="sysadmin devops alerts|critical"
53 -```
54 -
55 -You can define multiple rooms like this: `sysadmin devops alerts|critical`.
56 -
57 -The keywords `sysadmin`, `devops`, and `alerts` are Hangouts rooms.
58 -
59 -
health/notifications/health_alarm_notify.conf
-56
@@ -21,7 +21,6 @@
21 # - messages to a local or remote syslog daemon
22 # - message to Microsoft Teams (through webhook)
23 # - message to Rocket.Chat (through webhook)
24 -# - message to Google Hangouts Chat (through webhook)
24 # - push notifications to your mobile phone or desktop (ntfy.sh)
25 #
26 # The 'to' line given at netdata alarms defines a *role*, so that many
@@ -185,7 +184,6 @@ sendsms=""
184 # kavenegar : "09155555555 09177777777|critical"
185 # pd : "<pd_service_key_1> <pd_service_key_2>|critical"
186 # irc : "<irc_channel_1> <irc_channel_2>|critical"
188 -# hangouts : "alarms disasters|critical"
187 #
188 # You can append multiple modifiers. In this example, recipient receives
189 # notifications for critical alarms and following status changes except clear
@@ -279,15 +277,6 @@ DYNATRACE_EVENT="CUSTOM_INFO"
277
278 DEFAULT_RECIPIENT_DYNATRACE=""
279
282 -#------------------------------------------------------------------------------
283 -# Stackpulse global notification options
284 -SEND_STACKPULSE="YES"
285 -
286 -# Webhook
287 -STACKPULSE_WEBHOOK=""
288 -
289 -DEFAULT_RECIPIENT_STACKPULSE=""
290 -
280 #------------------------------------------------------------------------------
281 # gotify global notification options
282 SEND_GOTIFY="YES"
@@ -308,27 +297,6 @@ OPSGENIE_API_URL=""
297
298 DEFAULT_RECIPIENT_OPSGENIE=""
299
311 -#------------------------------------------------------------------------------
312 -# hangouts (google hangouts chat) global notification options
313 -
314 -# enable/disable sending hangouts notifications
315 -SEND_HANGOUTS="YES"
316 -
317 -# On Hangouts, in the room you choose, create an incoming webhook,
318 -# copy the link and paste it below and also give it a room name.
319 -# Without it, netdata cannot send hangouts notifications to that room.
320 -# You will then use the same room name in your recipients list. For each URI, you need
321 -# HANGOUTS_WEBHOOK_URI[room_name]="WEBHOOK_URI"
322 -# e.g. to define systems and development rooms/recipients:
323 -# HANGOUTS_WEBHOOK_URI[systems]="URLforroom1"
324 -# HANGOUTS_WEBHOOK_URI[development]="URLforroom2"
325 -
326 -# if a DEFAULT_RECIPIENT_HANGOUTS is not configured,
327 -# notifications won't be send to hangouts rooms. For the example above,
328 -# a valid recipients list is the following
329 -# DEFAULT_RECIPIENT_HANGOUTS="systems development|critical"
330 -DEFAULT_RECIPIENT_HANGOUTS=""
331 -
300 #------------------------------------------------------------------------------
301 # pushover (pushover.net) global notification options
302
@@ -967,8 +935,6 @@ custom_sender() {
935
936 # role_recipients_email[sysadmin]="${DEFAULT_RECIPIENT_EMAIL}"
937
970 -# role_recipients_hangouts[sysadmin]="${DEFAULT_RECIPIENT_HANGOUTS}"
971 -
938 # role_recipients_pushover[sysadmin]="${DEFAULT_RECIPIENT_PUSHOVER}"
939
940 # role_recipients_pushbullet[sysadmin]="${DEFAULT_RECIPIENT_PUSHBULLET}"
@@ -1015,8 +981,6 @@ custom_sender() {
981
982 # role_recipients_matrix[sysadmin]="${DEFAULT_RECIPIENT_MATRIX}"
983
1018 -# role_recipients_stackpulse[sysadmin]="${DEFAULT_RECIPIENT_STACKPULSE}"
1019 -
984 # role_recipients_gotify[sysadmin]="${DEFAULT_RECIPIENT_GOTIFY}"
985
986 # role_recipients_ntfy[sysadmin]="${DEFAULT_RECIPIENT_NTFY}"
@@ -1026,8 +990,6 @@ custom_sender() {
990
991 # role_recipients_email[domainadmin]="${DEFAULT_RECIPIENT_EMAIL}"
992
1029 -# role_recipients_hangouts[domainadmin]="${DEFAULT_RECIPIENT_HANGOUTS}"
1030 -
993 # role_recipients_pushover[domainadmin]="${DEFAULT_RECIPIENT_PUSHOVER}"
994
995 # role_recipients_pushbullet[domainadmin]="${DEFAULT_RECIPIENT_PUSHBULLET}"
@@ -1076,8 +1038,6 @@ custom_sender() {
1038
1039 # role_recipients_matrix[domainadmin]="${DEFAULT_RECIPIENT_MATRIX}"
1040
1079 -# role_recipients_stackpulse[domainadmin]="${DEFAULT_RECIPIENT_STACKPULSE}"
1080 -
1041 # role_recipients_gotify[domainadmin]="${DEFAULT_RECIPIENT_GOTIFY}"
1042
1043 # role_recipients_ntfy[domainadmin]="${DEFAULT_RECIPIENT_NTFY}"
@@ -1088,8 +1048,6 @@ custom_sender() {
1048
1049 # role_recipients_email[dba]="${DEFAULT_RECIPIENT_EMAIL}"
1050
1091 -# role_recipients_hangouts[dba]="${DEFAULT_RECIPIENT_HANGOUTS}"
1092 -
1051 # role_recipients_pushover[dba]="${DEFAULT_RECIPIENT_PUSHOVER}"
1052
1053 # role_recipients_pushbullet[dba]="${DEFAULT_RECIPIENT_PUSHBULLET}"
@@ -1138,8 +1096,6 @@ custom_sender() {
1096
1097 # role_recipients_matrix[dba]="${DEFAULT_RECIPIENT_MATRIX}"
1098
1141 -# role_recipients_stackpulse[dba]="${DEFAULT_RECIPIENT_STACKPULSE}"
1142 -
1099 # role_recipients_gotify[dba]="${DEFAULT_RECIPIENT_GOTIFY}"
1100
1101 # role_recipients_ntfy[dba]="${DEFAULT_RECIPIENT_NTFY}"
@@ -1150,8 +1106,6 @@ custom_sender() {
1106
1107 # role_recipients_email[webmaster]="${DEFAULT_RECIPIENT_EMAIL}"
1108
1153 -# role_recipients_hangouts[webmaster]="${DEFAULT_RECIPIENT_HANGOUTS}"
1154 -
1109 # role_recipients_pushover[webmaster]="${DEFAULT_RECIPIENT_PUSHOVER}"
1110
1111 # role_recipients_pushbullet[webmaster]="${DEFAULT_RECIPIENT_PUSHBULLET}"
@@ -1200,8 +1154,6 @@ custom_sender() {
1154
1155 # role_recipients_matrix[webmaster]="${DEFAULT_RECIPIENT_MATRIX}"
1156
1203 -# role_recipients_stackpulse[webmaster]="${DEFAULT_RECIPIENT_STACKPULSE}"
1204 -
1157 # role_recipients_gotify[webmaster]="${DEFAULT_RECIPIENT_GOTIFY}"
1158
1159 # role_recipients_ntfy[webmaster]="${DEFAULT_RECIPIENT_NTFY}"
@@ -1212,8 +1164,6 @@ custom_sender() {
1164
1165 # role_recipients_email[proxyadmin]="${DEFAULT_RECIPIENT_EMAIL}"
1166
1215 -# role_recipients_hangouts[proxyadmin]="${DEFAULT_RECIPIENT_HANGOUTS}"
1216 -
1167 # role_recipients_pushover[proxyadmin]="${DEFAULT_RECIPIENT_PUSHOVER}"
1168
1169 # role_recipients_pushbullet[proxyadmin]="${DEFAULT_RECIPIENT_PUSHBULLET}"
@@ -1262,8 +1212,6 @@ custom_sender() {
1212
1213 # role_recipients_matrix[proxyadmin]="${DEFAULT_RECIPIENT_MATRIX}"
1214
1265 -# role_recipients_stackpulse[proxyadmin]="${DEFAULT_RECIPIENT_STACKPULSE}"
1266 -
1215 # role_recipients_gotify[proxyadmin]="${DEFAULT_RECIPIENT_GOTIFY}"
1216
1217 # role_recipients_ntfy[proxyadmin]="${DEFAULT_RECIPIENT_NTFY}"
@@ -1274,8 +1222,6 @@ custom_sender() {
1222
1223 # role_recipients_email[sitemgr]="${DEFAULT_RECIPIENT_EMAIL}"
1224
1277 -# role_recipients_hangouts[sitemgr]="${DEFAULT_RECIPIENT_HANGOUTS}"
1278 -
1225 # role_recipients_pushover[sitemgr]="${DEFAULT_RECIPIENT_PUSHOVER}"
1226
1227 # role_recipients_pushbullet[sitemgr]="${DEFAULT_RECIPIENT_PUSHBULLET}"
@@ -1322,8 +1268,6 @@ custom_sender() {
1268
1269 # role_recipients_matrix[sitemgr]="${DEFAULT_RECIPIENT_MATRIX}"
1270
1325 -# role_recipients_stackpulse[sitemgr]="${DEFAULT_RECIPIENT_STACKPULSE}"
1326 -
1271 # role_recipients_gotify[sitemgr]="${DEFAULT_RECIPIENT_GOTIFY}"
1272
1273 # role_recipients_ntfy[sitemgr]="${DEFAULT_RECIPIENT_NTFY}"
health/notifications/stackpulse/Makefile.inc deleted
-12
@@ -1,12 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_noinst_DATA += \
9 - stackpulse/README.md \
10 - stackpulse/Makefile.inc \
11 - $(NULL)
12 -
health/notifications/stackpulse/README.md deleted
-85
@@ -1,85 +0,0 @@
1 -<!--
2 -title: "StackPulse agent alert notifications"
3 -description: "Send alerts to your StackPulse Netdata integration any time an anomaly or performance issue strikes a node in your infrastructure."
4 -sidebar_label: "StackPulse"
5 -custom_edit_url: "https://github.com/netdata/netdata/edit/master/health/notifications/stackpulse/README.md"
6 -learn_status: "Published"
7 -learn_topic_type: "Tasks"
8 -learn_rel_path: "Integrations/Notify/Agent alert notifications"
9 -learn_autogeneration_metadata: "{'part_of_cloud': False, 'part_of_agent': True}"
10 --->
11 -
12 -# StackPulse agent alert notifications
13 -
14 -[StackPulse](https://stackpulse.com/) is a software-as-a-service platform for site reliability engineering.
15 -It helps SREs, DevOps Engineers and Software Developers reduce toil and alert fatigue while improving reliability of
16 -software services by managing, analyzing and automating incident response activities.
17 -
18 -Sending Netdata alert notifications to StackPulse allows you to create smart automated response workflows
19 -(StackPulse playbooks) that will help you drive down your MTTD and MTTR by performing any of the following:
20 -
21 -- Enriching the incident with data from multiple sources
22 -- Performing triage actions and analyzing their results
23 -- Orchestrating incident management and notification flows
24 -- Performing automatic and semi-automatic remediation actions
25 -- Analyzing incident data and remediation patterns to improve reliability of your services
26 -
27 -To send the notification you need:
28 -
29 -1. Create a Netdata integration in the `StackPulse Administration Portal`, and copy the `Endpoint` URL.
30 -
31 -![Creating a Netdata integration in StackPulse](https://user-images.githubusercontent.com/49162938/93023348-d9455a80-f5dd-11ea-8e05-67d07dce93e4.png)
32 -
33 -2. On your node, navigate to `/etc/netdata/` and run the following command:
34 -
35 -```sh
36 -$ ./edit-config health_alarm_notify.conf
37 -```
38 -
39 -3. Set the `STACKPULSE_WEBHOOK` variable to `Endpoint` URL you copied earlier:
40 -
41 -```
42 -SEND_STACKPULSE="YES"
43 -STACKPULSE_WEBHOOK="https://hooks.stackpulse.io/v1/webhooks/YOUR_UNIQUE_ID"
44 -```
45 -
46 -4. Now restart Netdata using `sudo systemctl restart netdata`, or the [appropriate
47 - method](https://github.com/netdata/netdata/blob/master/docs/configure/start-stop-restart.md) for your system. When your node creates an alert, you can see the
48 - associated notification on your StackPulse Administration Portal
49 -
50 -## React to alerts with playbooks
51 -
52 -StackPulse allow users to create `Playbooks` giving additional information about events that happen in specific
53 -scenarios. For example, you could create a Playbook that responds to a "low disk space" alert by compressing and
54 -cleaning up storage partitions with dynamic data.
55 -
56 -![image](https://user-images.githubusercontent.com/49162938/93207961-4c201400-f74b-11ea-94d1-42a29d007b62.png)
57 -
58 -![The StackPulse Administration Portal with a Netdata alert](https://user-images.githubusercontent.com/49162938/93208199-bfc22100-f74b-11ea-83c4-728be23dcf4d.png)
59 -
60 -### Create Playbooks for Netdata alerts
61 -
62 -To create a Playbook, you need to access the StackPulse Administration Portal. After the initial setup, you need to
63 -access the **TRIGGER** tab to define the scenarios used to trigger the event. The following variables are available:
64 -
65 -- `Hostname`: The host that generated the event.
66 -- `Chart`: The name of the chart.
67 -- `OldValue` : The previous value of the alert.
68 -- `Value`: The current value of the alert.
69 -- `Units` : The units of the value.
70 -- `OldStatus` : The previous status: REMOVED, UNINITIALIZED, UNDEFINED, CLEAR, WARNING, CRITICAL.
71 -- `State`: The current alert status, the acceptable values are the same of `OldStatus`.
72 -- `Alarm` : The name of the alert, as given in Netdata's health.d entries.
73 -- `Date` : The timestamp this event occurred.
74 -- `Duration` : The duration in seconds of the previous alert state.
75 -- `NonClearDuration` : The total duration in seconds this is/was non-clear.
76 -- `Description` : A short description of the alert copied from the alert definition.
77 -- `CalcExpression` : The expression that was evaluated to trigger the alert.
78 -- `CalcParamValues` : The values of the parameters in the expression, at the time of the evaluation.
79 -- `TotalWarnings` : Total number of alerts in WARNING state.
80 -- `TotalCritical` : Total number of alerts in CRITICAL state.
81 -- `ID` : The unique id of the alert that generated this event.
82 -
83 -For more details how to create a scenario, take a look at the [StackPulse documentation](https://docs.stackpulse.io).
84 -
85 -