X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=conf.d%2Fhealth_alarm_notify.conf;h=23776b96aba4b25b45cb713db1ee8a50c0597c54;hb=a3ae351f1e4576e5a32166ddbc28c8699ce31991;hp=c7dd068f2bdeb008fd0dce44e59fa6a435a4341c;hpb=6f2c5d8fbc873944a84ae11bac5ff0b6c343932d;p=netdata.git diff --git a/conf.d/health_alarm_notify.conf b/conf.d/health_alarm_notify.conf index c7dd068f..23776b96 100644 --- a/conf.d/health_alarm_notify.conf +++ b/conf.d/health_alarm_notify.conf @@ -1,42 +1,97 @@ # Configuration for alarm notifications # -# this configuration is used by: alarm-notify.sh -# changes take effect immendiately (the next alarm will use them). +# This configuration is used by: alarm-notify.sh +# changes take effect immediately (the next alarm will use them). # # alarm-notify.sh can send: -# - e-mails, -# - push notifications to your mobile phone, -# - messages to your slack team +# - e-mails (using the sendmail command), +# - push notifications to your mobile phone (pushover.net), +# - messages to your slack team (slack.com), +# - messages to your discord guild (discordapp.com), +# - messages to your telegram chat / group chat (telegram.org) +# - sms messages to your cell phone or any sms enabled device (twilio.com) +# - sms messages to your cell phone or any sms enabled device (messagebird.com) +# - notifications to users on pagerduty.com # -# the recipient given in netdata alarms defines a role, so that different +# The 'to' line given at netdata alarms defines a *role*, so that many # people can be notified for each role. # # This file is a BASH script itself. - -# if you need to send curl based notifications (pushover, slack) via a proxy -# set these: +# +# +#------------------------------------------------------------------------------ +# proxy configuration +# +# If you need to send curl based notifications (pushover, pushbullet, slack, +# discord, telegram) via a proxy, set these to your proxy address: #export http_proxy="http://10.0.0.1:3128/" #export https_proxy="http://10.0.0.1:3128/" -############################################################################### -# external commands needed +#------------------------------------------------------------------------------ +# notifications images +# +# Images in notifications need to be downloaded from an Internet facing site. +# To allow notification providers fetch the icons/images, by default we set +# the URL of the global public netdata registry. +# If you have an Internet facing netdata (or you have copied the images/ folder +# of netdata to your web server), set its URL here, to fetch the notification +# images from it. +#images_base_url="http://my.public.netdata.server:19999" + + +#------------------------------------------------------------------------------ +# external commands # The full path to the sendmail command. # If empty, the system $PATH will be searched for it. -# If not found, email notifications will be disabled. +# If not found, email notifications will be disabled (silently). sendmail="" # The full path of the curl command. # If empty, the system $PATH will be searched for it. -# If not found, pushover and slack notifications will be disabled. +# If not found, most notifications will be silently disabled. curl="" -############################################################################### -# sending emails +#------------------------------------------------------------------------------ +# NOTE ABOUT RECIPIENTS +# +# When you define recipients (all types): +# +# - emails addresses +# - pushover user tokens +# - telegram chat ids +# - slack channels +# - discord channels +# - hipchat rooms +# - sms phone numbers +# - pagerduty.com (pd) services +# +# You can append |critical to limit the notifications to be sent. +# +# In these examples, the first recipient receives all the alarms +# while the second one receives only the critical ones: +# +# email : "user1@example.com user2@example.com|critical" +# pushover : "2987343...9437837 8756278...2362736|critical" +# telegram : "111827421 112746832|critical" +# slack : "alarms disasters|critical" +# discord : "alarms disasters|critical" +# twilio : "+15555555555 +17777777777|critical" +# messagebird: "+15555555555 +17777777777|critical" +# pd : " |critical" +# +# If a recipient is set to empty string, the default recipient of the given +# notification method (email, pushover, telegram, slack, etc) will be used. +# To disable a notification, use the recipient called: disabled +# This works for all notification methods (including the default recipients). -# note: multiple recipients can be given like this: + +#------------------------------------------------------------------------------ +# email global notification options + +# multiple recipients can be given like this: # "admin1@example.com admin2@example.com ..." # enable/disable sending emails @@ -44,60 +99,236 @@ SEND_EMAIL="YES" # if a role recipient is not configured, an email will be send to: DEFAULT_RECIPIENT_EMAIL="root" +# to receive only critical alarms, set it to "root|critical" -############################################################################### -# sending pushover notifications (pushover.net) +#------------------------------------------------------------------------------ +# pushover (pushover.net) global notification options -# note: multiple recipients can be given like this: +# multiple recipients can be given like this: # "USERTOKEN1 USERTOKEN2 ..." # enable/disable sending pushover notifications SEND_PUSHOVER="YES" -# Login to pushover.net to get your pushover app token -# You need only one for all your netdata servers. -# Without it, netdata cannot send pushover notifications. +# Login to pushover.net to get your pushover app token. +# You need only one for all your netdata servers (or you can have one for +# each of your netdata - your call). +# Without an app token, netdata cannot send pushover notifications. PUSHOVER_APP_TOKEN="" # if a role's recipients are not configured, a notification will be send to -# this pushover user token: +# this pushover user token (empty = do not send a notification for unconfigured +# roles): DEFAULT_RECIPIENT_PUSHOVER="" -############################################################################### -# sending slack notifications +#------------------------------------------------------------------------------ +# pushbullet (pushbullet.com) push notification options + +# multiple recipients can be given like this: +# "user1@email.com user2@mail.com" + +# enable/disable sending pushbullet notifications +SEND_PUSHBULLET="YES" + +# Signup and Login to pushbullet.com +# To get your Access Token, go to https://www.pushbullet.com/#settings/account +# Create a new access token and paste it below. +# Then just set the recipients' emails. +# Please note that the if the email in the DEFAULT_RECIPIENT_PUSHBULLET does +# not have a pushbullet account, the pushbullet service will send an email +# to that address instead. + +# Without an access token, netdata cannot send pushbullet notifications. +PUSHBULLET_ACCESS_TOKEN="" +DEFAULT_RECIPIENT_PUSHBULLET="" + + +#------------------------------------------------------------------------------ +# Twilio (twilio.com) SMS options + +# multiple recipients can be given like this: +# "+15555555555 +17777777777" + +# enable/disable sending twilio SMS +SEND_TWILIO="YES" + +# Signup for free trial and select a SMS capable Twilio Number +# To get your Account SID and Token, go to https://www.twilio.com/console +# Place your sid, token and number below. +# Then just set the recipients' phone numbers. +# The trial account is only allowed to use the number specified when set up. + +# Without an account sid and token, netdata cannot send Twilio text messages. +TWILIO_ACCOUNT_SID="" +TWILIO_ACCOUNT_TOKEN="" +TWILIO_NUMBER="" +DEFAULT_RECIPIENT_TWILIO="" + + +#------------------------------------------------------------------------------ +# Messagebird (messagebird.com) SMS options + +# multiple recipients can be given like this: +# "+15555555555 +17777777777" + +# enable/disable sending messagebird SMS +SEND_MESSAGEBIRD="YES" + +# to get an access key, create a free account at https://www.messagebird.com +# verify and activate the account (no CC info needed) +# login to your account and enter your phonenumber to get some free credits +# to get the API key, click on 'API' in the sidebar, then 'API Access (REST)' +# click 'Add access key' and fill in data (you want a live key to send SMS) + +# Without an access key, netdata cannot send Messagebird text messages. +MESSAGEBIRD_ACCESS_KEY="" +MESSAGEBIRD_NUMBER="" +DEFAULT_RECIPIENT_MESSAGEBIRD="" + + +#------------------------------------------------------------------------------ +# telegram (telegram.org) global notification options + +# To get your chat ID send the command /my_id to telegram bot @get_id. +# Users also need to open a query with the bot (see below). # note: multiple recipients can be given like this: +# "CHAT_ID_1 CHAT_ID_2 ..." + +# enable/disable sending telegram messages +SEND_TELEGRAM="YES" + +# Contact the bot @BotFather to create a new bot and receive a bot token. +# Without it, netdata cannot send telegram messages. +TELEGRAM_BOT_TOKEN="" + +# If a role's recipients are not configured, a message will be send to +# this chat id (empty = do not send a notification for unconfigured roles): +DEFAULT_RECIPIENT_TELEGRAM="" + + +#------------------------------------------------------------------------------ +# slack (slack.com) global notification options + +# multiple recipients can be given like this: # "CHANNEL1 CHANNEL2 ..." -# enable/disable sending pushover notifications +# enable/disable sending slack notifications SEND_SLACK="YES" -# Login to slack.com and create an incoming webhook. -# You need only one for all your netdata servers. +# Login to slack.com and create an incoming webhook. You need only one for all +# your netdata servers (or you can have one for each of your netdata). # Without it, netdata cannot send slack notifications. # Get yours from: https://api.slack.com/incoming-webhooks SLACK_WEBHOOK_URL="" # if a role's recipients are not configured, a notification will be send to -# this slack channel: +# this slack channel (empty = do not send a notification for unconfigured +# roles): DEFAULT_RECIPIENT_SLACK="" +#------------------------------------------------------------------------------ +# discord (discordapp.com) global notification options + +# multiple recipients can be given like this: +# "CHANNEL1 CHANNEL2 ..." + +# enable/disable sending discord notifications +SEND_DISCORD="YES" + +# Create a webhook by following the official documentation - +# https://support.discordapp.com/hc/en-us/articles/228383668-Intro-to-Webhooks +DISCORD_WEBHOOK_URL="" + +# if a role's recipients are not configured, a notification will be send to +# this discord channel (empty = do not send a notification for unconfigured +# roles): +DEFAULT_RECIPIENT_DISCORD="" + + +#------------------------------------------------------------------------------ +# hipchat global notification options + +# multiple recipients can be given like this: +# "ROOM1 ROOM2 ..." + +# enable/disable sending hipchat notifications +SEND_HIPCHAT="YES" + +# define hipchat server +HIPCHAT_SERVER="api.hipchat.com" + +# api.hipchat.com authorization token +# Without this, netdata cannot send hipchat notifications. +HIPCHAT_AUTH_TOKEN="" + +# if a role's recipients are not configured, a notification will be send to +# this hipchat room (empty = do not send a notification for unconfigured +# roles): +DEFAULT_RECIPIENT_HIPCHAT="" + + +#------------------------------------------------------------------------------ +# kafka notification options + +# enable/disable sending kafka notifications +SEND_KAFKA="YES" + +# The URL to POST kafka alarm data to. It should be the full URL. +KAFKA_URL="" + +# The IP to be used in the kafka message as the sender. +KAFKA_SENDER_IP="" + + +#------------------------------------------------------------------------------ +# pagerduty.com notification options +# +# pagerduty.com notifications require the pagerduty agent to be installed and +# a "Generic API" pagerduty service. +# https://www.pagerduty.com/docs/guides/agent-install-guide/ + +# multiple recipients can be given like this: +# " ..." + +# enable/disable sending pagerduty notifications +SEND_PD="YES" + +# if a role's recipients are not configured, a notification will be sent to +# the "General API" pagerduty.com service that uses this service key. +# (empty = do not send a notification for unconfigured roles): +DEFAULT_RECIPIENT_PD="" + + ############################################################################### # RECIPIENTS PER ROLE # ----------------------------------------------------------------------------- # generic system alarms -# CPU, disks, entropy, etc +# CPU, disks, network interfaces, entropy, etc role_recipients_email[sysadmin]="${DEFAULT_RECIPIENT_EMAIL}" role_recipients_pushover[sysadmin]="${DEFAULT_RECIPIENT_PUSHOVER}" +role_recipients_pushbullet[sysadmin]="${DEFAULT_RECIPIENT_PUSHBULLET}" + +role_recipients_telegram[sysadmin]="${DEFAULT_RECIPIENT_TELEGRAM}" + role_recipients_slack[sysadmin]="${DEFAULT_RECIPIENT_SLACK}" +role_recipients_discord[sysadmin]="${DEFAULT_RECIPIENT_DISCORD}" + +role_recipients_hipchat[sysadmin]="${DEFAULT_RECIPIENT_HIPCHAT}" + +role_recipients_twilio[sysadmin]="${DEFAULT_RECIPIENT_TWILIO}" + +role_recipients_messagebird[sysadmin]="${DEFAULT_RECIPIENT_MESSAGEBIRD}" + +role_recipients_pd[sysadmin]="${DEFAULT_RECIPIENT_PD}" # ----------------------------------------------------------------------------- # DNS related alarms @@ -106,37 +337,90 @@ role_recipients_email[domainadmin]="${DEFAULT_RECIPIENT_EMAIL}" role_recipients_pushover[domainadmin]="${DEFAULT_RECIPIENT_PUSHOVER}" +role_recipients_pushbullet[domainadmin]="${DEFAULT_RECIPIENT_PUSHBULLET}" + +role_recipients_telegram[domainadmin]="${DEFAULT_RECIPIENT_TELEGRAM}" + role_recipients_slack[domainadmin]="${DEFAULT_RECIPIENT_SLACK}" +role_recipients_discord[domainadmin]="${DEFAULT_RECIPIENT_DISCORD}" + +role_recipients_hipchat[domainadmin]="${DEFAULT_RECIPIENT_HIPCHAT}" + +role_recipients_twilio[domainadmin]="${DEFAULT_RECIPIENT_TWILIO}" + +role_recipients_messagebird[domainadmin]="${DEFAULT_RECIPIENT_MESSAGEBIRD}" + +role_recipients_pd[domainadmin]="${DEFAULT_RECIPIENT_PD}" # ----------------------------------------------------------------------------- # database servers alarms -# mysql, redis, memcached, etc +# mysql, redis, memcached, postgres, etc role_recipients_email[dba]="${DEFAULT_RECIPIENT_EMAIL}" role_recipients_pushover[dba]="${DEFAULT_RECIPIENT_PUSHOVER}" +role_recipients_pushbullet[dba]="${DEFAULT_RECIPIENT_PUSHBULLET}" + +role_recipients_telegram[dba]="${DEFAULT_RECIPIENT_TELEGRAM}" + role_recipients_slack[dba]="${DEFAULT_RECIPIENT_SLACK}" +role_recipients_discord[dba]="${DEFAULT_RECIPIENT_DISCORD}" + +role_recipients_hipchat[dba]="${DEFAULT_RECIPIENT_HIPCHAT}" + +role_recipients_twilio[dba]="${DEFAULT_RECIPIENT_TWILIO}" + +role_recipients_messagebird[dba]="${DEFAULT_RECIPIENT_MESSAGEBIRD}" + +role_recipients_pd[dba]="${DEFAULT_RECIPIENT_PD}" # ----------------------------------------------------------------------------- # web servers alarms -# apache, nginx, etc +# apache, nginx, lighttpd, etc role_recipients_email[webmaster]="${DEFAULT_RECIPIENT_EMAIL}" role_recipients_pushover[webmaster]="${DEFAULT_RECIPIENT_PUSHOVER}" +role_recipients_pushbullet[webmaster]="${DEFAULT_RECIPIENT_PUSHBULLET}" + +role_recipients_telegram[webmaster]="${DEFAULT_RECIPIENT_TELEGRAM}" + role_recipients_slack[webmaster]="${DEFAULT_RECIPIENT_SLACK}" +role_recipients_discord[webmaster]="${DEFAULT_RECIPIENT_DISCORD}" + +role_recipients_hipchat[webmaster]="${DEFAULT_RECIPIENT_HIPCHAT}" + +role_recipients_twilio[webmaster]="${DEFAULT_RECIPIENT_TWILIO}" + +role_recipients_messagebird[webmaster]="${DEFAULT_RECIPIENT_MESSAGEBIRD}" + +role_recipients_pd[webmaster]="${DEFAULT_RECIPIENT_PD}" # ----------------------------------------------------------------------------- # proxy servers alarms -# apache, nginx, etc +# squid, etc role_recipients_email[proxyadmin]="${DEFAULT_RECIPIENT_EMAIL}" role_recipients_pushover[proxyadmin]="${DEFAULT_RECIPIENT_PUSHOVER}" +role_recipients_pushbullet[proxyadmin]="${DEFAULT_RECIPIENT_PUSHBULLET}" + +role_recipients_telegram[proxyadmin]="${DEFAULT_RECIPIENT_TELEGRAM}" + role_recipients_slack[proxyadmin]="${DEFAULT_RECIPIENT_SLACK}" + +role_recipients_discord[proxyadmin]="${DEFAULT_RECIPIENT_DISCORD}" + +role_recipients_hipchat[proxyadmin]="${DEFAULT_RECIPIENT_HIPCHAT}" + +role_recipients_twilio[proxyadmin]="${DEFAULT_RECIPIENT_TWILIO}" + +role_recipients_messagebird[proxyadmin]="${DEFAULT_RECIPIENT_MESSAGEBIRD}" + +role_recipients_pd[proxyadmin]="${DEFAULT_RECIPIENT_PD}"