Skip to content
Snippets Groups Projects
health_alarm_notify.conf 16.7 KiB
Newer Older
  • Learn to ignore specific revisions
  • # Configuration for alarm notifications
    #
    
    # 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 (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 '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.
    
    #
    #
    #------------------------------------------------------------------------------
    # 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/"
    
    
    #------------------------------------------------------------------------------
    # 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 (silently).
    
    sendmail=""
    
    # The full path of the curl command.
    # If empty, the system $PATH will be searched for it.
    
    # If not found, most notifications will be silently disabled.
    
    #------------------------------------------------------------------------------
    # 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         : "<pd_service_key_1> <pd_service_key_2>|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).
    
    jurgenhaas's avatar
    jurgenhaas committed
    #------------------------------------------------------------------------------
    # alerta global notification options
    
    # enable/disable sending alerta notifications
    SEND_ALERTA="{{ netdata_alerta_enabled|default('NO') }}"
    
    # here set your alerta server API url
    # this is the API url you defined when installed Alerta server,
    # it is the same for all users. Do not include last slash.
    ALERTA_WEBHOOK_URL="{{ netdata_alerta_webhook|default('') }}"
    
    # Login with an administrative user to you Alerta server and create an API KEY
    # with write permissions.
    ALERTA_API_KEY="{{ netdata_alerta_apikey|default('') }}"
    
    # you can define environments in /etc/alertad.conf option ALLOWED_ENVIRONMENTS
    # standard environments are Production and Development
    # if a role's recipients are not configured, a notification will be send to
    # this Environment (empty = do not send a notification for unconfigured roles):
    DEFAULT_RECIPIENT_ALERTA="{{ netdata_alerta_environment|default('Production') }}"
    
    
    #------------------------------------------------------------------------------
    # email global notification options
    
    # multiple recipients can be given like this:
    
    #              "admin1@example.com admin2@example.com ..."
    
    
    # enable/disable sending emails
    
    SEND_EMAIL="{{ netdata_email_enabled|default('NO') }}"
    
    # 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"
    
    #------------------------------------------------------------------------------
    # pushover (pushover.net) global notification options
    
    # multiple recipients can be given like this:
    
    #                  "USERTOKEN1 USERTOKEN2 ..."
    
    
    # enable/disable sending pushover notifications
    
    SEND_PUSHOVER="{{ netdata_pushover_enabled|default('NO') }}"
    
    # 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="{{ netdata_pushover_app_token|default('') }}"
    
    
    # if a role's recipients are not configured, a notification will be send to
    
    # this pushover user token (empty = do not send a notification for unconfigured
    # roles):
    
    DEFAULT_RECIPIENT_PUSHOVER="{{ netdata_pushover_user_token|default('') }}"
    
    
    
    #------------------------------------------------------------------------------
    # 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="{{ netdata_pushbullet_enabled|default('NO') }}"
    
    # 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="{{ netdata_pushbullet_token|default('') }}"
    DEFAULT_RECIPIENT_PUSHBULLET="{{ netdata_pushbullet_recipient|default('') }}"
    
    
    #------------------------------------------------------------------------------
    # Twilio (twilio.com) SMS options
    
    # multiple recipients can be given like this:
    #                  "+15555555555 +17777777777"
    
    # enable/disable sending twilio SMS
    SEND_TWILIO="{{ netdata_twilio_enabled|default('NO') }}"
    
    # 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="{{ netdata_twilio_sid|default('') }}"
    TWILIO_ACCOUNT_TOKEN="{{ netdata_twilio_token|default('') }}"
    TWILIO_NUMBER="{{ netdata_twilio_number|default('') }}"
    DEFAULT_RECIPIENT_TWILIO="{{ netdata_twilio_recipient|default('') }}"
    
    
    #------------------------------------------------------------------------------
    # Messagebird (messagebird.com) SMS options
    
    # multiple recipients can be given like this:
    #                  "+15555555555 +17777777777"
    
    # enable/disable sending messagebird SMS
    SEND_MESSAGEBIRD="{{ netdata_messagebird_enabled|default('NO') }}"
    
    # 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="{{ netdata_messagebird_key|default('') }}"
    MESSAGEBIRD_NUMBER="{{ netdata_messagebird_number|default('') }}"
    DEFAULT_RECIPIENT_MESSAGEBIRD="{{ netdata_messagebird_recipient|default('') }}"
    
    
    #------------------------------------------------------------------------------
    # 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="{{ netdata_telegram_enabled|default('NO') }}"
    
    # 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="{{ netdata_telegram_recipient|default('') }}"
    
    
    #------------------------------------------------------------------------------
    # slack (slack.com) global notification options
    
    # multiple recipients can be given like this:
    
    #                  "CHANNEL1 CHANNEL2 ..."
    
    
    # enable/disable sending slack notifications
    
    SEND_SLACK="{{ netdata_slack_enabled|default('NO') }}"
    
    # 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="{{ netdata_slack_webhook|default('') }}"
    
    # if a role's recipients are not configured, a notification will be send to
    
    # this slack channel (empty = do not send a notification for unconfigured
    # roles):
    
    DEFAULT_RECIPIENT_SLACK="{{ netdata_slack_channel|default('') }}"
    
    
    
    #------------------------------------------------------------------------------
    # discord (discordapp.com) global notification options
    
    # multiple recipients can be given like this:
    #                  "CHANNEL1 CHANNEL2 ..."
    
    # enable/disable sending discord notifications
    SEND_DISCORD="{{ netdata_discord_enabled|default('NO') }}"
    
    # Create a webhook by following the official documentation -
    # https://support.discordapp.com/hc/en-us/articles/228383668-Intro-to-Webhooks
    DISCORD_WEBHOOK_URL="{{ netdata_discord_webhook|default('') }}"
    
    # 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="{{ netdata_discord_recipient|default('') }}"
    
    
    #------------------------------------------------------------------------------
    # hipchat global notification options
    
    # multiple recipients can be given like this:
    #                  "ROOM1 ROOM2 ..."
    
    # enable/disable sending hipchat notifications
    SEND_HIPCHAT="{{ netdata_hipchat_enabled|default('NO') }}"
    
    # api.hipchat.com authorization token
    # Without this, netdata cannot send hipchat notifications.
    HIPCHAT_AUTH_TOKEN="{{ netdata_hipchat_token|default('') }}"
    
    # 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="{{ netdata_hipchat_recipient|default('') }}"
    
    
    #------------------------------------------------------------------------------
    # kafka notification options
    
    # enable/disable sending kafka notifications
    SEND_KAFKA="{{ netdata_kafka_enabled|default('NO') }}"
    
    # The URL to POST kafka alarm data to. It should be the full URL.
    KAFKA_URL="{{ netdata_kafka_url|default('') }}"
    
    # The IP to be used in the kafka message as the sender.
    KAFKA_SENDER_IP="{{ netdata_kafka_sender|default('') }}"
    
    
    #------------------------------------------------------------------------------
    # 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:
    #              "<pd_service_key_1> <pd_service_key_2> ..."
    
    # enable/disable sending pagerduty notifications
    SEND_PD="{{ netdata_pagerduty_enabled|default('NO') }}"
    
    # 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="{{ netdata_pagerduty_recipient|default('') }}"
    
    
    
    ###############################################################################
    # RECIPIENTS PER ROLE
    
    # -----------------------------------------------------------------------------
    # generic system alarms
    
    # 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
    
    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, 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
    
    
    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
    
    
    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}"