summaryrefslogtreecommitdiffstats
path: root/health/notifications
diff options
context:
space:
mode:
Diffstat (limited to 'health/notifications')
-rwxr-xr-xhealth/notifications/alarm-notify.sh.in491
-rw-r--r--health/notifications/alerta/README.md10
-rw-r--r--health/notifications/awssns/README.md8
-rw-r--r--health/notifications/custom/README.md6
-rw-r--r--health/notifications/discord/README.md6
-rw-r--r--health/notifications/dynatrace/README.md14
-rw-r--r--health/notifications/email/README.md6
-rw-r--r--health/notifications/flock/README.md6
-rw-r--r--health/notifications/gotify/README.md6
-rwxr-xr-xhealth/notifications/health_alarm_notify.conf4
-rw-r--r--health/notifications/irc/README.md14
-rw-r--r--health/notifications/kavenegar/README.md8
-rw-r--r--health/notifications/matrix/README.md8
-rw-r--r--health/notifications/messagebird/README.md8
-rw-r--r--health/notifications/msteams/README.md6
-rw-r--r--health/notifications/ntfy/README.md10
-rw-r--r--health/notifications/opsgenie/README.md6
-rw-r--r--health/notifications/pagerduty/README.md4
-rw-r--r--health/notifications/prowl/README.md4
-rw-r--r--health/notifications/pushbullet/README.md6
-rw-r--r--health/notifications/pushover/README.md6
-rw-r--r--health/notifications/rocketchat/README.md6
-rw-r--r--health/notifications/slack/README.md6
-rw-r--r--health/notifications/smstools3/README.md6
-rw-r--r--health/notifications/syslog/README.md6
-rw-r--r--health/notifications/telegram/README.md6
-rw-r--r--health/notifications/twilio/README.md10
27 files changed, 393 insertions, 284 deletions
diff --git a/health/notifications/alarm-notify.sh.in b/health/notifications/alarm-notify.sh.in
index 217bc6486..9d95c21dc 100755
--- a/health/notifications/alarm-notify.sh.in
+++ b/health/notifications/alarm-notify.sh.in
@@ -42,6 +42,8 @@
# -----------------------------------------------------------------------------
# testing notifications
+cmd_line="'${0}' $(printf "'%s' " "${@}")"
+
if { [ "${1}" = "test" ] || [ "${2}" = "test" ]; } && [ "${#}" -le 2 ]; then
if [ "${2}" = "test" ]; then
recipient="${1}"
@@ -74,65 +76,143 @@ if { [ "${1}" = "test" ] || [ "${2}" = "test" ]; } && [ "${#}" -le 2 ]; then
exit $test_res
fi
-export PATH="${PATH}:/sbin:/usr/sbin:/usr/local/sbin"
+export PATH="${PATH}:/sbin:/usr/sbin:/usr/local/sbin:@sbindir_POST@"
export LC_ALL=C
# -----------------------------------------------------------------------------
+# logging
PROGRAM_NAME="$(basename "${0}")"
-LOG_LEVEL_ERR=1
-LOG_LEVEL_WARN=2
-LOG_LEVEL_INFO=3
-LOG_LEVEL="$LOG_LEVEL_INFO"
+# these should be the same with syslog() priorities
+NDLP_EMERG=0 # system is unusable
+NDLP_ALERT=1 # action must be taken immediately
+NDLP_CRIT=2 # critical conditions
+NDLP_ERR=3 # error conditions
+NDLP_WARN=4 # warning conditions
+NDLP_NOTICE=5 # normal but significant condition
+NDLP_INFO=6 # informational
+NDLP_DEBUG=7 # debug-level messages
+
+# the max (numerically) log level we will log
+LOG_LEVEL=$NDLP_INFO
+
+set_log_min_priority() {
+ case "${NETDATA_LOG_LEVEL,,}" in
+ "emerg" | "emergency")
+ LOG_LEVEL=$NDLP_EMERG
+ ;;
-set_log_severity_level() {
- case ${NETDATA_LOG_SEVERITY_LEVEL,,} in
- "info") LOG_LEVEL="$LOG_LEVEL_INFO";;
- "warn" | "warning") LOG_LEVEL="$LOG_LEVEL_WARN";;
- "err" | "error") LOG_LEVEL="$LOG_LEVEL_ERR";;
- esac
-}
+ "alert")
+ LOG_LEVEL=$NDLP_ALERT
+ ;;
-set_log_severity_level
+ "crit" | "critical")
+ LOG_LEVEL=$NDLP_CRIT
+ ;;
-logdate() {
- date "+%Y-%m-%d %H:%M:%S"
-}
+ "err" | "error")
+ LOG_LEVEL=$NDLP_ERR
+ ;;
-log() {
- local status="${1}"
- shift
+ "warn" | "warning")
+ LOG_LEVEL=$NDLP_WARN
+ ;;
- echo >&2 "$(logdate): ${PROGRAM_NAME}: ${status}: ${*}"
+ "notice")
+ LOG_LEVEL=$NDLP_NOTICE
+ ;;
+ "info")
+ LOG_LEVEL=$NDLP_INFO
+ ;;
+
+ "debug")
+ LOG_LEVEL=$NDLP_DEBUG
+ ;;
+ esac
+}
+
+set_log_min_priority
+
+log() {
+ local level="${1}"
+ shift 1
+
+ [[ -n "$level" && -n "$LOG_LEVEL" && "$level" -gt "$LOG_LEVEL" ]] && return
+
+ systemd-cat-native --log-as-netdata --newline="--NEWLINE--" <<EOFLOG
+INVOCATION_ID=${NETDATA_INVOCATION_ID}
+SYSLOG_IDENTIFIER=${PROGRAM_NAME}
+PRIORITY=${level}
+THREAD_TAG=alarm-notify
+ND_LOG_SOURCE=health
+ND_NIDL_NODE=${host}
+ND_NIDL_INSTANCE=${chart}
+ND_NIDL_CONTEXT=${context}
+ND_ALERT_NAME=${name}
+ND_ALERT_ID=${alarm_id}
+ND_ALERT_UNIQUE_ID=${unique_id}
+ND_ALERT_EVENT_ID=${alarm_event_id}
+ND_ALERT_TRANSITION_ID=${transition_id//-/}
+ND_ALERT_CLASS=${classification}
+ND_ALERT_COMPONENT=${component}
+ND_ALERT_TYPE=${type}
+ND_ALERT_RECIPIENT=${roles}
+ND_ALERT_VALUE=${value}
+ND_ALERT_VALUE_OLD=${old_value}
+ND_ALERT_STATUS=${status}
+ND_ALERT_STATUS_OLD=${old_status}
+ND_ALERT_UNITS=${units}
+ND_ALERT_SUMMARY=${summary}
+ND_ALERT_INFO=${info}
+ND_ALERT_DURATION=${duration}
+ND_REQUEST=${cmd_line}
+MESSAGE_ID=6db0018e83e34320ae2a659d78019fb7
+MESSAGE=[ALERT NOTIFICATION]: ${*//\\n/--NEWLINE--}
+
+EOFLOG
+ # AN EMPTY LINE IS NEEDED ABOVE
}
info() {
- [[ -n "$LOG_LEVEL" && "$LOG_LEVEL_INFO" -gt "$LOG_LEVEL" ]] && return
- log INFO "${@}"
+ log "$NDLP_INFO" "${@}"
}
warning() {
- [[ -n "$LOG_LEVEL" && "$LOG_LEVEL_WARN" -gt "$LOG_LEVEL" ]] && return
- log WARNING "${@}"
+ log "$NDLP_WARN" "${@}"
}
error() {
- [[ -n "$LOG_LEVEL" && "$LOG_LEVEL_ERR" -gt "$LOG_LEVEL" ]] && return
- log ERROR "${@}"
+ log "$NDLP_ERR" "${@}"
}
fatal() {
- log FATAL "${@}"
+ log "$NDLP_ALERT" "${@}"
exit 1
}
-debug=${NETDATA_ALARM_NOTIFY_DEBUG-0}
debug() {
- [ "${debug}" = "1" ] && log DEBUG "${@}"
+ log "$NDLP_DEBUG" "${@}"
}
+debug=0
+if [ "${NETDATA_ALARM_NOTIFY_DEBUG-0}" = "1" ]; then
+ debug=1
+ LOG_LEVEL=$NDLP_DEBUG
+fi
+
+# -----------------------------------------------------------------------------
+# check for BASH v4+ (required for associative arrays)
+
+if [ ${BASH_VERSINFO[0]} -lt 4 ]; then
+ echo >&2 "BASH version 4 or later is required (this is ${BASH_VERSION})."
+ exit 1
+fi
+
+
+# -----------------------------------------------------------------------------
+
docurl() {
if [ -z "${curl}" ]; then
error "${curl} is unset."
@@ -199,17 +279,10 @@ ntfy
# this is to be overwritten by the config file
custom_sender() {
- info "not sending custom notification for ${status} of '${host}.${chart}.${name}'"
+ info "custom notification mechanism is not configured; not sending ${notification_description}"
}
# -----------------------------------------------------------------------------
-
-# check for BASH v4+ (required for associative arrays)
-if [ ${BASH_VERSINFO[0]} -lt 4 ]; then
- fatal "BASH version 4 or later is required (this is ${BASH_VERSION})."
-fi
-
-# -----------------------------------------------------------------------------
# defaults to allow running this script by hand
[ -z "${NETDATA_USER_CONFIG_DIR}" ] && NETDATA_USER_CONFIG_DIR="@configdir_POST@"
@@ -228,8 +301,8 @@ if [[ ${1} = "unittest" ]]; then
status="${4}" # the current status : REMOVED, UNINITIALIZED, UNDEFINED, CLEAR, WARNING, CRITICAL
old_status="${5}" # the previous status: REMOVED, UNINITIALIZED, UNDEFINED, CLEAR, WARNING, CRITICAL
elif [[ ${1} = "dump_methods" ]]; then
- dump_methods=1
- status="WARNING"
+ dump_methods=1
+ status="WARNING"
else
roles="${1}" # the roles that should be notified for this event
args_host="${2}" # the host generated this event
@@ -263,6 +336,9 @@ else
child_machine_guid="${28}" # the machine_guid of the child
transition_id="${29}" # the transition_id of the alert
summary="${30}" # the summary text field of the alert
+ context="${31}" # the context of the chart
+ component="${32}"
+ type="${33}"
fi
# -----------------------------------------------------------------------------
@@ -276,18 +352,20 @@ else
host="${args_host}"
fi
+notification_description="notification to '${roles}' for transition from ${old_status} to ${status}, of alert '${name}' = '${value_string}', of instance '${chart}', context '${context}' on host '${host}'"
+
# -----------------------------------------------------------------------------
# screen statuses we don't need to send a notification
# don't do anything if this is not WARNING, CRITICAL or CLEAR
if [ "${status}" != "WARNING" ] && [ "${status}" != "CRITICAL" ] && [ "${status}" != "CLEAR" ]; then
- info "not sending notification for ${status} of '${host}.${chart}.${name}'"
+ debug "not sending ${notification_description}"
exit 1
fi
# don't do anything if this is CLEAR, but it was not WARNING or CRITICAL
if [ "${clear_alarm_always}" != "YES" ] && [ "${old_status}" != "WARNING" ] && [ "${old_status}" != "CRITICAL" ] && [ "${status}" = "CLEAR" ]; then
- info "not sending notification for ${status} of '${host}.${chart}.${name}' (last status was ${old_status})"
+ debug "not sending ${notification_description}"
exit 1
fi
@@ -434,7 +512,7 @@ else
debug "Loading config file '${CONFIG}'..."
source "${CONFIG}" || error "Failed to load config file '${CONFIG}'."
else
- warning "Cannot find file '${CONFIG}'."
+ debug "Cannot find file '${CONFIG}'."
fi
done
fi
@@ -598,7 +676,16 @@ filter_recipient_by_criticality() {
}
# -----------------------------------------------------------------------------
-# verify the delivery methods supported
+# check the configured targets
+
+# check email
+if [ "${SEND_EMAIL}" = "AUTO" ]; then
+ if command -v curl >/dev/null 2>&1; then
+ SEND_EMAIL="YES"
+ else
+ SEND_EMAIL="NO"
+ fi
+fi
# check slack
[ -z "${SLACK_WEBHOOK_URL}" ] && SEND_SLACK="NO"
@@ -677,112 +764,121 @@ filter_recipient_by_criticality() {
# check custom
[ -z "${DEFAULT_RECIPIENT_CUSTOM}" ] && SEND_CUSTOM="NO"
-if [ "${SEND_PUSHOVER}" = "YES" ] ||
- [ "${SEND_SLACK}" = "YES" ] ||
- [ "${SEND_ROCKETCHAT}" = "YES" ] ||
- [ "${SEND_ALERTA}" = "YES" ] ||
- [ "${SEND_PD}" = "YES" ] ||
- [ "${SEND_FLOCK}" = "YES" ] ||
- [ "${SEND_DISCORD}" = "YES" ] ||
- [ "${SEND_HIPCHAT}" = "YES" ] ||
- [ "${SEND_TWILIO}" = "YES" ] ||
- [ "${SEND_MESSAGEBIRD}" = "YES" ] ||
- [ "${SEND_KAVENEGAR}" = "YES" ] ||
- [ "${SEND_TELEGRAM}" = "YES" ] ||
- [ "${SEND_PUSHBULLET}" = "YES" ] ||
- [ "${SEND_KAFKA}" = "YES" ] ||
- [ "${SEND_FLEEP}" = "YES" ] ||
- [ "${SEND_PROWL}" = "YES" ] ||
- [ "${SEND_MATRIX}" = "YES" ] ||
- [ "${SEND_CUSTOM}" = "YES" ] ||
- [ "${SEND_MSTEAMS}" = "YES" ] ||
- [ "${SEND_DYNATRACE}" = "YES" ] ||
- [ "${SEND_OPSGENIE}" = "YES" ] ||
- [ "${SEND_GOTIFY}" = "YES" ] ||
- [ "${SEND_NTFY}" = "YES" ]; then
- # if we need curl, check for the curl command
- if [ -z "${curl}" ]; then
- curl="$(command -v curl 2>/dev/null)"
- fi
- if [ -z "${curl}" ]; then
- error "Cannot find curl command in the system path. Disabling all curl based notifications."
- SEND_PUSHOVER="NO"
- SEND_PUSHBULLET="NO"
- SEND_TELEGRAM="NO"
- SEND_SLACK="NO"
- SEND_MSTEAMS="NO"
- SEND_ROCKETCHAT="NO"
- SEND_ALERTA="NO"
- SEND_PD="NO"
- SEND_FLOCK="NO"
- SEND_DISCORD="NO"
- SEND_TWILIO="NO"
- SEND_HIPCHAT="NO"
- SEND_MESSAGEBIRD="NO"
- SEND_KAVENEGAR="NO"
- SEND_KAFKA="NO"
- SEND_FLEEP="NO"
- SEND_PROWL="NO"
- SEND_MATRIX="NO"
- SEND_CUSTOM="NO"
- SEND_DYNATRACE="NO"
- SEND_OPSGENIE="NO"
- SEND_GOTIFY="NO"
- SEND_NTFY="NO"
- fi
-fi
+# -----------------------------------------------------------------------------
+# check the availability of targets
-if [ "${SEND_SMS}" = "YES" ]; then
- if [ -z "${sendsms}" ]; then
- sendsms="$(command -v sendsms 2>/dev/null)"
+check_supported_targets() {
+ local log=${1}
+ shift
+
+ if [ "${SEND_PUSHOVER}" = "YES" ] ||
+ [ "${SEND_SLACK}" = "YES" ] ||
+ [ "${SEND_ROCKETCHAT}" = "YES" ] ||
+ [ "${SEND_ALERTA}" = "YES" ] ||
+ [ "${SEND_PD}" = "YES" ] ||
+ [ "${SEND_FLOCK}" = "YES" ] ||
+ [ "${SEND_DISCORD}" = "YES" ] ||
+ [ "${SEND_HIPCHAT}" = "YES" ] ||
+ [ "${SEND_TWILIO}" = "YES" ] ||
+ [ "${SEND_MESSAGEBIRD}" = "YES" ] ||
+ [ "${SEND_KAVENEGAR}" = "YES" ] ||
+ [ "${SEND_TELEGRAM}" = "YES" ] ||
+ [ "${SEND_PUSHBULLET}" = "YES" ] ||
+ [ "${SEND_KAFKA}" = "YES" ] ||
+ [ "${SEND_FLEEP}" = "YES" ] ||
+ [ "${SEND_PROWL}" = "YES" ] ||
+ [ "${SEND_MATRIX}" = "YES" ] ||
+ [ "${SEND_CUSTOM}" = "YES" ] ||
+ [ "${SEND_MSTEAMS}" = "YES" ] ||
+ [ "${SEND_DYNATRACE}" = "YES" ] ||
+ [ "${SEND_OPSGENIE}" = "YES" ] ||
+ [ "${SEND_GOTIFY}" = "YES" ] ||
+ [ "${SEND_NTFY}" = "YES" ]; then
+ # if we need curl, check for the curl command
+ if [ -z "${curl}" ]; then
+ curl="$(command -v curl 2>/dev/null)"
+ fi
+ if [ -z "${curl}" ]; then
+ $log "Cannot find curl command in the system path. Disabling all curl based notifications."
+ SEND_PUSHOVER="NO"
+ SEND_PUSHBULLET="NO"
+ SEND_TELEGRAM="NO"
+ SEND_SLACK="NO"
+ SEND_MSTEAMS="NO"
+ SEND_ROCKETCHAT="NO"
+ SEND_ALERTA="NO"
+ SEND_PD="NO"
+ SEND_FLOCK="NO"
+ SEND_DISCORD="NO"
+ SEND_TWILIO="NO"
+ SEND_HIPCHAT="NO"
+ SEND_MESSAGEBIRD="NO"
+ SEND_KAVENEGAR="NO"
+ SEND_KAFKA="NO"
+ SEND_FLEEP="NO"
+ SEND_PROWL="NO"
+ SEND_MATRIX="NO"
+ SEND_CUSTOM="NO"
+ SEND_DYNATRACE="NO"
+ SEND_OPSGENIE="NO"
+ SEND_GOTIFY="NO"
+ SEND_NTFY="NO"
+ fi
fi
- if [ -z "${sendsms}" ]; then
- SEND_SMS="NO"
+
+ if [ "${SEND_SMS}" = "YES" ]; then
+ if [ -z "${sendsms}" ]; then
+ sendsms="$(command -v sendsms 2>/dev/null)"
+ fi
+ if [ -z "${sendsms}" ]; then
+ SEND_SMS="NO"
+ fi
fi
-fi
-# if we need sendmail, check for the sendmail command
-if [ "${SEND_EMAIL}" = "YES" ] && [ -z "${sendmail}" ]; then
- sendmail="$(command -v sendmail 2>/dev/null)"
- if [ -z "${sendmail}" ]; then
- debug "Cannot find sendmail command in the system path. Disabling email notifications."
- SEND_EMAIL="NO"
+ # if we need sendmail, check for the sendmail command
+ if [ "${SEND_EMAIL}" = "YES" ] && [ -z "${sendmail}" ]; then
+ sendmail="$(command -v sendmail 2>/dev/null)"
+ if [ -z "${sendmail}" ]; then
+ $log "Cannot find sendmail command in the system path. Disabling email notifications."
+ SEND_EMAIL="NO"
+ fi
fi
-fi
-# if we need logger, check for the logger command
-if [ "${SEND_SYSLOG}" = "YES" ] && [ -z "${logger}" ]; then
- logger="$(command -v logger 2>/dev/null)"
- if [ -z "${logger}" ]; then
- debug "Cannot find logger command in the system path. Disabling syslog notifications."
- SEND_SYSLOG="NO"
+ # if we need logger, check for the logger command
+ if [ "${SEND_SYSLOG}" = "YES" ] && [ -z "${logger}" ]; then
+ logger="$(command -v logger 2>/dev/null)"
+ if [ -z "${logger}" ]; then
+ $log "Cannot find logger command in the system path. Disabling syslog notifications."
+ SEND_SYSLOG="NO"
+ fi
fi
-fi
-# if we need aws, check for the aws command
-if [ "${SEND_AWSSNS}" = "YES" ] && [ -z "${aws}" ]; then
- aws="$(command -v aws 2>/dev/null)"
- if [ -z "${aws}" ]; then
- debug "Cannot find aws command in the system path. Disabling Amazon SNS notifications."
- SEND_AWSSNS="NO"
+ # if we need aws, check for the aws command
+ if [ "${SEND_AWSSNS}" = "YES" ] && [ -z "${aws}" ]; then
+ aws="$(command -v aws 2>/dev/null)"
+ if [ -z "${aws}" ]; then
+ $log "Cannot find aws command in the system path. Disabling Amazon SNS notifications."
+ SEND_AWSSNS="NO"
+ fi
fi
-fi
-# if we need nc, check for the nc command
-if [ "${SEND_IRC}" = "YES" ] && [ -z "${nc}" ]; then
- nc="$(command -v nc 2>/dev/null)"
- if [ -z "${nc}" ]; then
- debug "Cannot find nc command in the system path. Disabling IRC notifications."
- SEND_IRC="NO"
+ # if we need nc, check for the nc command
+ if [ "${SEND_IRC}" = "YES" ] && [ -z "${nc}" ]; then
+ nc="$(command -v nc 2>/dev/null)"
+ if [ -z "${nc}" ]; then
+ $log "Cannot find nc command in the system path. Disabling IRC notifications."
+ SEND_IRC="NO"
+ fi
fi
-fi
+}
if [ ${dump_methods} ]; then
+ check_supported_targets debug
for name in "${!SEND_@}"; do
if [ "${!name}" = "YES" ]; then
echo "$name"
fi
done
- exit
+ exit 0
fi
# -----------------------------------------------------------------------------
@@ -790,6 +886,7 @@ fi
# netdata may call us with multiple roles, and roles may have multiple but
# overlapping recipients - so, here we find the unique recipients.
+have_to_send_something="NO"
for method_name in ${method_names}; do
send_var="SEND_${method_name^^}"
if [ "${!send_var}" = "NO" ]; then
@@ -819,7 +916,11 @@ for method_name in ${method_names}; do
to_var="to_${method_name}"
declare to_${method_name}="${!arr_var[*]}"
- [ -z "${!to_var}" ] && declare ${send_var}="NO"
+ if [ -z "${!to_var}" ]; then
+ declare ${send_var}="NO"
+ else
+ have_to_send_something="YES"
+ fi
done
# -----------------------------------------------------------------------------
@@ -884,10 +985,18 @@ for method in "${SEND_EMAIL}" \
break
fi
done
+
if [ "$proceed" -eq 0 ]; then
- fatal "All notification methods are disabled. Not sending notification for host '${host}', chart '${chart}' to '${roles}' for '${name}' = '${value}' for status '${status}'."
+ if [ "${have_to_send_something}" = "NO" ]; then
+ debug "All notification methods are disabled; not sending ${notification_description}."
+ exit 0
+ else
+ fatal "All notification methods are disabled; not sending ${notification_description}."
+ fi
fi
+check_supported_targets error
+
# -----------------------------------------------------------------------------
# get the date the alarm happened
@@ -1023,10 +1132,10 @@ send_email() {
ret=$?
if [ ${ret} -eq 0 ]; then
- info "sent email notification for: ${host} ${chart}.${name} is ${status} to '${to_email}'"
+ info "sent email to '${to_email}' for ${notification_description}"
return 0
else
- error "failed to send email notification for: ${host} ${chart}.${name} is ${status} to '${to_email}' with error code ${ret} (${cmd_output})."
+ error "failed to send email to '${to_email}' for ${notification_description}, with error code ${ret} (${cmd_output})."
return 1
fi
fi
@@ -1065,10 +1174,10 @@ send_pushover() {
https://api.pushover.net/1/messages.json)
if [ "${httpcode}" = "200" ]; then
- info "sent pushover notification for: ${host} ${chart}.${name} is ${status} to '${user}'"
+ info "sent pushover notification to '${user}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send pushover notification for: ${host} ${chart}.${name} is ${status} to '${user}' with HTTP response status code ${httpcode}."
+ error "failed to send pushover notification to '${user}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1112,10 +1221,10 @@ EOF
) "https://api.pushbullet.com/v2/pushes" -X POST)
if [ "${httpcode}" = "200" ]; then
- info "sent pushbullet notification for: ${host} ${chart}.${name} is ${status} to '${userOrChannelTag}'"
+ info "sent pushbullet notification to '${userOrChannelTag}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send pushbullet notification for: ${host} ${chart}.${name} is ${status} to '${userOrChannelTag}' with HTTP response status code ${httpcode}."
+ error "failed to send pushbullet notification to '${userOrChannelTag}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1136,10 +1245,10 @@ send_kafka() {
"${KAFKA_URL}")
if [ "${httpcode}" = "204" ]; then
- info "sent kafka data for: ${host} ${chart}.${name} is ${status} and ip '${KAFKA_SENDER_IP}'"
+ info "sent kafka data to '${KAFKA_SENDER_IP}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send kafka data for: ${host} ${chart}.${name} is ${status} and ip '${KAFKA_SENDER_IP}' with HTTP response status code ${httpcode}."
+ error "failed to send kafka data to '${KAFKA_SENDER_IP}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
[ ${sent} -gt 0 ] && return 0
@@ -1237,10 +1346,10 @@ EOF
fi
httpcode=$(docurl -X POST --data "${payload}" ${url})
if [ "${httpcode}" = "${response_code}" ]; then
- info "sent pagerduty notification for: ${host} ${chart}.${name} is ${status}'"
+ info "sent pagerduty event for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send pagerduty notification for: ${host} ${chart}.${name} is ${status}, with HTTP response status code ${httpcode}."
+ error "failed to send pagerduty event for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1266,10 +1375,10 @@ send_twilio() {
"https://api.twilio.com/2010-04-01/Accounts/${accountsid}/Messages.json")
if [ "${httpcode}" = "201" ]; then
- info "sent Twilio SMS for: ${host} ${chart}.${name} is ${status} to '${user}'"
+ info "sent Twilio SMS to '${user}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send Twilio SMS for: ${host} ${chart}.${name} is ${status} to '${user}' with HTTP response status code ${httpcode}."
+ error "failed to send Twilio SMS to '${user}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1315,10 +1424,10 @@ send_hipchat() {
"https://${HIPCHAT_SERVER}/v2/room/${room}/notification")
if [ "${httpcode}" = "204" ]; then
- info "sent HipChat notification for: ${host} ${chart}.${name} is ${status} to '${room}'"
+ info "sent HipChat notification to '${room}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send HipChat notification for: ${host} ${chart}.${name} is ${status} to '${room}' with HTTP response status code ${httpcode}."
+ error "failed to send HipChat notification to '${room}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1345,10 +1454,10 @@ send_messagebird() {
"https://rest.messagebird.com/messages")
if [ "${httpcode}" = "201" ]; then
- info "sent Messagebird SMS for: ${host} ${chart}.${name} is ${status} to '${user}'"
+ info "sent Messagebird SMS to '${user}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send Messagebird SMS for: ${host} ${chart}.${name} is ${status} to '${user}' with HTTP response status code ${httpcode}."
+ error "failed to send Messagebird SMS to '${user}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1372,10 +1481,10 @@ send_kavenegar() {
--data-urlencode "message=${title} ${message}")
if [ "${httpcode}" = "200" ]; then
- info "sent Kavenegar SMS for: ${host} ${chart}.${name} is ${status} to '${user}'"
+ info "sent Kavenegar SMS to '${user}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send Kavenegar SMS for: ${host} ${chart}.${name} is ${status} to '${user}' with HTTP response status code ${httpcode}."
+ error "failed to send Kavenegar SMS to '${user}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1416,21 +1525,21 @@ send_telegram() {
notify_telegram=0
if [ "${httpcode}" = "200" ]; then
- info "sent telegram notification for: ${host} ${chart}.${name} is ${status} to '${chatid}'"
+ info "sent telegram notification to '${chatid}' for ${notification_description}"
sent=$((sent + 1))
elif [ "${httpcode}" = "401" ]; then
- error "failed to send telegram notification for: ${host} ${chart}.${name} is ${status} to '${chatid}': Wrong bot token."
+ error "failed to send telegram notification to '${chatid}' for ${notification_description}, wrong bot token."
elif [ "${httpcode}" = "429" ]; then
if [ "$notify_retries" -gt 0 ]; then
- error "failed to send telegram notification for: ${host} ${chart}.${name} is ${status} to '${chatid}': rate limit exceeded, retrying after 1s."
+ error "failed to send telegram notification to '${chatid}' for ${notification_description}, rate limit exceeded, retrying after 1s."
notify_retries=$((notify_retries - 1))
notify_telegram=1
sleep 1
else
- error "failed to send telegram notification for: ${host} ${chart}.${name} is ${status} to '${chatid}': rate limit exceeded."
+ error "failed to send telegram notification to '${chatid}' for ${notification_description}, rate limit exceeded."
fi
else
- error "failed to send telegram notification for: ${host} ${chart}.${name} is ${status} to '${chatid}' with HTTP response status code ${httpcode}."
+ error "failed to send telegram notification to '${chatid}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
done
@@ -1487,10 +1596,10 @@ EOF
httpcode=$(docurl -H "Content-Type: application/json" -d "${payload}" "${cur_webhook}")
if [ "${httpcode}" = "200" ]; then
- info "sent Microsoft team notification for: ${host} ${chart}.${name} is ${status} to '${cur_webhook}'"
+ info "sent Microsoft team notification to '${cur_webhook}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send Microsoft team notification for: ${host} ${chart}.${name} is ${status} to '${cur_webhook}', with HTTP response status code ${httpcode}."
+ error "failed to send Microsoft team to '${cur_webhook}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1558,10 +1667,10 @@ EOF
httpcode=$(docurl -X POST --data-urlencode "payload=${payload}" "${webhook}")
if [ "${httpcode}" = "200" ]; then
- info "sent slack notification for: ${host} ${chart}.${name} is ${status} ${chstr}"
+ info "sent slack notification ${chstr} for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send slack notification for: ${host} ${chart}.${name} is ${status} ${chstr}, with HTTP response status code ${httpcode}."
+ error "failed to send slack notification ${chstr} for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1616,10 +1725,10 @@ EOF
httpcode=$(docurl -X POST --data-urlencode "payload=${payload}" "${webhook}")
if [ "${httpcode}" = "200" ]; then
- info "sent rocketchat notification for: ${host} ${chart}.${name} is ${status} to '${channel}'"
+ info "sent rocketchat notification to '${channel}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send rocketchat notification for: ${host} ${chart}.${name} is ${status} to '${channel}', with HTTP response status code ${httpcode}."
+ error "failed to send rocketchat notification to '${channel}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1685,12 +1794,12 @@ EOF
httpcode=$(docurl -X POST "${webhook}/alert" -H "Content-Type: application/json" -H "Authorization: $auth" --data "${payload}")
if [ "${httpcode}" = "200" ] || [ "${httpcode}" = "201" ]; then
- info "sent alerta notification for: ${host} ${chart}.${name} is ${status} to '${channel}'"
+ info "sent alerta notification to '${channel}' for ${notification_description}"
sent=$((sent + 1))
elif [ "${httpcode}" = "202" ]; then
- info "suppressed alerta notification for: ${host} ${chart}.${name} is ${status} to '${channel}'"
+ info "suppressed alerta notification to '${channel}' for ${notification_description}"
else
- error "failed to send alerta notification for: ${host} ${chart}.${name} is ${status} to '${channel}', with HTTP response status code ${httpcode}."
+ error "failed to send alerta notification to '${channel}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1740,10 +1849,10 @@ send_flock() {
]
}")
if [ "${httpcode}" = "200" ]; then
- info "sent flock notification for: ${host} ${chart}.${name} is ${status} to '${channel}'"
+ info "sent flock notification to '${channel}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send flock notification for: ${host} ${chart}.${name} is ${status} to '${channel}', with HTTP response status code ${httpcode}."
+ error "failed to send flock notification to '${channel}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1801,10 +1910,10 @@ EOF
httpcode=$(docurl -X POST --data-urlencode "payload=${payload}" "${webhook}")
if [ "${httpcode}" = "200" ]; then
- info "sent discord notification for: ${host} ${chart}.${name} is ${status} to '${channel}'"
+ info "sent discord notification to '${channel}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send discord notification for: ${host} ${chart}.${name} is ${status} to '${channel}', with HTTP response status code ${httpcode}."
+ error "failed to send discord notification to '${channel}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1830,10 +1939,10 @@ send_fleep() {
httpcode=$(docurl -X POST --data "${data}" "https://fleep.io/hook/${hook}")
if [ "${httpcode}" = "200" ]; then
- info "sent fleep data for: ${host} ${chart}.${name} is ${status} and user '${FLEEP_SENDER}'"
+ info "sent fleep data to user '${FLEEP_SENDER}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send fleep data for: ${host} ${chart}.${name} is ${status} and user '${FLEEP_SENDER}' with HTTP response status code ${httpcode}."
+ error "failed to send fleep data to user '${FLEEP_SENDER}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -1875,10 +1984,10 @@ send_prowl() {
httpcode=$(docurl -X POST --data "${data}" "https://api.prowlapp.com/publicapi/add")
if [ "${httpcode}" = "200" ]; then
- info "sent prowl data for: ${host} ${chart}.${name} is ${status}"
+ info "sent prowl event for ${notification_description}"
sent=1
else
- error "failed to send prowl data for: ${host} ${chart}.${name} is ${status} with with error code ${httpcode}."
+ error "failed to send prowl event for ${notification_description}, with HTTP response status code ${httpcode}."
fi
[ ${sent} -gt 0 ] && return 0
@@ -1914,10 +2023,10 @@ send_irc() {
done
if [ "${error}" -eq 0 ]; then
- info "sent irc notification for: ${host} ${chart}.${name} is ${status} to '${CHANNEL}'"
+ info "sent irc notification to '${CHANNEL}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send irc notification for: ${host} ${chart}.${name} is ${status} to '${CHANNEL}', with error code ${code}."
+ error "failed to send irc notification to '${CHANNEL}' for ${notification_description}, with error code ${code}."
fi
done
fi
@@ -1942,10 +2051,10 @@ send_awssns() {
# Extract the region from the target ARN. We need to explicitly specify the region so that it matches up correctly.
region="$(echo ${target} | cut -f 4 -d ':')"
if ${aws} sns publish --region "${region}" --subject "${host} ${status_message} - ${name//_/ } - ${chart}" --message "${message}" --target-arn ${target} &>/dev/null; then
- info "sent Amazon SNS notification for: ${host} ${chart}.${name} is ${status} to '${target}'"
+ info "sent Amazon SNS notification to '${target}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send Amazon SNS notification for: ${host} ${chart}.${name} is ${status} to '${target}'"
+ error "failed to send Amazon SNS notification to '${target}' for ${notification_description}"
fi
done
@@ -1987,10 +2096,10 @@ EOF
httpcode=$(docurl -X POST --data "${payload}" "${webhook}")
if [ "${httpcode}" == "200" ]; then
- info "sent Matrix notification for: ${host} ${chart}.${name} is ${status} to '${room}'"
+ info "sent Matrix notification to '${room}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send Matrix notification for: ${host} ${chart}.${name} is ${status} to '${room}', with HTTP response status code ${httpcode}."
+ error "failed to send Matrix notification to '${room}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
@@ -2089,10 +2198,10 @@ send_sms() {
errmessage=$($sendsms $phone "$msg" 2>&1)
errcode=$?
if [ ${errcode} -eq 0 ]; then
- info "sent smstools3 SMS for: ${host} ${chart}.${name} is ${status} to '${user}'"
+ info "sent smstools3 SMS to '${user}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send smstools3 SMS for: ${host} ${chart}.${name} is ${status} to '${user}' with error code ${errcode}: ${errmessage}."
+ error "failed to send smstools3 SMS to '${user}' for ${notification_description}, with error code ${errcode}: ${errmessage}."
fi
done
@@ -2139,14 +2248,14 @@ EOF
if [ ${ret} -eq 0 ]; then
if [ "${httpcode}" = "200" ]; then
- info "sent ${DYNATRACE_EVENT} to ${DYNATRACE_SERVER}"
+ info "sent Dynatrace event '${DYNATRACE_EVENT}' to '${DYNATRACE_SERVER}' for ${notification_description}"
return 0
else
- warning "Dynatrace ${DYNATRACE_SERVER} responded ${httpcode} notification for: ${host} ${chart}.${name} is ${status} was not sent!"
+ warning "failed to send Dynatrace event to '${DYNATRACE_SERVER}' for ${notification_description}, with HTTP response status code ${httpcode}"
return 1
fi
else
- error "failed to sent ${DYNATRACE_EVENT} notification for: ${host} ${chart}.${name} is ${status} to ${DYNATRACE_SERVER} with error code ${ret}."
+ error "failed to sent Dynatrace '${DYNATRACE_EVENT}' to '${DYNATRACE_SERVER}' for ${notification_description}, with code ${ret}."
return 1
fi
}
@@ -2204,9 +2313,9 @@ EOF
httpcode=$(docurl -X POST -H "Content-Type: application/json" -d "${payload}" "${OPSGENIE_API_URL}/v1/json/integrations/webhooks/netdata?apiKey=${OPSGENIE_API_KEY}")
# https://docs.opsgenie.com/docs/alert-api#create-alert
if [ "${httpcode}" = "200" ]; then
- info "sent opsgenie notification for: ${host} ${chart}.${name} is ${status}"
+ info "sent opsgenie event for ${notification_description}"
else
- error "failed to send opsgenie notification for: ${host} ${chart}.${name} is ${status}, with HTTP error code ${httpcode}."
+ error "failed to send opsgenie event for ${notification_description}, with HTTP response status code ${httpcode}."
return 1
fi
@@ -2243,9 +2352,9 @@ EOF
httpcode=$(docurl -X POST -H "Content-Type: application/json" -d "${payload}" "${GOTIFY_APP_URL}/message?token=${GOTIFY_APP_TOKEN}")
if [ "${httpcode}" = "200" ]; then
- info "sent gotify notification for: ${host} ${chart}.${name} is ${status}"
+ info "sent gotify event for ${notification_description}"
else
- error "failed to send gotify notification for: ${host} ${chart}.${name} is ${status}, with HTTP error code ${httpcode}."
+ error "failed to send gotify event for ${notification_description}, with HTTP response status code ${httpcode}."
return 1
fi
@@ -2298,10 +2407,10 @@ send_ntfy() {
-d "${msg}" \
${recipient})
if [ "${httpcode}" == "200" ]; then
- info "sent ntfy notification for: ${host} ${chart}.${name} is ${status} to '${recipient}'"
+ info "sent ntfy notification to '${recipient}' for ${notification_description}"
sent=$((sent + 1))
else
- error "failed to send ntfy notification for: ${host} ${chart}.${name} is ${status} to '${recipient}', with HTTP response status code ${httpcode}."
+ error "failed to send ntfy notification to '${recipient}' for ${notification_description}, with HTTP response status code ${httpcode}."
fi
done
diff --git a/health/notifications/alerta/README.md b/health/notifications/alerta/README.md
index 48f9f35a4..02f9f45ef 100644
--- a/health/notifications/alerta/README.md
+++ b/health/notifications/alerta/README.md
@@ -54,11 +54,11 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_ALERTA | Set `SEND_ALERTA` to YES | | True |
-| ALERTA_WEBHOOK_URL | set `ALERTA_WEBHOOK_URL` to the API url you defined when you installed the Alerta server. | | True |
-| ALERTA_API_KEY | Set `ALERTA_API_KEY` to your API key. | | True |
-| DEFAULT_RECIPIENT_ALERTA | Set `DEFAULT_RECIPIENT_ALERTA` to the default recipient environment you want the alert notifications to be sent to. All roles will default to this variable if left unconfigured. | | True |
-| DEFAULT_RECIPIENT_CUSTOM | Set different recipient environments per role, by editing `DEFAULT_RECIPIENT_CUSTOM` with the environment name of your choice | | False |
+| SEND_ALERTA | Set `SEND_ALERTA` to YES | | yes |
+| ALERTA_WEBHOOK_URL | set `ALERTA_WEBHOOK_URL` to the API url you defined when you installed the Alerta server. | | yes |
+| ALERTA_API_KEY | Set `ALERTA_API_KEY` to your API key. | | yes |
+| DEFAULT_RECIPIENT_ALERTA | Set `DEFAULT_RECIPIENT_ALERTA` to the default recipient environment you want the alert notifications to be sent to. All roles will default to this variable if left unconfigured. | | yes |
+| DEFAULT_RECIPIENT_CUSTOM | Set different recipient environments per role, by editing `DEFAULT_RECIPIENT_CUSTOM` with the environment name of your choice | | no |
##### ALERTA_API_KEY
diff --git a/health/notifications/awssns/README.md b/health/notifications/awssns/README.md
index c56026a48..bcf522934 100644
--- a/health/notifications/awssns/README.md
+++ b/health/notifications/awssns/README.md
@@ -71,10 +71,10 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| aws path | The full path of the aws command. If empty, the system `$PATH` will be searched for it. If not found, Amazon SNS notifications will be silently disabled. | | True |
-| SEND_AWSNS | Set `SEND_AWSNS` to YES | YES | True |
-| AWSSNS_MESSAGE_FORMAT | Set `AWSSNS_MESSAGE_FORMAT` to to the string that you want the alert to be sent into. | ${status} on ${host} at ${date}: ${chart} ${value_string} | True |
-| DEFAULT_RECIPIENT_AWSSNS | Set `DEFAULT_RECIPIENT_AWSSNS` to the Topic ARN you noted down upon creating the Topic. | | True |
+| aws path | The full path of the aws command. If empty, the system `$PATH` will be searched for it. If not found, Amazon SNS notifications will be silently disabled. | | yes |
+| SEND_AWSNS | Set `SEND_AWSNS` to YES | YES | yes |
+| AWSSNS_MESSAGE_FORMAT | Set `AWSSNS_MESSAGE_FORMAT` to to the string that you want the alert to be sent into. | ${status} on ${host} at ${date}: ${chart} ${value_string} | yes |
+| DEFAULT_RECIPIENT_AWSSNS | Set `DEFAULT_RECIPIENT_AWSSNS` to the Topic ARN you noted down upon creating the Topic. | | yes |
##### AWSSNS_MESSAGE_FORMAT
diff --git a/health/notifications/custom/README.md b/health/notifications/custom/README.md
index 87b11532c..a7cb04bdb 100644
--- a/health/notifications/custom/README.md
+++ b/health/notifications/custom/README.md
@@ -51,9 +51,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_CUSTOM | Set `SEND_CUSTOM` to YES | YES | True |
-| DEFAULT_RECIPIENT_CUSTOM | This value is dependent on how you handle the `${to}` variable inside the `custom_sender()` function. | | True |
-| custom_sender() | You can look at the other senders in `/usr/libexec/netdata/plugins.d/alarm-notify.sh` for examples of how to modify the function in this configuration file. | | False |
+| SEND_CUSTOM | Set `SEND_CUSTOM` to YES | YES | yes |
+| DEFAULT_RECIPIENT_CUSTOM | This value is dependent on how you handle the `${to}` variable inside the `custom_sender()` function. | | yes |
+| custom_sender() | You can look at the other senders in `/usr/libexec/netdata/plugins.d/alarm-notify.sh` for examples of how to modify the function in this configuration file. | | no |
##### DEFAULT_RECIPIENT_CUSTOM
diff --git a/health/notifications/discord/README.md b/health/notifications/discord/README.md
index 6c335ddc7..8b473a7e8 100644
--- a/health/notifications/discord/README.md
+++ b/health/notifications/discord/README.md
@@ -53,9 +53,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_DISCORD | Set `SEND_DISCORD` to YES | YES | True |
-| DISCORD_WEBHOOK_URL | set `DISCORD_WEBHOOK_URL` to your webhook URL. | | True |
-| DEFAULT_RECIPIENT_DISCORD | Set `DEFAULT_RECIPIENT_DISCORD` to the channel you want the alert notifications to be sent to. You can define multiple channels like this: `alerts` `systems`. | | True |
+| SEND_DISCORD | Set `SEND_DISCORD` to YES | YES | yes |
+| DISCORD_WEBHOOK_URL | set `DISCORD_WEBHOOK_URL` to your webhook URL. | | yes |
+| DEFAULT_RECIPIENT_DISCORD | Set `DEFAULT_RECIPIENT_DISCORD` to the channel you want the alert notifications to be sent to. You can define multiple channels like this: `alerts` `systems`. | | yes |
##### DEFAULT_RECIPIENT_DISCORD
diff --git a/health/notifications/dynatrace/README.md b/health/notifications/dynatrace/README.md
index e7ed1584d..6ee86369d 100644
--- a/health/notifications/dynatrace/README.md
+++ b/health/notifications/dynatrace/README.md
@@ -56,13 +56,13 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_DYNATRACE | Set `SEND_DYNATRACE` to YES | YES | True |
-| DYNATRACE_SERVER | Set `DYNATRACE_SERVER` to the Dynatrace server with the protocol prefix, for example `https://monitor.example.com`. | | True |
-| DYNATRACE_TOKEN | Set `DYNATRACE_TOKEN` to your Dynatrace API authentication token | | True |
-| DYNATRACE_SPACE | Set `DYNATRACE_SPACE` to the API Space, it is the URL part of the page you have access in order to generate the API Token. | | True |
-| DYNATRACE_TAG_VALUE | Set `DYNATRACE_TAG_VALUE` to your Dynatrace Server Tag. | | True |
-| DYNATRACE_ANNOTATION_TYPE | `DYNATRACE_ANNOTATION_TYPE` can be left to its default value Netdata Alarm, but you can change it to better fit your needs. | Netdata Alarm | False |
-| DYNATRACE_EVENT | Set `DYNATRACE_EVENT` to the Dynatrace eventType you want. | Netdata Alarm | False |
+| SEND_DYNATRACE | Set `SEND_DYNATRACE` to YES | YES | yes |
+| DYNATRACE_SERVER | Set `DYNATRACE_SERVER` to the Dynatrace server with the protocol prefix, for example `https://monitor.example.com`. | | yes |
+| DYNATRACE_TOKEN | Set `DYNATRACE_TOKEN` to your Dynatrace API authentication token | | yes |
+| DYNATRACE_SPACE | Set `DYNATRACE_SPACE` to the API Space, it is the URL part of the page you have access in order to generate the API Token. | | yes |
+| DYNATRACE_TAG_VALUE | Set `DYNATRACE_TAG_VALUE` to your Dynatrace Server Tag. | | yes |
+| DYNATRACE_ANNOTATION_TYPE | `DYNATRACE_ANNOTATION_TYPE` can be left to its default value Netdata Alarm, but you can change it to better fit your needs. | Netdata Alarm | no |
+| DYNATRACE_EVENT | Set `DYNATRACE_EVENT` to the Dynatrace eventType you want. | Netdata Alarm | no |
##### DYNATRACE_SPACE
diff --git a/health/notifications/email/README.md b/health/notifications/email/README.md
index ce31d7b8e..3470ba440 100644
--- a/health/notifications/email/README.md
+++ b/health/notifications/email/README.md
@@ -52,9 +52,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| EMAIL_SENDER | You can change `EMAIL_SENDER` to the email address sending the notifications. | netdata | False |
-| SEND_EMAIL | Set `SEND_EMAIL` to YES | YES | True |
-| DEFAULT_RECIPIENT_EMAIL | Set `DEFAULT_RECIPIENT_EMAIL` to the email address you want the email to be sent by default. You can define multiple email addresses like this: `alarms@example.com` `systems@example.com`. | root | True |
+| EMAIL_SENDER | You can change `EMAIL_SENDER` to the email address sending the notifications. | netdata | no |
+| SEND_EMAIL | Set `SEND_EMAIL` to YES | YES | yes |
+| DEFAULT_RECIPIENT_EMAIL | Set `DEFAULT_RECIPIENT_EMAIL` to the email address you want the email to be sent by default. You can define multiple email addresses like this: `alarms@example.com` `systems@example.com`. | root | yes |
##### DEFAULT_RECIPIENT_EMAIL
diff --git a/health/notifications/flock/README.md b/health/notifications/flock/README.md
index 9f12068bc..ab846203c 100644
--- a/health/notifications/flock/README.md
+++ b/health/notifications/flock/README.md
@@ -52,9 +52,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_FLOCK | Set `SEND_FLOCK` to YES | YES | True |
-| FLOCK_WEBHOOK_URL | set `FLOCK_WEBHOOK_URL` to your webhook URL. | | True |
-| DEFAULT_RECIPIENT_FLOCK | Set `DEFAULT_RECIPIENT_FLOCK` to the Flock channel you want the alert notifications to be sent to. All roles will default to this variable if left unconfigured. | | True |
+| SEND_FLOCK | Set `SEND_FLOCK` to YES | YES | yes |
+| FLOCK_WEBHOOK_URL | set `FLOCK_WEBHOOK_URL` to your webhook URL. | | yes |
+| DEFAULT_RECIPIENT_FLOCK | Set `DEFAULT_RECIPIENT_FLOCK` to the Flock channel you want the alert notifications to be sent to. All roles will default to this variable if left unconfigured. | | yes |
##### DEFAULT_RECIPIENT_FLOCK
diff --git a/health/notifications/gotify/README.md b/health/notifications/gotify/README.md
index 1c8ee12d4..404de4d80 100644
--- a/health/notifications/gotify/README.md
+++ b/health/notifications/gotify/README.md
@@ -53,9 +53,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_GOTIFY | Set `SEND_GOTIFY` to YES | YES | True |
-| GOTIFY_APP_TOKEN | set `GOTIFY_APP_TOKEN` to the app token you generated. | | True |
-| GOTIFY_APP_URL | Set `GOTIFY_APP_URL` to point to your Gotify instance, for example `https://push.example.domain/` | | True |
+| SEND_GOTIFY | Set `SEND_GOTIFY` to YES | YES | yes |
+| GOTIFY_APP_TOKEN | set `GOTIFY_APP_TOKEN` to the app token you generated. | | yes |
+| GOTIFY_APP_URL | Set `GOTIFY_APP_URL` to point to your Gotify instance, for example `https://push.example.domain/` | | yes |
</details>
diff --git a/health/notifications/health_alarm_notify.conf b/health/notifications/health_alarm_notify.conf
index 7a896cc92..f3b67c9de 100755
--- a/health/notifications/health_alarm_notify.conf
+++ b/health/notifications/health_alarm_notify.conf
@@ -211,8 +211,8 @@ sendsms=""
# EMAIL_SENDER="\"User Name\" <user@domain>"
EMAIL_SENDER=""
-# enable/disable sending emails
-SEND_EMAIL="YES"
+# enable/disable sending emails, set this YES, or NO, AUTO to enable/disable based on sendmail availability
+SEND_EMAIL="AUTO"
# if a role recipient is not configured, an email will be send to:
DEFAULT_RECIPIENT_EMAIL="root"
diff --git a/health/notifications/irc/README.md b/health/notifications/irc/README.md
index 272665202..60faa7b21 100644
--- a/health/notifications/irc/README.md
+++ b/health/notifications/irc/README.md
@@ -52,13 +52,13 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| nc path | Set the path for nc, otherwise Netdata will search for it in your system $PATH | | True |
-| SEND_IRC | Set `SEND_IRC` YES. | YES | True |
-| IRC_NETWORK | Set `IRC_NETWORK` to the IRC network which your preferred channels belong to. | | True |
-| IRC_PORT | Set `IRC_PORT` to the IRC port to which a connection will occur. | | False |
-| IRC_NICKNAME | Set `IRC_NICKNAME` to the IRC nickname which is required to send the notification. It must not be an already registered name as the connection's MODE is defined as a guest. | | True |
-| IRC_REALNAME | Set `IRC_REALNAME` to the IRC realname which is required in order to make the connection. | | True |
-| DEFAULT_RECIPIENT_IRC | You can have different channels per role, by editing `DEFAULT_RECIPIENT_IRC` with the channel you want | | True |
+| nc path | Set the path for nc, otherwise Netdata will search for it in your system $PATH | | yes |
+| SEND_IRC | Set `SEND_IRC` YES. | YES | yes |
+| IRC_NETWORK | Set `IRC_NETWORK` to the IRC network which your preferred channels belong to. | | yes |
+| IRC_PORT | Set `IRC_PORT` to the IRC port to which a connection will occur. | | no |
+| IRC_NICKNAME | Set `IRC_NICKNAME` to the IRC nickname which is required to send the notification. It must not be an already registered name as the connection's MODE is defined as a guest. | | yes |
+| IRC_REALNAME | Set `IRC_REALNAME` to the IRC realname which is required in order to make the connection. | | yes |
+| DEFAULT_RECIPIENT_IRC | You can have different channels per role, by editing `DEFAULT_RECIPIENT_IRC` with the channel you want | | yes |
##### nc path
diff --git a/health/notifications/kavenegar/README.md b/health/notifications/kavenegar/README.md
index cf8595a2b..7e7cc7f6c 100644
--- a/health/notifications/kavenegar/README.md
+++ b/health/notifications/kavenegar/README.md
@@ -53,10 +53,10 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_KAVENEGAR | Set `SEND_KAVENEGAR` to YES | YES | True |
-| KAVENEGAR_API_KEY | Set `KAVENEGAR_API_KEY` to your API key. | | True |
-| KAVENEGAR_SENDER | Set `KAVENEGAR_SENDER` to the value of your Sender. | | True |
-| DEFAULT_RECIPIENT_KAVENEGAR | Set `DEFAULT_RECIPIENT_KAVENEGAR` to the SMS recipient you want the alert notifications to be sent to. You can define multiple recipients like this: 09155555555 09177777777. | | True |
+| SEND_KAVENEGAR | Set `SEND_KAVENEGAR` to YES | YES | yes |
+| KAVENEGAR_API_KEY | Set `KAVENEGAR_API_KEY` to your API key. | | yes |
+| KAVENEGAR_SENDER | Set `KAVENEGAR_SENDER` to the value of your Sender. | | yes |
+| DEFAULT_RECIPIENT_KAVENEGAR | Set `DEFAULT_RECIPIENT_KAVENEGAR` to the SMS recipient you want the alert notifications to be sent to. You can define multiple recipients like this: 09155555555 09177777777. | | yes |
##### DEFAULT_RECIPIENT_KAVENEGAR
diff --git a/health/notifications/matrix/README.md b/health/notifications/matrix/README.md
index da0fd9191..81ff33032 100644
--- a/health/notifications/matrix/README.md
+++ b/health/notifications/matrix/README.md
@@ -54,10 +54,10 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_MATRIX | Set `SEND_MATRIX` to YES | YES | True |
-| MATRIX_HOMESERVER | set `MATRIX_HOMESERVER` to the URL of the Matrix homeserver. | | True |
-| MATRIX_ACCESSTOKEN | Set `MATRIX_ACCESSTOKEN` to the access token from your Matrix account. | | True |
-| DEFAULT_RECIPIENT_MATRIX | Set `DEFAULT_RECIPIENT_MATRIX` to the rooms you want the alert notifications to be sent to. The format is `!roomid:homeservername`. | | True |
+| SEND_MATRIX | Set `SEND_MATRIX` to YES | YES | yes |
+| MATRIX_HOMESERVER | set `MATRIX_HOMESERVER` to the URL of the Matrix homeserver. | | yes |
+| MATRIX_ACCESSTOKEN | Set `MATRIX_ACCESSTOKEN` to the access token from your Matrix account. | | yes |
+| DEFAULT_RECIPIENT_MATRIX | Set `DEFAULT_RECIPIENT_MATRIX` to the rooms you want the alert notifications to be sent to. The format is `!roomid:homeservername`. | | yes |
##### MATRIX_ACCESSTOKEN
diff --git a/health/notifications/messagebird/README.md b/health/notifications/messagebird/README.md
index 4439e0552..2be841594 100644
--- a/health/notifications/messagebird/README.md
+++ b/health/notifications/messagebird/README.md
@@ -52,10 +52,10 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_MESSAGEBIRD | Set `SEND_MESSAGEBIRD` to YES | YES | True |
-| MESSAGEBIRD_ACCESS_KEY | Set `MESSAGEBIRD_ACCESS_KEY` to your API key. | | True |
-| MESSAGEBIRD_NUMBER | Set `MESSAGEBIRD_NUMBER` to the MessageBird number you want to use for the alert. | | True |
-| DEFAULT_RECIPIENT_MESSAGEBIRD | Set `DEFAULT_RECIPIENT_MESSAGEBIRD` to the number you want the alert notification to be sent as an SMS. You can define multiple recipients like this: +15555555555 +17777777777. | | True |
+| SEND_MESSAGEBIRD | Set `SEND_MESSAGEBIRD` to YES | YES | yes |
+| MESSAGEBIRD_ACCESS_KEY | Set `MESSAGEBIRD_ACCESS_KEY` to your API key. | | yes |
+| MESSAGEBIRD_NUMBER | Set `MESSAGEBIRD_NUMBER` to the MessageBird number you want to use for the alert. | | yes |
+| DEFAULT_RECIPIENT_MESSAGEBIRD | Set `DEFAULT_RECIPIENT_MESSAGEBIRD` to the number you want the alert notification to be sent as an SMS. You can define multiple recipients like this: +15555555555 +17777777777. | | yes |
##### DEFAULT_RECIPIENT_MESSAGEBIRD
diff --git a/health/notifications/msteams/README.md b/health/notifications/msteams/README.md
index dd627f44d..cfda959a4 100644
--- a/health/notifications/msteams/README.md
+++ b/health/notifications/msteams/README.md
@@ -53,9 +53,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_MSTEAMS | Set `SEND_MSTEAMS` to YES | YES | True |
-| MSTEAMS_WEBHOOK_URL | set `MSTEAMS_WEBHOOK_URL` to the incoming webhook URL as given by Microsoft Teams. | | True |
-| DEFAULT_RECIPIENT_MSTEAMS | Set `DEFAULT_RECIPIENT_MSTEAMS` to the encoded Microsoft Teams channel name you want the alert notifications to be sent to. | | True |
+| SEND_MSTEAMS | Set `SEND_MSTEAMS` to YES | YES | yes |
+| MSTEAMS_WEBHOOK_URL | set `MSTEAMS_WEBHOOK_URL` to the incoming webhook URL as given by Microsoft Teams. | | yes |
+| DEFAULT_RECIPIENT_MSTEAMS | Set `DEFAULT_RECIPIENT_MSTEAMS` to the encoded Microsoft Teams channel name you want the alert notifications to be sent to. | | yes |
##### DEFAULT_RECIPIENT_MSTEAMS
diff --git a/health/notifications/ntfy/README.md b/health/notifications/ntfy/README.md
index 7bb62e6d7..924c2a293 100644
--- a/health/notifications/ntfy/README.md
+++ b/health/notifications/ntfy/README.md
@@ -54,11 +54,11 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_NTFY | Set `SEND_NTFY` to YES | YES | True |
-| DEFAULT_RECIPIENT_NTFY | URL formed by the server-topic combination you want the alert notifications to be sent to. Unless hosting your own server, the server should always be set to https://ntfy.sh. | | True |
-| NTFY_USERNAME | The username for netdata to use to authenticate with an ntfy server. | | False |
-| NTFY_PASSWORD | The password for netdata to use to authenticate with an ntfy server. | | False |
-| NTFY_ACCESS_TOKEN | The access token for netdata to use to authenticate with an ntfy server. | | False |
+| SEND_NTFY | Set `SEND_NTFY` to YES | YES | yes |
+| DEFAULT_RECIPIENT_NTFY | URL formed by the server-topic combination you want the alert notifications to be sent to. Unless hosting your own server, the server should always be set to https://ntfy.sh. | | yes |
+| NTFY_USERNAME | The username for netdata to use to authenticate with an ntfy server. | | no |
+| NTFY_PASSWORD | The password for netdata to use to authenticate with an ntfy server. | | no |
+| NTFY_ACCESS_TOKEN | The access token for netdata to use to authenticate with an ntfy server. | | no |
##### DEFAULT_RECIPIENT_NTFY
diff --git a/health/notifications/opsgenie/README.md b/health/notifications/opsgenie/README.md
index 03732a5e9..1b61597e6 100644
--- a/health/notifications/opsgenie/README.md
+++ b/health/notifications/opsgenie/README.md
@@ -53,9 +53,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_OPSGENIE | Set `SEND_OPSGENIE` to YES | YES | True |
-| OPSGENIE_API_KEY | Set `OPSGENIE_API_KEY` to your API key. | | True |
-| OPSGENIE_API_URL | Set `OPSGENIE_API_URL` to the corresponding URL if required, for example there are region-specific API URLs such as `https://eu.api.opsgenie.com`. | https://api.opsgenie.com | False |
+| SEND_OPSGENIE | Set `SEND_OPSGENIE` to YES | YES | yes |
+| OPSGENIE_API_KEY | Set `OPSGENIE_API_KEY` to your API key. | | yes |
+| OPSGENIE_API_URL | Set `OPSGENIE_API_URL` to the corresponding URL if required, for example there are region-specific API URLs such as `https://eu.api.opsgenie.com`. | https://api.opsgenie.com | no |
</details>
diff --git a/health/notifications/pagerduty/README.md b/health/notifications/pagerduty/README.md
index 477634a85..2771061f3 100644
--- a/health/notifications/pagerduty/README.md
+++ b/health/notifications/pagerduty/README.md
@@ -55,8 +55,8 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_PD | Set `SEND_PD` to YES | YES | True |
-| DEFAULT_RECIPIENT_PD | Set `DEFAULT_RECIPIENT_PD` to the PagerDuty service key you want the alert notifications to be sent to. You can define multiple service keys like this: `pd_service_key_1` `pd_service_key_2`. | | True |
+| SEND_PD | Set `SEND_PD` to YES | YES | yes |
+| DEFAULT_RECIPIENT_PD | Set `DEFAULT_RECIPIENT_PD` to the PagerDuty service key you want the alert notifications to be sent to. You can define multiple service keys like this: `pd_service_key_1` `pd_service_key_2`. | | yes |
##### DEFAULT_RECIPIENT_PD
diff --git a/health/notifications/prowl/README.md b/health/notifications/prowl/README.md
index 042a6ea62..dcd9bbb5f 100644
--- a/health/notifications/prowl/README.md
+++ b/health/notifications/prowl/README.md
@@ -58,8 +58,8 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_PROWL | Set `SEND_PROWL` to YES | YES | True |
-| DEFAULT_RECIPIENT_PROWL | Set `DEFAULT_RECIPIENT_PROWL` to the Prowl API key you want the alert notifications to be sent to. You can define multiple API keys like this: `APIKEY1`, `APIKEY2`. | | True |
+| SEND_PROWL | Set `SEND_PROWL` to YES | YES | yes |
+| DEFAULT_RECIPIENT_PROWL | Set `DEFAULT_RECIPIENT_PROWL` to the Prowl API key you want the alert notifications to be sent to. You can define multiple API keys like this: `APIKEY1`, `APIKEY2`. | | yes |
##### DEFAULT_RECIPIENT_PROWL
diff --git a/health/notifications/pushbullet/README.md b/health/notifications/pushbullet/README.md
index 9ebd5d7d4..748325712 100644
--- a/health/notifications/pushbullet/README.md
+++ b/health/notifications/pushbullet/README.md
@@ -52,9 +52,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| Send_PUSHBULLET | Set `Send_PUSHBULLET` to YES | YES | True |
-| PUSHBULLET_ACCESS_TOKEN | set `PUSHBULLET_ACCESS_TOKEN` to the access token you generated. | | True |
-| DEFAULT_RECIPIENT_PUSHBULLET | Set `DEFAULT_RECIPIENT_PUSHBULLET` to the email (e.g. `example@domain.com`) or the channel tag (e.g. `#channel`) you want the alert notifications to be sent to. | | True |
+| Send_PUSHBULLET | Set `Send_PUSHBULLET` to YES | YES | yes |
+| PUSHBULLET_ACCESS_TOKEN | set `PUSHBULLET_ACCESS_TOKEN` to the access token you generated. | | yes |
+| DEFAULT_RECIPIENT_PUSHBULLET | Set `DEFAULT_RECIPIENT_PUSHBULLET` to the email (e.g. `example@domain.com`) or the channel tag (e.g. `#channel`) you want the alert notifications to be sent to. | | yes |
##### DEFAULT_RECIPIENT_PUSHBULLET
diff --git a/health/notifications/pushover/README.md b/health/notifications/pushover/README.md
index 7d2910458..c8727ed44 100644
--- a/health/notifications/pushover/README.md
+++ b/health/notifications/pushover/README.md
@@ -56,9 +56,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_PUSHOVER | Set `SEND_PUSHOVER` to YES | YES | True |
-| PUSHOVER_WEBHOOK_URL | set `PUSHOVER_WEBHOOK_URL` to your Pushover Application token. | | True |
-| DEFAULT_RECIPIENT_PUSHOVER | Set `DEFAULT_RECIPIENT_PUSHOVER` the Pushover User token you want the alert notifications to be sent to. You can define multiple User tokens like this: `USERTOKEN1` `USERTOKEN2`. | | True |
+| SEND_PUSHOVER | Set `SEND_PUSHOVER` to YES | YES | yes |
+| PUSHOVER_WEBHOOK_URL | set `PUSHOVER_WEBHOOK_URL` to your Pushover Application token. | | yes |
+| DEFAULT_RECIPIENT_PUSHOVER | Set `DEFAULT_RECIPIENT_PUSHOVER` the Pushover User token you want the alert notifications to be sent to. You can define multiple User tokens like this: `USERTOKEN1` `USERTOKEN2`. | | yes |
##### DEFAULT_RECIPIENT_PUSHOVER
diff --git a/health/notifications/rocketchat/README.md b/health/notifications/rocketchat/README.md
index 11e0d1f53..59c35124a 100644
--- a/health/notifications/rocketchat/README.md
+++ b/health/notifications/rocketchat/README.md
@@ -53,9 +53,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_ROCKETCHAT | Set `SEND_ROCKETCHAT` to `YES` | YES | True |
-| ROCKETCHAT_WEBHOOK_URL | set `ROCKETCHAT_WEBHOOK_URL` to your webhook URL. | | True |
-| DEFAULT_RECIPIENT_ROCKETCHAT | Set `DEFAULT_RECIPIENT_ROCKETCHAT` to the channel you want the alert notifications to be sent to. You can define multiple channels like this: `alerts` `systems`. | | True |
+| SEND_ROCKETCHAT | Set `SEND_ROCKETCHAT` to `YES` | YES | yes |
+| ROCKETCHAT_WEBHOOK_URL | set `ROCKETCHAT_WEBHOOK_URL` to your webhook URL. | | yes |
+| DEFAULT_RECIPIENT_ROCKETCHAT | Set `DEFAULT_RECIPIENT_ROCKETCHAT` to the channel you want the alert notifications to be sent to. You can define multiple channels like this: `alerts` `systems`. | | yes |
##### DEFAULT_RECIPIENT_ROCKETCHAT
diff --git a/health/notifications/slack/README.md b/health/notifications/slack/README.md
index ab4769036..dfe87f99d 100644
--- a/health/notifications/slack/README.md
+++ b/health/notifications/slack/README.md
@@ -53,9 +53,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_SLACK | Set `SEND_SLACK` to YES | YES | True |
-| SLACK_WEBHOOK_URL | set `SLACK_WEBHOOK_URL` to your Slack app's webhook URL. | | True |
-| DEFAULT_RECIPIENT_SLACK | Set `DEFAULT_RECIPIENT_SLACK` to the Slack channel your Slack app is set to send messages to. The syntax for channels is `#channel` or `channel`. | | True |
+| SEND_SLACK | Set `SEND_SLACK` to YES | YES | yes |
+| SLACK_WEBHOOK_URL | set `SLACK_WEBHOOK_URL` to your Slack app's webhook URL. | | yes |
+| DEFAULT_RECIPIENT_SLACK | Set `DEFAULT_RECIPIENT_SLACK` to the Slack channel your Slack app is set to send messages to. The syntax for channels is `#channel` or `channel`. | | yes |
</details>
diff --git a/health/notifications/smstools3/README.md b/health/notifications/smstools3/README.md
index 4470e85b6..3f08cc0f7 100644
--- a/health/notifications/smstools3/README.md
+++ b/health/notifications/smstools3/README.md
@@ -57,9 +57,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| sendsms | Set the path for `sendsms`, otherwise Netdata will search for it in your system `$PATH:` | YES | True |
-| SEND_SMS | Set `SEND_SMS` to `YES`. | | True |
-| DEFAULT_RECIPIENT_SMS | Set DEFAULT_RECIPIENT_SMS to the phone number you want the alert notifications to be sent to. You can define multiple phone numbers like this: PHONE1 PHONE2. | | True |
+| sendsms | Set the path for `sendsms`, otherwise Netdata will search for it in your system `$PATH:` | YES | yes |
+| SEND_SMS | Set `SEND_SMS` to `YES`. | | yes |
+| DEFAULT_RECIPIENT_SMS | Set DEFAULT_RECIPIENT_SMS to the phone number you want the alert notifications to be sent to. You can define multiple phone numbers like this: PHONE1 PHONE2. | | yes |
##### sendsms
diff --git a/health/notifications/syslog/README.md b/health/notifications/syslog/README.md
index 86d02deeb..e51838be4 100644
--- a/health/notifications/syslog/README.md
+++ b/health/notifications/syslog/README.md
@@ -52,9 +52,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SYSLOG_FACILITY | Set `SYSLOG_FACILITY` to the facility used for logging, by default this value is set to `local6`. | | True |
-| DEFAULT_RECIPIENT_SYSLOG | Set `DEFAULT_RECIPIENT_SYSLOG` to the recipient you want the alert notifications to be sent to. | | True |
-| SEND_SYSLOG | Set SEND_SYSLOG to YES, make sure you have everything else configured before turning this on. | | True |
+| SYSLOG_FACILITY | Set `SYSLOG_FACILITY` to the facility used for logging, by default this value is set to `local6`. | | yes |
+| DEFAULT_RECIPIENT_SYSLOG | Set `DEFAULT_RECIPIENT_SYSLOG` to the recipient you want the alert notifications to be sent to. | | yes |
+| SEND_SYSLOG | Set SEND_SYSLOG to YES, make sure you have everything else configured before turning this on. | | yes |
##### DEFAULT_RECIPIENT_SYSLOG
diff --git a/health/notifications/telegram/README.md b/health/notifications/telegram/README.md
index e2033427e..315bd9b1b 100644
--- a/health/notifications/telegram/README.md
+++ b/health/notifications/telegram/README.md
@@ -54,9 +54,9 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_TELEGRAM | Set `SEND_TELEGRAM` to YES | YES | True |
-| TELEGRAM_BOT_TOKEN | set `TELEGRAM_BOT_TOKEN` to your bot token. | | True |
-| DEFAULT_RECIPIENT_TELEGRAM | Set `DEFAULT_RECIPIENT_TELEGRAM` to the chat ID you want the alert notifications to be sent to. You can define multiple chat IDs like this: 49999333322 -1009999222255. | | True |
+| SEND_TELEGRAM | Set `SEND_TELEGRAM` to YES | YES | yes |
+| TELEGRAM_BOT_TOKEN | set `TELEGRAM_BOT_TOKEN` to your bot token. | | yes |
+| DEFAULT_RECIPIENT_TELEGRAM | Set `DEFAULT_RECIPIENT_TELEGRAM` to the chat ID you want the alert notifications to be sent to. You can define multiple chat IDs like this: 49999333322 -1009999222255. | | yes |
##### DEFAULT_RECIPIENT_TELEGRAM
diff --git a/health/notifications/twilio/README.md b/health/notifications/twilio/README.md
index 9ad675d35..c125a967f 100644
--- a/health/notifications/twilio/README.md
+++ b/health/notifications/twilio/README.md
@@ -52,11 +52,11 @@ The following options can be defined for this notification
| Name | Description | Default | Required |
|:----|:-----------|:-------|:--------:|
-| SEND_TWILIO | Set `SEND_TWILIO` to YES | YES | True |
-| TWILIO_ACCOUNT_SID | set `TWILIO_ACCOUNT_SID` to your account SID. | | True |
-| TWILIO_ACCOUNT_TOKEN | Set `TWILIO_ACCOUNT_TOKEN` to your account token. | | True |
-| TWILIO_NUMBER | Set `TWILIO_NUMBER` to your account's number. | | True |
-| DEFAULT_RECIPIENT_TWILIO | Set DEFAULT_RECIPIENT_TWILIO to the number you want the alert notifications to be sent to. You can define multiple numbers like this: +15555555555 +17777777777. | | True |
+| SEND_TWILIO | Set `SEND_TWILIO` to YES | YES | yes |
+| TWILIO_ACCOUNT_SID | set `TWILIO_ACCOUNT_SID` to your account SID. | | yes |
+| TWILIO_ACCOUNT_TOKEN | Set `TWILIO_ACCOUNT_TOKEN` to your account token. | | yes |
+| TWILIO_NUMBER | Set `TWILIO_NUMBER` to your account's number. | | yes |
+| DEFAULT_RECIPIENT_TWILIO | Set DEFAULT_RECIPIENT_TWILIO to the number you want the alert notifications to be sent to. You can define multiple numbers like this: +15555555555 +17777777777. | | yes |
##### DEFAULT_RECIPIENT_TWILIO