@cryptotaxi247 / netdata-1 / commits / b1601fc80

Add notification metadata for agent notifications (#15622)

* Add notification metadata * Update health/notifications/email/metadata.yaml Co-authored-by: Emmanuel Vasilakis <mrzammler@mm.st> * Update health/notifications/email/metadata.yaml Co-authored-by: Emmanuel Vasilakis <mrzammler@mm.st> * Update health/notifications/email/metadata.yaml Co-authored-by: Emmanuel Vasilakis <mrzammler@mm.st> * Update health/notifications/awssns/metadata.yaml Co-authored-by: Emmanuel Vasilakis <mrzammler@mm.st> * Update health/notifications/gotify/metadata.yaml Co-authored-by: Emmanuel Vasilakis <mrzammler@mm.st> * Update health/notifications/custom/metadata.yaml Co-authored-by: Emmanuel Vasilakis <mrzammler@mm.st> * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml * Update metadata.yaml --------- Co-authored-by: Emmanuel Vasilakis <mrzammler@mm.st>

Shyam Sreevalsan committed Jul 28, 2023 at 18:52 UTC b1601fc8058986a6230410d72980d03b96ffcca0
24 files changed +1929
health/notifications/awssns/metadata.yaml new
+127
@@ -0,0 +1,127 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-awssns'
4 + meta:
5 + name: 'AWS SNS'
6 + link: 'https://aws.amazon.com/sns/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'awssns.png'
10 + keywords:
11 + - AWS SNS
12 + overview:
13 + notification_description: |
14 + As part of its AWS suite, Amazon provides a notification broker service called 'Simple Notification Service' (SNS). Amazon SNS works similarly to Netdata's own notification system, allowing to dispatch a single notification to multiple subscribers of different types. Among other things, SNS supports sending notifications to:
15 + - Email addresses
16 + - Mobile Phones via SMS
17 + - HTTP or HTTPS web hooks
18 + - AWS Lambda functions
19 + - AWS SQS queues
20 + - Mobile applications via push notifications
21 + You can send notifications through Amazon SNS using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
22 + notification_limitations: |
23 + - While Amazon SNS supports sending differently formatted messages for different delivery methods, Netdata does not currently support this functionality.
24 + - For email notification support, we recommend using Netdata's email notifications, as it is has the following benefits:
25 + - In most cases, it requires less configuration.
26 + - Netdata's emails are nicely pre-formatted and support features like threading, which requires a lot of manual effort in SNS.
27 + - It is less resource intensive and more cost-efficient than SNS.
28 + setup:
29 + prerequisites:
30 + list:
31 + - title: ''
32 + description: |
33 + - The [Amazon Web Services CLI tools](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) (awscli).
34 + - An actual home directory for the user you run Netdata as, instead of just using `/` as a home directory. The setup depends on the distribution, but `/var/lib/netdata` is the recommended directory. If you are using Netdata as a dedicated user, the permissions will already be correct.
35 + - An Amazon SNS topic to send notifications to with one or more subscribers. The Getting Started section of the Amazon SNS documentation covers the basics of how to set this up. Make note of the Topic ARN when you create the topic.
36 + - While not mandatory, it is highly recommended to create a dedicated IAM user on your account for Netdata to send notifications. This user needs to have programmatic access, and should only allow access to SNS. For an additional layer of security, you can create one for each system or group of systems.
37 + - Terminal access to the Agent you wish to configure.
38 + configuration:
39 + file:
40 + name: 'health_alarm_notify.conf'
41 + options:
42 + description: 'The following options can be defined for this notification'
43 + folding:
44 + title: 'Config Options'
45 + enabled: true
46 + list:
47 + - name: 'aws path'
48 + default_value: ''
49 + description: "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."
50 + required: true
51 + - name: 'SEND_AWSNS'
52 + default_value: 'YES'
53 + description: "Set `SEND_AWSNS` to YES"
54 + required: true
55 + - name: 'AWSSNS_MESSAGE_FORMAT'
56 + default_value: '${status} on ${host} at ${date}: ${chart} ${value_string}'
57 + description: "Set `AWSSNS_MESSAGE_FORMAT` to to the string that you want the alert to be sent into."
58 + required: true
59 + detailed_description: >
60 + The supported variables are:
61 + Variable name Description
62 + ${alarm} Like "name = value units"
63 + ${status_message} Like "needs attention", "recovered", "is critical"
64 + ${severity} Like "Escalated to CRITICAL", "Recovered from WARNING"
65 + ${raised_for} Like "(alarm was raised for 10 minutes)"
66 + ${host} The host generated this event
67 + ${url_host} Same as ${host} but URL encoded
68 + ${unique_id} The unique id of this event
69 + ${alarm_id} The unique id of the alarm that generated this event
70 + ${event_id} The incremental id of the event, for this alarm id
71 + ${when} The timestamp this event occurred
72 + ${name} The name of the alarm, as given in netdata health.d entries
73 + ${url_name} Same as ${name} but URL encoded
74 + ${chart} The name of the chart (type.id)
75 + ${url_chart} Same as ${chart} but URL encoded
76 + ${family} The family of the chart
77 + ${url_family} Same as ${family} but URL encoded
78 + ${status} The current status : REMOVED, UNINITIALIZED, UNDEFINED, CLEAR, WARNING, CRITICAL
79 + ${old_status} The previous status: REMOVED, UNINITIALIZED, UNDEFINED, CLEAR, WARNING, CRITICAL
80 + ${value} The current value of the alarm
81 + ${old_value} The previous value of the alarm
82 + ${src} The line number and file the alarm has been configured
83 + ${duration} The duration in seconds of the previous alarm state
84 + ${duration_txt} Same as ${duration} for humans
85 + ${non_clear_duration} The total duration in seconds this is/was non-clear
86 + ${non_clear_duration_txt} Same as ${non_clear_duration} for humans
87 + ${units} The units of the value
88 + ${info} A short description of the alarm
89 + ${value_string} Friendly value (with units)
90 + ${old_value_string} Friendly old value (with units)
91 + ${image} The URL of an image to represent the status of the alarm
92 + ${color} A color in AABBCC format for the alarm
93 + ${goto_url} The URL the user can click to see the netdata dashboard
94 + ${calc_expression} The expression evaluated to provide the value for the alarm
95 + ${calc_param_values} The value of the variables in the evaluated expression
96 + ${total_warnings} The total number of alarms in WARNING state on the host
97 + ${total_critical} The total number of alarms in CRITICAL state on the host
98 + - name: 'DEFAULT_RECIPIENT_AWSSNS'
99 + default_value: ''
100 + description: "Set `DEFAULT_RECIPIENT_AWSSNS` to the Topic ARN you noted down upon creating the Topic."
101 + required: true
102 + detailed_description: >
103 + All roles will default to this variable if left unconfigured.
104 + The `DEFAULT_RECIPIENT_AWSSNS` can be edited in the following entries at the bottom of the same file:
105 + ```
106 + role_recipients_awssns[sysadmin]="arn:aws:sns:us-east-2:123456789012:Systems"
107 + role_recipients_awssns[domainadmin]="arn:aws:sns:us-east-2:123456789012:Domains"
108 + role_recipients_awssns[dba]="arn:aws:sns:us-east-2:123456789012:Databases"
109 + role_recipients_awssns[webmaster]="arn:aws:sns:us-east-2:123456789012:Development"
110 + role_recipients_awssns[proxyadmin]="arn:aws:sns:us-east-2:123456789012:Proxy"
111 + role_recipients_awssns[sitemgr]="arn:aws:sns:us-east-2:123456789012:Sites"
112 + ```
113 + examples:
114 + folding:
115 + enabled: true
116 + title: ''
117 + list:
118 + - name: 'Basic Configuration'
119 + folding:
120 + enabled: false
121 + description: ''
122 + config: |
123 + #------------------------------------------------------------------------------
124 + # Amazon SNS notifications
125 + SEND_AWSSNS="YES"
126 + AWSSNS_MESSAGE_FORMAT="${status} on ${host} at ${date}: ${chart} ${value_string}"
127 + DEFAULT_RECIPIENT_AWSSNS="arn:aws:sns:us-east-2:123456789012:MyTopic"
health/notifications/custom/metadata.yaml new
+165
@@ -0,0 +1,165 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-custom'
4 + meta:
5 + name: 'Custom'
6 + link: ''
7 + categories:
8 + - notify.agent
9 + icon_filename: 'custom.png'
10 + keywords:
11 + - custom
12 + overview:
13 + notification_description: |
14 + Netdata Agent's alert notification feature allows you to send custom notifications to any endpoint you choose.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - Access to the terminal where Netdata Agent is running
22 + configuration:
23 + file:
24 + name: 'health_alarm_notify.conf'
25 + options:
26 + description: 'The following options can be defined for this notification'
27 + folding:
28 + title: 'Config Options'
29 + enabled: true
30 + list:
31 + - name: 'SEND_CUSTOM'
32 + default_value: 'YES'
33 + description: "Set `SEND_CUSTOM` to YES"
34 + required: true
35 + - name: 'DEFAULT_RECIPIENT_CUSTOM'
36 + default_value: ''
37 + description: "The `DEFAULT_RECIPIENT_CUSTOM` value is dependent on how you handle the `${to}` variable inside the `custom_sender()` function."
38 + required: true
39 + detailed_description: >
40 + All roles will default to this variable if left unconfigured. You can edit `DEFAULT_RECIPIENT_CUSTOM` with the variable you want, in the following entries at the bottom of the same file:
41 + ```
42 + role_recipients_custom[sysadmin]="systems"
43 + role_recipients_custom[domainadmin]="domains"
44 + role_recipients_custom[dba]="databases systems"
45 + role_recipients_custom[webmaster]="marketing development"
46 + role_recipients_custom[proxyadmin]="proxy-admin"
47 + role_recipients_custom[sitemgr]="sites"
48 + ```
49 + - name: 'custom_sender()'
50 + default_value: ''
51 + description: "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."
52 + required: false
53 + detailed_description: >
54 + The following is a sample custom_sender() function in health_alarm_notify.conf, to send an SMS via an imaginary HTTPS endpoint to the SMS gateway:
55 + ```
56 + custom_sender() {
57 + # example human readable SMS
58 + local msg="${host} ${status_message}: ${alarm} ${raised_for}"
59 +
60 + # limit it to 160 characters and encode it for use in a URL
61 + urlencode "${msg:0:160}" >/dev/null; msg="${REPLY}"
62 +
63 + # a space separated list of the recipients to send alarms to
64 + to="${1}"
65 +
66 + for phone in ${to}; do
67 + httpcode=$(docurl -X POST \
68 + --data-urlencode "From=XXX" \
69 + --data-urlencode "To=${phone}" \
70 + --data-urlencode "Body=${msg}" \
71 + -u "${accountsid}:${accounttoken}" \
72 + https://domain.website.com/)
73 +
74 + if [ "${httpcode}" = "200" ]; then
75 + info "sent custom notification ${msg} to ${phone}"
76 + sent=$((sent + 1))
77 + else
78 + error "failed to send custom notification ${msg} to ${phone} with HTTP error code ${httpcode}."
79 + fi
80 + done
81 + }
82 + ```
83 + The supported variables that you can use for the function's msg variable are:
84 + ```
85 + Variable name Description
86 + ${alarm} Like "name = value units"
87 + ${status_message} Like "needs attention", "recovered", "is critical"
88 + ${severity} Like "Escalated to CRITICAL", "Recovered from WARNING"
89 + ${raised_for} Like "(alarm was raised for 10 minutes)"
90 + ${host} The host generated this event
91 + ${url_host} Same as ${host} but URL encoded
92 + ${unique_id} The unique id of this event
93 + ${alarm_id} The unique id of the alarm that generated this event
94 + ${event_id} The incremental id of the event, for this alarm id
95 + ${when} The timestamp this event occurred
96 + ${name} The name of the alarm, as given in netdata health.d entries
97 + ${url_name} Same as ${name} but URL encoded
98 + ${chart} The name of the chart (type.id)
99 + ${url_chart} Same as ${chart} but URL encoded
100 + ${family} The family of the chart
101 + ${url_family} Same as ${family} but URL encoded
102 + ${status} The current status : REMOVED, UNINITIALIZED, UNDEFINED, CLEAR, WARNING, CRITICAL
103 + ${old_status} The previous status: REMOVED, UNINITIALIZED, UNDEFINED, CLEAR, WARNING, CRITICAL
104 + ${value} The current value of the alarm
105 + ${old_value} The previous value of the alarm
106 + ${src} The line number and file the alarm has been configured
107 + ${duration} The duration in seconds of the previous alarm state
108 + ${duration_txt} Same as ${duration} for humans
109 + ${non_clear_duration} The total duration in seconds this is/was non-clear
110 + ${non_clear_duration_txt} Same as ${non_clear_duration} for humans
111 + ${units} The units of the value
112 + ${info} A short description of the alarm
113 + ${value_string} Friendly value (with units)
114 + ${old_value_string} Friendly old value (with units)
115 + ${image} The URL of an image to represent the status of the alarm
116 + ${color} A color in AABBCC format for the alarm
117 + ${goto_url} The URL the user can click to see the netdata dashboard
118 + ${calc_expression} The expression evaluated to provide the value for the alarm
119 + ${calc_param_values} The value of the variables in the evaluated expression
120 + ${total_warnings} The total number of alarms in WARNING state on the host
121 + ${total_critical} The total number of alarms in CRITICAL state on the host
122 + ```
123 + examples:
124 + folding:
125 + enabled: true
126 + title: ''
127 + list:
128 + - name: 'Basic Configuration'
129 + folding:
130 + enabled: false
131 + description: ''
132 + config: |
133 + #------------------------------------------------------------------------------
134 + # custom notifications
135 +
136 + SEND_CUSTOM="YES"
137 + DEFAULT_RECIPIENT_CUSTOM=""
138 +
139 + # The custom_sender() is a custom function to do whatever you need to do
140 + custom_sender() {
141 + # example human readable SMS
142 + local msg="${host} ${status_message}: ${alarm} ${raised_for}"
143 +
144 + # limit it to 160 characters and encode it for use in a URL
145 + urlencode "${msg:0:160}" >/dev/null; msg="${REPLY}"
146 +
147 + # a space separated list of the recipients to send alarms to
148 + to="${1}"
149 +
150 + for phone in ${to}; do
151 + httpcode=$(docurl -X POST \
152 + --data-urlencode "From=XXX" \
153 + --data-urlencode "To=${phone}" \
154 + --data-urlencode "Body=${msg}" \
155 + -u "${accountsid}:${accounttoken}" \
156 + https://domain.website.com/)
157 +
158 + if [ "${httpcode}" = "200" ]; then
159 + info "sent custom notification ${msg} to ${phone}"
160 + sent=$((sent + 1))
161 + else
162 + error "failed to send custom notification ${msg} to ${phone} with HTTP error code ${httpcode}."
163 + fi
164 + done
165 + }
health/notifications/discord/metadata.yaml new
+73
@@ -0,0 +1,73 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-discord'
4 + meta:
5 + name: 'Discord'
6 + link: 'https://discord.com/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'discord.png'
10 + keywords:
11 + - Discord
12 + overview:
13 + notification_description: |
14 + Send notifications to Discord using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - The incoming webhook URL as given by Discord. Create a webhook by following the official [Discord documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks). You can use the same on all your Netdata servers (or you can have multiple if you like - your decision).
22 + - One or more Discord channels to post the messages to
23 + - Access to the terminal where Netdata Agent is running
24 + configuration:
25 + file:
26 + name: 'health_alarm_notify.conf'
27 + options:
28 + description: 'The following options can be defined for this notification'
29 + folding:
30 + title: 'Config Options'
31 + enabled: true
32 + list:
33 + - name: 'SEND_DISCORD'
34 + default_value: 'YES'
35 + description: "Set `SEND_DISCORD` to YES"
36 + required: true
37 + - name: 'DISCORD_WEBHOOK_URL'
38 + default_value: ''
39 + description: "set `DISCORD_WEBHOOK_URL` to your webhook URL."
40 + required: true
41 + - name: 'DEFAULT_RECIPIENT_DISCORD'
42 + default_value: ''
43 + description: "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`. "
44 + required: true
45 + detailed_description: >
46 + All roles will default to this variable if left unconfigured.
47 + You can then have different channels per role, by editing `DEFAULT_RECIPIENT_DISCORD` with the channel you want, in the following entries at the bottom of the same file:
48 + ```
49 + role_recipients_discord[sysadmin]="systems"
50 + role_recipients_discord[domainadmin]="domains"
51 + role_recipients_discord[dba]="databases systems"
52 + role_recipients_discord[webmaster]="marketing development"
53 + role_recipients_discord[proxyadmin]="proxy-admin"
54 + role_recipients_discord[sitemgr]="sites"
55 + ```
56 +
57 + The values you provide should already exist as Discord channels in your server.
58 + examples:
59 + folding:
60 + enabled: true
61 + title: ''
62 + list:
63 + - name: 'Basic Configuration'
64 + folding:
65 + enabled: false
66 + description: ''
67 + config: |
68 + #------------------------------------------------------------------------------
69 + # discord (discordapp.com) global notification options
70 +
71 + SEND_DISCORD="YES"
72 + DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/XXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
73 + DEFAULT_RECIPIENT_DISCORD="alerts"
health/notifications/dynatrace/metadata.yaml new
+89
@@ -0,0 +1,89 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-dynatrace'
4 + meta:
5 + name: 'Dynatrace'
6 + link: 'https://dynatrace.com'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'dynatrace.png'
10 + keywords:
11 + - Dynatrace
12 + overview:
13 + notification_description: |
14 + Dynatrace allows you to receive notifications using their Events REST API. See the [Dynatrace documentation](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/events-v2/post-event) about POSTing an event in the Events API for more details.
15 + You can send notifications to Dynatrace using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
16 + notification_limitations: ''
17 + setup:
18 + prerequisites:
19 + list:
20 + - title: ''
21 + description: |
22 + - A Dynatrace Server. You can use the same on all your Netdata servers but make sure the server is network visible from your Netdata hosts. The Dynatrace server should be with protocol prefixed (http:// or https://), for example: https://monitor.example.com.
23 + - An API Token. Generate a secure access API token that enables access to your Dynatrace monitoring data via the REST-based API. See [Dynatrace API - Authentication](https://www.dynatrace.com/support/help/extend-dynatrace/dynatrace-api/basics/dynatrace-api-authentication/) for more details.
24 + - An API Space. This is the URL part of the page you have access in order to generate the API Token. For example, the URL for a generated API token might look like: https://monitor.illumineit.com/e/2a93fe0e-4cd5-469a-9d0d-1a064235cfce/#settings/integration/apikeys;gf=all In that case, the Space is 2a93fe0e-4cd5-469a-9d0d-1a064235cfce.
25 + - A Server Tag. To generate one on your Dynatrace Server, go to Settings --> Tags --> Manually applied tags and create the Tag. The Netdata alarm is sent as a Dynatrace Event to be correlated with all those hosts tagged with this Tag you have created.
26 + - Terminal access to the Agent you wish to configure
27 + configuration:
28 + file:
29 + name: 'health_alarm_notify.conf'
30 + options:
31 + description: 'The following options can be defined for this notification'
32 + folding:
33 + title: 'Config Options'
34 + enabled: true
35 + list:
36 + - name: 'SEND_DYNATRACE'
37 + default_value: 'YES'
38 + description: "Set `SEND_DYNATRACE` to YES"
39 + required: true
40 + - name: 'DYNATRACE_SERVER'
41 + default_value: ''
42 + description: "Set `DYNATRACE_SERVER` to the Dynatrace server with the protocol prefix, for example `https://monitor.example.com`."
43 + required: true
44 + - name: 'DYNATRACE_TOKEN'
45 + default_value: ''
46 + description: "Set `DYNATRACE_TOKEN` to your Dynatrace API authentication token"
47 + required: true
48 + - name: 'DYNATRACE_SPACE'
49 + default_value: ''
50 + description: "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."
51 + required: true
52 + detailed_description: >
53 + For example, the URL for a generated API token might look like: https://monitor.illumineit.com/e/2a93fe0e-4cd5-469a-9d0d-1a064235cfce/#settings/integration/apikeys;gf=all In that case, the Space is 2a93fe0e-4cd5-469a-9d0d-1a064235cfce.
54 + - name: 'DYNATRACE_TAG_VALUE'
55 + default_value: ''
56 + description: "Set `DYNATRACE_TAG_VALUE` to your Dynatrace Server Tag."
57 + required: true
58 + - name: 'DYNATRACE_ANNOTATION_TYPE'
59 + default_value: 'Netdata Alarm'
60 + description: "`DYNATRACE_ANNOTATION_TYPE` can be left to its default value Netdata Alarm, but you can change it to better fit your needs."
61 + required: false
62 + - name: 'DYNATRACE_EVENT'
63 + default_value: 'Netdata Alarm'
64 + description: "Set `DYNATRACE_EVENT` to the Dynatrace eventType you want."
65 + required: false
66 + detailed_description: >
67 + `AVAILABILITY_EVENT`, `CUSTOM_ALERT`, `CUSTOM_ANNOTATION`, `CUSTOM_CONFIGURATION`, `CUSTOM_DEPLOYMENT`, `CUSTOM_INFO`, `ERROR_EVENT`,
68 + `MARKED_FOR_TERMINATION`, `PERFORMANCE_EVENT`, `RESOURCE_CONTENTION_EVENT`.
69 + You can read more [here](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/events-v2/post-event#request-body-objects).
70 + examples:
71 + folding:
72 + enabled: true
73 + title: ''
74 + list:
75 + - name: 'Basic Configuration'
76 + folding:
77 + enabled: false
78 + description: ''
79 + config: |
80 + #------------------------------------------------------------------------------
81 + # Dynatrace global notification options
82 +
83 + SEND_DYNATRACE="YES"
84 + DYNATRACE_SERVER="https://monitor.example.com"
85 + DYNATRACE_TOKEN="XXXXXXX"
86 + DYNATRACE_SPACE="2a93fe0e-4cd5-469a-9d0d-1a064235cfce"
87 + DYNATRACE_TAG_VALUE="SERVERTAG"
88 + DYNATRACE_ANNOTATION_TYPE="Netdata Alert"
89 + DYNATRACE_EVENT="AVAILABILITY_EVENT"
health/notifications/email/metadata.yaml new
+70
@@ -0,0 +1,70 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-email'
4 + meta:
5 + name: 'Email'
6 + link: ''
7 + categories:
8 + - notify.agent
9 + icon_filename: 'email.png'
10 + keywords:
11 + - email
12 + overview:
13 + notification_description: |
14 + Send notifications via Email using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - A working sendmail command is required for email alerts to work. Almost all MTAs provide a sendmail interface. Netdata sends all emails as user netdata, so make sure your sendmail works for local users.
22 + - Access to the terminal where Netdata Agent is running
23 + configuration:
24 + file:
25 + name: 'health_alarm_notify.conf'
26 + options:
27 + description: 'The following options can be defined for this notification'
28 + folding:
29 + title: 'Config Options'
30 + enabled: true
31 + list:
32 + - name: 'EMAIL_SENDER'
33 + default_value: 'netdata'
34 + description: "You can change `EMAIL_SENDER` to the email address sending the notifications."
35 + required: false
36 + - name: 'SEND_EMAIL'
37 + default_value: 'YES'
38 + description: "Set `SEND_EMAIL` to YES"
39 + required: true
40 + - name: 'DEFAULT_RECIPIENT_EMAIL'
41 + default_value: 'root'
42 + description: "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`."
43 + required: true
44 + detailed_description: >
45 + All roles will default to this variable if left unconfigured.
46 + The `DEFAULT_RECIPIENT_CUSTOM` can be edited in the following entries at the bottom of the same file:
47 + ```
48 + role_recipients_email[sysadmin]="systems@example.com"
49 + role_recipients_email[domainadmin]="domains@example.com"
50 + role_recipients_email[dba]="databases@example.com systems@example.com"
51 + role_recipients_email[webmaster]="marketing@example.com development@example.com"
52 + role_recipients_email[proxyadmin]="proxy-admin@example.com"
53 + role_recipients_email[sitemgr]="sites@example.com"
54 + ```
55 + examples:
56 + folding:
57 + enabled: true
58 + title: ''
59 + list:
60 + - name: 'Basic Configuration'
61 + folding:
62 + enabled: false
63 + description: ''
64 + config: |
65 + #------------------------------------------------------------------------------
66 + # email global notification options
67 +
68 + EMAIL_SENDER="example@domain.com"
69 + SEND_EMAIL="YES"
70 + DEFAULT_RECIPIENT_EMAIL="recipient@example.com"
health/notifications/flock/metadata.yaml new
+69
@@ -0,0 +1,69 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-flock'
4 + meta:
5 + name: 'Flock'
6 + link: 'https://support.flock.com/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'flock.png'
10 + keywords:
11 + - Flock
12 + overview:
13 + notification_description: |
14 + Send notifications to Flock using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - The incoming webhook URL as given by flock.com. You can use the same on all your Netdata servers (or you can have multiple if you like). Read more about flock webhooks and how to get one [here](https://admin.flock.com/webhooks).
22 + - Access to the terminal where Netdata Agent is running
23 + configuration:
24 + file:
25 + name: 'health_alarm_notify.conf'
26 + options:
27 + description: 'The following options can be defined for this notification'
28 + folding:
29 + title: 'Config Options'
30 + enabled: true
31 + list:
32 + - name: 'SEND_FLOCK'
33 + default_value: 'YES'
34 + description: "Set `SEND_FLOCK` to YES"
35 + required: true
36 + - name: 'FLOCK_WEBHOOK_URL'
37 + default_value: ''
38 + description: "set `FLOCK_WEBHOOK_URL` to your webhook URL."
39 + required: true
40 + - name: 'DEFAULT_RECIPIENT_FLOCK'
41 + default_value: ''
42 + description: "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."
43 + required: true
44 + detailed_description: >
45 + You can have different channels per role, by editing DEFAULT_RECIPIENT_FLOCK with the channel you want, in the following entries at the bottom of the same file:
46 + ```
47 + role_recipients_flock[sysadmin]="systems"
48 + role_recipients_flock[domainadmin]="domains"
49 + role_recipients_flock[dba]="databases systems"
50 + role_recipients_flock[webmaster]="marketing development"
51 + role_recipients_flock[proxyadmin]="proxy-admin"
52 + role_recipients_flock[sitemgr]="sites"
53 + ```
54 + examples:
55 + folding:
56 + enabled: true
57 + title: ''
58 + list:
59 + - name: 'Basic Configuration'
60 + folding:
61 + enabled: false
62 + description: ''
63 + config: |
64 + #------------------------------------------------------------------------------
65 + # flock (flock.com) global notification options
66 +
67 + SEND_FLOCK="YES"
68 + FLOCK_WEBHOOK_URL="https://api.flock.com/hooks/sendMessage/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
69 + DEFAULT_RECIPIENT_FLOCK="alarms"
health/notifications/gotify/metadata.yaml new
+57
@@ -0,0 +1,57 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-gotify'
4 + meta:
5 + name: 'Gotify'
6 + link: 'https://gotify.net/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'gotify.png'
10 + keywords:
11 + - gotify
12 + overview:
13 + notification_description: |
14 + [Gotify](https://gotify.net/) is a self-hosted push notification service created for sending and receiving messages in real time.
15 + You can send alerts to your Gotify instance using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
16 + notification_limitations: ''
17 + setup:
18 + prerequisites:
19 + list:
20 + - title: ''
21 + description: |
22 + - An application token. You can generate a new token in the Gotify Web UI.
23 + - Access to the terminal where Netdata Agent is running
24 + configuration:
25 + file:
26 + name: 'health_alarm_notify.conf'
27 + options:
28 + description: 'The following options can be defined for this notification'
29 + folding:
30 + title: 'Config Options'
31 + enabled: true
32 + list:
33 + - name: 'SEND_GOTIFY'
34 + default_value: 'YES'
35 + description: "Set `SEND_GOTIFY` to YES"
36 + required: true
37 + - name: 'GOTIFY_APP_TOKEN'
38 + default_value: ''
39 + description: "set `GOTIFY_APP_TOKEN` to the app token you generated."
40 + required: true
41 + - name: 'GOTIFY_APP_URL'
42 + default_value: ''
43 + description: "Set `GOTIFY_APP_URL` to point to your Gotify instance, for example `https://push.example.domain/`"
44 + required: true
45 + examples:
46 + folding:
47 + enabled: true
48 + title: ''
49 + list:
50 + - name: 'Basic Configuration'
51 + folding:
52 + enabled: false
53 + description: ''
54 + config: |
55 + SEND_GOTIFY="YES"
56 + GOTIFY_APP_TOKEN="XXXXXXXXXXXXXXX"
57 + GOTIFY_APP_URL="https://push.example.domain/"
health/notifications/irc/metadata.yaml new
+99
@@ -0,0 +1,99 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-irc'
4 + meta:
5 + name: 'IRC'
6 + link: ''
7 + categories:
8 + - notify.agent
9 + icon_filename: 'irc.png'
10 + keywords:
11 + - IRC
12 + overview:
13 + notification_description: |
14 + Send notifications to IRC using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - The `nc` utility. You can set the path to it, or Netdata will search for it in your system `$PATH`.
22 + - Access to the terminal where Netdata Agent is running
23 + configuration:
24 + file:
25 + name: 'health_alarm_notify.conf'
26 + options:
27 + description: 'The following options can be defined for this notification'
28 + folding:
29 + title: 'Config Options'
30 + enabled: true
31 + list:
32 + - name: 'nc path'
33 + default_value: ''
34 + description: "Set the path for nc, otherwise Netdata will search for it in your system $PATH"
35 + required: true
36 + detailed_description: >
37 + #------------------------------------------------------------------------------
38 + # external commands
39 + #
40 + # The full path of the nc command.
41 + # If empty, the system $PATH will be searched for it.
42 + # If not found, irc notifications will be silently disabled.
43 + nc="/usr/bin/nc"
44 + - name: 'SEND_IRC'
45 + default_value: 'YES'
46 + description: "Set `SEND_IRC` YES."
47 + required: true
48 + - name: 'DEFAULT_RECIPIENT_IRC'
49 + default_value: ''
50 + description: "Set `DEFAULT_RECIPIENT_IRC` to one or more channels to post the messages to. You can define multiple channels like this: `#alarms` `#systems`."
51 + required: true
52 + - name: 'IRC_NETWORK'
53 + default_value: ''
54 + description: "Set `IRC_NETWORK` to the IRC network which your preferred channels belong to."
55 + required: true
56 + - name: 'IRC_PORT '
57 + default_value: ''
58 + description: "Set `IRC_PORT` to the IRC port to which a connection will occur."
59 + required: false
60 + - name: 'IRC_NICKNAME'
61 + default_value: ''
62 + description: "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."
63 + required: true
64 + - name: 'IRC_REALNAME'
65 + default_value: ''
66 + description: "Set `IRC_REALNAME` to the IRC realname which is required in order to make the connection."
67 + required: true
68 + - name: 'DEFAULT_RECIPIENT_IRC'
69 + default_value: ''
70 + description: "You can have different channels per role, by editing `DEFAULT_RECIPIENT_IRC` with the channel you want"
71 + required: true
72 + detailed_description: >
73 + The `DEFAULT_RECIPIENT_IRC` can be edited in the following entries at the bottom of the same file:
74 + ```
75 + role_recipients_irc[sysadmin]="#systems"
76 + role_recipients_irc[domainadmin]="#domains"
77 + role_recipients_irc[dba]="#databases #systems"
78 + role_recipients_irc[webmaster]="#marketing #development"
79 + role_recipients_irc[proxyadmin]="#proxy-admin"
80 + role_recipients_irc[sitemgr]="#sites"
81 + ```
82 + examples:
83 + folding:
84 + enabled: true
85 + title: ''
86 + list:
87 + - name: 'Basic Configuration'
88 + folding:
89 + enabled: false
90 + description: ''
91 + config: |
92 + #------------------------------------------------------------------------------
93 + # irc notification options
94 + #
95 + SEND_IRC="YES"
96 + DEFAULT_RECIPIENT_IRC="#system-alarms"
97 + IRC_NETWORK="irc.freenode.net"
98 + IRC_NICKNAME="netdata-alarm-user"
99 + IRC_REALNAME="netdata-user"
health/notifications/kavenegar/metadata.yaml new
+79
@@ -0,0 +1,79 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-kavenegar'
4 + meta:
5 + name: 'Kavenegar'
6 + link: 'https://kavenegar.com/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'kavenegar.png'
10 + keywords:
11 + - Kavenegar
12 + overview:
13 + notification_description: |
14 + [Kavenegar](https://kavenegar.com/) as service for software developers, based in Iran, provides send and receive SMS, calling voice by using its APIs.
15 + You can send notifications to Kavenegar using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
16 + notification_limitations: ''
17 + setup:
18 + prerequisites:
19 + list:
20 + - title: ''
21 + description: |
22 + - The APIKEY and Sender from http://panel.kavenegar.com/client/setting/account
23 + - Access to the terminal where Netdata Agent is running
24 + configuration:
25 + file:
26 + name: 'health_alarm_notify.conf'
27 + options:
28 + description: 'The following options can be defined for this notification'
29 + folding:
30 + title: 'Config Options'
31 + enabled: true
32 + list:
33 + - name: 'SEND_KAVENEGAR'
34 + default_value: 'YES'
35 + description: "Set `SEND_KAVENEGAR` to YES"
36 + required: true
37 + - name: 'KAVENEGAR_API_KEY'
38 + default_value: ''
39 + description: "Set `KAVENEGAR_API_KEY` to your API key."
40 + required: true
41 + - name: 'KAVENEGAR_SENDER'
42 + default_value: ''
43 + description: "Set `KAVENEGAR_SENDER` to the value of your Sender."
44 + required: true
45 + - name: 'DEFAULT_RECIPIENT_KAVENEGAR'
46 + default_value: ''
47 + description: "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."
48 + required: true
49 + detailed_description: >
50 + All roles will default to this variable if lest unconfigured.
51 +
52 + You can then have different SMS recipients per role, by editing `DEFAULT_RECIPIENT_KAVENEGAR` with the SMS recipients you want, in the following entries at the bottom of the same file:
53 + ```
54 + role_recipients_kavenegar[sysadmin]="09100000000"
55 + role_recipients_kavenegar[domainadmin]="09111111111"
56 + role_recipients_kavenegar[dba]="0922222222"
57 + role_recipients_kavenegar[webmaster]="0933333333"
58 + role_recipients_kavenegar[proxyadmin]="0944444444"
59 + role_recipients_kavenegar[sitemgr]="0955555555"
60 + ```
61 +
62 + The values you provide should be defined as environments in `/etc/alertad.conf` with `ALLOWED_ENVIRONMENTS` option.
63 + examples:
64 + folding:
65 + enabled: true
66 + title: ''
67 + list:
68 + - name: 'Basic Configuration'
69 + folding:
70 + enabled: false
71 + description: ''
72 + config: |
73 + #------------------------------------------------------------------------------
74 + # Kavenegar (Kavenegar.com) SMS options
75 +
76 + SEND_KAVENEGAR="YES"
77 + KAVENEGAR_API_KEY="XXXXXXXXXXXX"
78 + KAVENEGAR_SENDER="YYYYYYYY"
79 + DEFAULT_RECIPIENT_KAVENEGAR="0912345678"
health/notifications/matrix/metadata.yaml new
+88
@@ -0,0 +1,88 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-matrix'
4 + meta:
5 + name: 'Matrix'
6 + link: 'https://spec.matrix.org/unstable/push-gateway-api/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'matrix.png'
10 + keywords:
11 + - Matrix
12 + overview:
13 + notification_description: |
14 + Send notifications to Matrix network rooms using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - The url of the homeserver (`https://homeserver:port`).
22 + - Credentials for connecting to the homeserver, in the form of a valid access token for your account (or for a dedicated notification account). These tokens usually don't expire.
23 + - The room ids that you want to sent the notification to.
24 + - Access to the terminal where Netdata Agent is running
25 + configuration:
26 + file:
27 + name: 'health_alarm_notify.conf'
28 + options:
29 + description: 'The following options can be defined for this notification'
30 + folding:
31 + title: 'Config Options'
32 + enabled: true
33 + list:
34 + - name: 'SEND_MATRIX'
35 + default_value: 'YES'
36 + description: "Set `SEND_MATRIX` to YES"
37 + required: true
38 + - name: 'MATRIX_HOMESERVER'
39 + default_value: ''
40 + description: "set `MATRIX_HOMESERVER` to the URL of the Matrix homeserver."
41 + required: true
42 + - name: 'MATRIX_ACCESSTOKEN'
43 + default_value: ''
44 + description: "Set `MATRIX_ACCESSTOKEN` to the access token from your Matrix account."
45 + required: true
46 + detailed_description: >
47 + To obtain the access token, you can use the following curl command:
48 + ```
49 + curl -XPOST -d '{"type":"m.login.password", "user":"example", "password":"wordpass"}' "https://homeserver:8448/_matrix/client/r0/login"
50 + ```
51 + - name: 'DEFAULT_RECIPIENT_MATRIX'
52 + default_value: ''
53 + description: "Set `DEFAULT_RECIPIENT_MATRIX` to the rooms you want the alert notifications to be sent to. The format is `!roomid:homeservername`."
54 + required: true
55 + detailed_description: >
56 + The room ids are unique identifiers and can be obtained from the room settings in a Matrix client (e.g. Riot).
57 + You can define multiple rooms like this: !roomid1:homeservername `!roomid2:homeservername`.
58 + All roles will default to this variable if left unconfigured.
59 +
60 + Detailed information about the Matrix client API is available at the official site.
61 +
62 + You can then have different rooms per role, by editing DEFAULT_RECIPIENT_MATRIX with the !roomid:homeservername you want, in the following entries at the bottom of the same file:
63 +
64 + ```
65 + role_recipients_matrix[sysadmin]="!roomid1:homeservername"
66 + role_recipients_matrix[domainadmin]="!roomid2:homeservername"
67 + role_recipients_matrix[dba]="!roomid3:homeservername"
68 + role_recipients_matrix[webmaster]="!roomid4:homeservername"
69 + role_recipients_matrix[proxyadmin]="!roomid5:homeservername"
70 + role_recipients_matrix[sitemgr]="!roomid6:homeservername"
71 + ```
72 + examples:
73 + folding:
74 + enabled: true
75 + title: ''
76 + list:
77 + - name: 'Basic Configuration'
78 + folding:
79 + enabled: false
80 + description: ''
81 + config: |
82 + #------------------------------------------------------------------------------
83 + # Matrix notifications
84 +
85 + SEND_MATRIX="YES"
86 + MATRIX_HOMESERVER="https://matrix.org:8448"
87 + MATRIX_ACCESSTOKEN="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
88 + DEFAULT_RECIPIENT_MATRIX="!XXXXXXXXXXXX:matrix.org"
health/notifications/messagebird/metadata.yaml new
+76
@@ -0,0 +1,76 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-messagebird'
4 + meta:
5 + name: 'MessageBird'
6 + link: 'https://messagebird.com/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'messagebird.png'
10 + keywords:
11 + - MessageBird
12 + overview:
13 + notification_description: |
14 + Send notifications to MessageBird using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - An access key under 'API ACCESS (REST)' (you will want a live key), you can read more [here](https://developers.messagebird.com/quickstarts/sms/test-credits-api-keys/).
22 + - Access to the terminal where Netdata Agent is running
23 + configuration:
24 + file:
25 + name: 'health_alarm_notify.conf'
26 + options:
27 + description: 'The following options can be defined for this notification'
28 + folding:
29 + title: 'Config Options'
30 + enabled: true
31 + list:
32 + - name: 'SEND_MESSAGEBIRD'
33 + default_value: 'YES'
34 + description: "Set `SEND_MESSAGEBIRD` to YES"
35 + required: true
36 + - name: 'MESSAGEBIRD_ACCESS_KEY'
37 + default_value: ''
38 + description: "Set `MESSAGEBIRD_ACCESS_KEY` to your API key."
39 + required: true
40 + - name: 'MESSAGEBIRD_NUMBER'
41 + default_value: ''
42 + description: "Set `MESSAGEBIRD_NUMBER` to the MessageBird number you want to use for the alert."
43 + required: true
44 + - name: 'DEFAULT_RECIPIENT_MESSAGEBIRD'
45 + default_value: ''
46 + description: "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."
47 + required: true
48 + detailed_description: >
49 + All roles will default to this variable if left unconfigured.
50 +
51 + You can then have different recipients per role, by editing `DEFAULT_RECIPIENT_MESSAGEBIRD` with the number you want, in the following entries at the bottom of the same file:
52 + ```
53 + role_recipients_messagebird[sysadmin]="+15555555555"
54 + role_recipients_messagebird[domainadmin]="+15555555556"
55 + role_recipients_messagebird[dba]="+15555555557"
56 + role_recipients_messagebird[webmaster]="+15555555558"
57 + role_recipients_messagebird[proxyadmin]="+15555555559"
58 + role_recipients_messagebird[sitemgr]="+15555555550"
59 + ```
60 + examples:
61 + folding:
62 + enabled: true
63 + title: ''
64 + list:
65 + - name: 'Basic Configuration'
66 + folding:
67 + enabled: false
68 + description: ''
69 + config: |
70 + #------------------------------------------------------------------------------
71 + # Messagebird (messagebird.com) SMS options
72 +
73 + SEND_MESSAGEBIRD="YES"
74 + MESSAGEBIRD_ACCESS_KEY="XXXXXXXX"
75 + MESSAGEBIRD_NUMBER="XXXXXXX"
76 + DEFAULT_RECIPIENT_MESSAGEBIRD="+15555555555"
health/notifications/msteams/metadata.yaml new
+75
@@ -0,0 +1,75 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-teams'
4 + meta:
5 + name: 'Microsoft Teams'
6 + link: 'https://www.microsoft.com/en-us/microsoft-teams/log-in'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'teams.png'
10 + keywords:
11 + - Microsoft
12 + - Teams
13 + - MS teams
14 + overview:
15 + notification_description: |
16 + You can send Netdata alerts to Microsoft Teams using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
17 + notification_limitations: ''
18 + setup:
19 + prerequisites:
20 + list:
21 + - title: ''
22 + description: |
23 + - The incoming webhook URL as given by Microsoft Teams. You can use the same on all your Netdata servers (or you can have multiple if you like).
24 + - One or more channels to post the messages to
25 + - Access to the terminal where Netdata Agent is running
26 + configuration:
27 + file:
28 + name: 'health_alarm_notify.conf'
29 + options:
30 + description: 'The following options can be defined for this notification'
31 + folding:
32 + title: 'Config Options'
33 + enabled: true
34 + list:
35 + - name: 'SEND_MSTEAMS'
36 + default_value: 'YES'
37 + description: "Set `SEND_MSTEAMS` to YES"
38 + required: true
39 + - name: 'MSTEAMS_WEBHOOK_URL'
40 + default_value: ''
41 + description: "set `MSTEAMS_WEBHOOK_URL` to the incoming webhook URL as given by Microsoft Teams."
42 + required: true
43 + - name: 'DEFAULT_RECIPIENT_MSTEAMS'
44 + default_value: ''
45 + description: "Set `DEFAULT_RECIPIENT_MSTEAMS` to the encoded Microsoft Teams channel name you want the alert notifications to be sent to."
46 + required: true
47 + detailed_description: >
48 + In Microsoft Teams the channel name is encoded in the URI after /IncomingWebhook/. You can define multiple channels like this: CHANNEL1 CHANNEL2.
49 + All roles will default to this variable if left unconfigured.
50 +
51 + You can then have different channels per role, by editing `DEFAULT_RECIPIENT_MSTEAMS` with the channel you want, in the following entries at the bottom of the same file:
52 + ```
53 + role_recipients_msteams[sysadmin]="CHANNEL1"
54 + role_recipients_msteams[domainadmin]="CHANNEL2"
55 + role_recipients_msteams[dba]="databases CHANNEL3"
56 + role_recipients_msteams[webmaster]="CHANNEL4"
57 + role_recipients_msteams[proxyadmin]="CHANNEL5"
58 + role_recipients_msteams[sitemgr]="CHANNEL6"
59 + ```
60 + examples:
61 + folding:
62 + enabled: true
63 + title: ''
64 + list:
65 + - name: 'Basic Configuration'
66 + folding:
67 + enabled: false
68 + description: ''
69 + config: |
70 + #------------------------------------------------------------------------------
71 + # Microsoft Teams (office.com) global notification options
72 +
73 + SEND_MSTEAMS="YES"
74 + MSTEAMS_WEBHOOK_URL="https://outlook.office.com/webhook/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX@XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/IncomingWebhook/CHANNEL/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
75 + DEFAULT_RECIPIENT_MSTEAMS="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
health/notifications/ntfy/metadata.yaml new
+67
@@ -0,0 +1,67 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-ntfy'
4 + meta:
5 + name: 'ntfy'
6 + link: 'https://ntfy.sh/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'ntfy.png'
10 + keywords:
11 + - ntfy
12 + overview:
13 + notification_description: |
14 + [ntfy](https://ntfy.sh/) (pronounce: notify) is a simple HTTP-based [pub-sub](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) notification service. It allows you to send notifications to your phone or desktop via scripts from any computer, entirely without signup, cost or setup. It's also [open source](https://github.com/binwiederhier/ntfy) if you want to run your own server.
15 + You can send alerts to an ntfy server using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
16 + notification_limitations: ''
17 + setup:
18 + prerequisites:
19 + list:
20 + - title: ''
21 + description: |
22 + - (Optional) A [self-hosted ntfy server](https://docs.ntfy.sh/faq/#can-i-self-host-it), in case you don't want to use https://ntfy.sh
23 + - A new [topic](https://ntfy.sh/#subscribe) for the notifications to be published to
24 + - Access to the terminal where Netdata Agent is running
25 + configuration:
26 + file:
27 + name: 'health_alarm_notify.conf'
28 + options:
29 + description: 'The following options can be defined for this notification'
30 + folding:
31 + title: 'Config Options'
32 + enabled: true
33 + list:
34 + - name: 'SEND_NTFY'
35 + default_value: 'YES'
36 + description: "Set `SEND_NTFY` to YES"
37 + required: true
38 + - name: 'DEFAULT_RECIPIENT_NTFY'
39 + default_value: ''
40 + description: "Set `DEFAULT_RECIPIENT_NTFY` to the URL formed by the server-topic combination you want the alert notifications to be sent to. Unless you are hosting your own server, the server should always be set to https://ntfy.sh."
41 + required: true
42 + detailed_description: >
43 + You can define multiple recipient URLs like this: https://SERVER1/TOPIC1 https://SERVER2/TOPIC2
44 +
45 + All roles will default to this variable if left unconfigured.
46 +
47 + You can then have different servers and/or topics per role, by editing DEFAULT_RECIPIENT_NTFY with the server-topic combination you want, in the following entries at the bottom of the same file:
48 + ```
49 + role_recipients_ntfy[sysadmin]="https://SERVER1/TOPIC1"
50 + role_recipients_ntfy[domainadmin]="https://SERVER2/TOPIC2"
51 + role_recipients_ntfy[dba]="https://SERVER3/TOPIC3"
52 + role_recipients_ntfy[webmaster]="https://SERVER4/TOPIC4"
53 + role_recipients_ntfy[proxyadmin]="https://SERVER5/TOPIC5"
54 + role_recipients_ntfy[sitemgr]="https://SERVER6/TOPIC6"
55 + ```
56 + examples:
57 + folding:
58 + enabled: true
59 + title: ''
60 + list:
61 + - name: 'Basic Configuration'
62 + folding:
63 + enabled: false
64 + description: ''
65 + config: |
66 + SEND_NTFY="YES"
67 + DEFAULT_RECIPIENT_NTFY="https://ntfy.sh/netdata-X7seHg7d3Tw9zGOk https://ntfy.sh/netdata-oIPm4IK1IlUtlA30"
health/notifications/opsgenie/metadata.yaml new
+57
@@ -0,0 +1,57 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-opsgenie'
4 + meta:
5 + name: 'OpsGenie'
6 + link: 'https://www.atlassian.com/software/opsgenie'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'opsgenie.png'
10 + keywords:
11 + - OpsGenie
12 + overview:
13 + notification_description: |
14 + Opsgenie is an alerting and incident response tool. It is designed to group and filter alarms, build custom routing rules for on-call teams, and correlate deployments and commits to incidents.
15 + You can send notifications to Opsgenie using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
16 + notification_limitations: ''
17 + setup:
18 + prerequisites:
19 + list:
20 + - title: ''
21 + description: |
22 + - An Opsgenie integration. You can create an [integration](https://docs.opsgenie.com/docs/api-integration) in the [Opsgenie](https://www.atlassian.com/software/opsgenie) dashboard.
23 + - Access to the terminal where Netdata Agent is running
24 + configuration:
25 + file:
26 + name: 'health_alarm_notify.conf'
27 + options:
28 + description: 'The following options can be defined for this notification'
29 + folding:
30 + title: 'Config Options'
31 + enabled: true
32 + list:
33 + - name: 'SEND_OPSGENIE'
34 + default_value: 'YES'
35 + description: "Set `SEND_OPSGENIE` to YES"
36 + required: true
37 + - name: 'OPSGENIE_API_KEY'
38 + default_value: ''
39 + description: "Set `OPSGENIE_API_KEY` to your API key."
40 + required: true
41 + - name: 'OPSGENIE_API_URL'
42 + default_value: 'https://api.opsgenie.com'
43 + description: "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`."
44 + required: false
45 + examples:
46 + folding:
47 + enabled: true
48 + title: ''
49 + list:
50 + - name: 'Basic Configuration'
51 + folding:
52 + enabled: false
53 + description: ''
54 + config: |
55 + SEND_OPSGENIE="YES"
56 + OPSGENIE_API_KEY="11111111-2222-3333-4444-555555555555"
57 + OPSGENIE_API_URL=""
health/notifications/pagerduty/metadata.yaml new
+70
@@ -0,0 +1,70 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-pagerduty'
4 + meta:
5 + name: 'PagerDuty'
6 + link: 'https://www.pagerduty.com/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'pagerduty.png'
10 + keywords:
11 + - PagerDuty
12 + overview:
13 + notification_description: |
14 + PagerDuty is an enterprise incident resolution service that integrates with ITOps and DevOps monitoring stacks to improve operational reliability and agility. From enriching and aggregating events to correlating them into incidents, PagerDuty streamlines the incident management process by reducing alert noise and resolution times.
15 + You can send notifications to PagerDuty using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
16 + notification_limitations: ''
17 + setup:
18 + prerequisites:
19 + list:
20 + - title: ''
21 + description: |
22 + - An installation of the [PagerDuty](https://www.pagerduty.com/docs/guides/agent-install-guide/) agent on the node running the Netdata Agent
23 + - A PagerDuty Generic API service using either the `Events API v2` or `Events API v1`
24 + - [Add a new service](https://support.pagerduty.com/docs/services-and-integrations#section-configuring-services-and-integrations) to PagerDuty. Click Use our API directly and select either `Events API v2` or `Events API v1`. Once you finish creating the service, click on the Integrations tab to find your Integration Key.
25 + - Access to the terminal where Netdata Agent is running
26 + configuration:
27 + file:
28 + name: 'health_alarm_notify.conf'
29 + options:
30 + description: 'The following options can be defined for this notification'
31 + folding:
32 + title: 'Config Options'
33 + enabled: true
34 + list:
35 + - name: 'SEND_PD'
36 + default_value: 'YES'
37 + description: "Set `SEND_PD` to YES"
38 + required: true
39 + - name: 'DEFAULT_RECIPIENT_PD'
40 + default_value: ''
41 + description: "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`."
42 + required: true
43 + detailed_description: >
44 + All roles will default to this variable if left unconfigured.
45 +
46 + The `DEFAULT_RECIPIENT_PD` can be edited in the following entries at the bottom of the same file:
47 + ```
48 + role_recipients_pd[sysadmin]="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxa"
49 + role_recipients_pd[domainadmin]="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxb"
50 + role_recipients_pd[dba]="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc"
51 + role_recipients_pd[webmaster]="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd"
52 + role_recipients_pd[proxyadmin]="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe"
53 + role_recipients_pd[sitemgr]="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxf"
54 + ```
55 + examples:
56 + folding:
57 + enabled: true
58 + title: ''
59 + list:
60 + - name: 'Basic Configuration'
61 + folding:
62 + enabled: false
63 + description: ''
64 + config: |
65 + #------------------------------------------------------------------------------
66 + # pagerduty.com notification options
67 +
68 + SEND_PD="YES"
69 + DEFAULT_RECIPIENT_PD="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
70 + USE_PD_VERSION="2"
health/notifications/prowl/metadata.yaml new
+68
@@ -0,0 +1,68 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-prowl'
4 + meta:
5 + name: 'Prowl'
6 + link: 'https://www.prowlapp.com/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'prowl.png'
10 + keywords:
11 + - Prowl
12 + overview:
13 + notification_description: |
14 + Send notifications to Prowl using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: |
16 + - Because of how Netdata integrates with Prowl, there is a hard limit of at most 1000 notifications per hour (starting from the first notification sent). Any alerts beyond the first thousand in an hour will be dropped.
17 + - Warning messages will be sent with the 'High' priority, critical messages will be sent with the 'Emergency' priority, and all other messages will be sent with the normal priority. Opening the notification's associated URL will take you to the Netdata dashboard of the system that issued the alert, directly to the chart that it triggered on.
18 + setup:
19 + prerequisites:
20 + list:
21 + - title: ''
22 + description: |
23 + - A Prowl API key, which can be requested through the Prowl website after registering
24 + - Access to the terminal where Netdata Agent is running
25 + configuration:
26 + file:
27 + name: 'health_alarm_notify.conf'
28 + options:
29 + description: 'The following options can be defined for this notification'
30 + folding:
31 + title: 'Config Options'
32 + enabled: true
33 + list:
34 + - name: 'SEND_PROWL'
35 + default_value: 'YES'
36 + description: "Set `SEND_PROWL` to YES"
37 + required: true
38 + - name: 'DEFAULT_RECIPIENT_PROWL'
39 + default_value: ''
40 + description: "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`."
41 + required: true
42 + detailed_description: >
43 + All roles will default to this variable if left unconfigured.
44 +
45 + The `DEFAULT_RECIPIENT_PROWL` can be edited in the following entries at the bottom of the same file:
46 + ```
47 + role_recipients_prowl[sysadmin]="AAAAAAAA"
48 + role_recipients_prowl[domainadmin]="BBBBBBBBB"
49 + role_recipients_prowl[dba]="CCCCCCCCC"
50 + role_recipients_prowl[webmaster]="DDDDDDDDDD"
51 + role_recipients_prowl[proxyadmin]="EEEEEEEEEE"
52 + role_recipients_prowl[sitemgr]="FFFFFFFFFF"
53 + ```
54 + examples:
55 + folding:
56 + enabled: true
57 + title: ''
58 + list:
59 + - name: 'Basic Configuration'
60 + folding:
61 + enabled: false
62 + description: ''
63 + config: |
64 + #------------------------------------------------------------------------------
65 + # iOS Push Notifications
66 +
67 + SEND_PROWL="YES"
68 + DEFAULT_RECIPIENT_PROWL="XXXXXXXXXX"
health/notifications/pushbullet/metadata.yaml new
+73
@@ -0,0 +1,73 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-pushbullet'
4 + meta:
5 + name: 'Pushbullet'
6 + link: 'https://www.pushbullet.com/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'pushbullet.png'
10 + keywords:
11 + - Pushbullet
12 + overview:
13 + notification_description: |
14 + Send notifications to Pushbullet using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - A Pushbullet access token that can be created in your [account settings](https://www.pushbullet.com/#settings/account).
22 + - Access to the terminal where Netdata Agent is running
23 + configuration:
24 + file:
25 + name: 'health_alarm_notify.conf'
26 + options:
27 + description: 'The following options can be defined for this notification'
28 + folding:
29 + title: 'Config Options'
30 + enabled: true
31 + list:
32 + - name: 'Send_PUSHBULLET'
33 + default_value: 'YES'
34 + description: "Set `Send_PUSHBULLET` to YES"
35 + required: true
36 + - name: 'PUSHBULLET_ACCESS_TOKEN'
37 + default_value: ''
38 + description: "set `PUSHBULLET_ACCESS_TOKEN` to the access token you generated."
39 + required: true
40 + - name: 'DEFAULT_RECIPIENT_PUSHBULLET'
41 + default_value: ''
42 + description: "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."
43 + required: true
44 + detailed_description: >
45 + You can define multiple entries like this: user1@email.com user2@email.com.
46 +
47 + All roles will default to this variable if left unconfigured.
48 +
49 + The `DEFAULT_RECIPIENT_PUSHBULLET` can be edited in the following entries at the bottom of the same file:
50 + ```
51 + role_recipients_pushbullet[sysadmin]="user1@email.com"
52 + role_recipients_pushbullet[domainadmin]="user2@mail.com"
53 + role_recipients_pushbullet[dba]="#channel1"
54 + role_recipients_pushbullet[webmaster]="#channel2"
55 + role_recipients_pushbullet[proxyadmin]="user3@mail.com"
56 + role_recipients_pushbullet[sitemgr]="user4@mail.com"
57 + ```
58 + examples:
59 + folding:
60 + enabled: true
61 + title: ''
62 + list:
63 + - name: 'Basic Configuration'
64 + folding:
65 + enabled: false
66 + description: ''
67 + config: |
68 + #------------------------------------------------------------------------------
69 + # pushbullet (pushbullet.com) push notification options
70 +
71 + SEND_PUSHBULLET="YES"
72 + PUSHBULLET_ACCESS_TOKEN="XXXXXXXXX"
73 + DEFAULT_RECIPIENT_PUSHBULLET="admin1@example.com admin3@somemail.com #examplechanneltag #anotherchanneltag"
health/notifications/pushover/metadata.yaml new
+75
@@ -0,0 +1,75 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-pushover'
4 + meta:
5 + name: 'PushOver'
6 + link: 'https://pushover.net/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'pushover.png'
10 + keywords:
11 + - PushOver
12 + overview:
13 + notification_description: |
14 + Send notification to Pushover using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + - Netdata will send warning messages with priority 0 and critical messages with priority 1.
16 + - Pushover allows you to select do-not-disturb hours. The way this is configured, critical notifications will ring and vibrate your phone, even during the do-not-disturb-hours.
17 + - All other notifications will be delivered silently.
18 + notification_limitations: ''
19 + setup:
20 + prerequisites:
21 + list:
22 + - title: ''
23 + description: |
24 + - An Application token. You can use the same on all your Netdata servers.
25 + - A User token for each user you are going to send notifications to. This is the actual recipient of the notification.
26 + - Access to the terminal where Netdata Agent is running
27 + configuration:
28 + file:
29 + name: 'health_alarm_notify.conf'
30 + options:
31 + description: 'The following options can be defined for this notification'
32 + folding:
33 + title: 'Config Options'
34 + enabled: true
35 + list:
36 + - name: 'SEND_PUSHOVER'
37 + default_value: 'YES'
38 + description: "Set `SEND_PUSHOVER` to YES"
39 + required: true
40 + - name: 'PUSHOVER_WEBHOOK_URL'
41 + default_value: ''
42 + description: "set `PUSHOVER_WEBHOOK_URL` to your Pushover Application token."
43 + required: true
44 + - name: 'DEFAULT_RECIPIENT_PUSHOVER'
45 + default_value: ''
46 + description: "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`."
47 + required: true
48 + detailed_description: >
49 + All roles will default to this variable if left unconfigured.
50 +
51 + The `DEFAULT_RECIPIENT_PUSHOVER` can be edited in the following entries at the bottom of the same file:
52 + ```
53 + role_recipients_pushover[sysadmin]="USERTOKEN1"
54 + role_recipients_pushover[domainadmin]="USERTOKEN2"
55 + role_recipients_pushover[dba]="USERTOKEN3 USERTOKEN4"
56 + role_recipients_pushover[webmaster]="USERTOKEN5"
57 + role_recipients_pushover[proxyadmin]="USERTOKEN6"
58 + role_recipients_pushover[sitemgr]="USERTOKEN7"
59 + ```
60 + examples:
61 + folding:
62 + enabled: true
63 + title: ''
64 + list:
65 + - name: 'Basic Configuration'
66 + folding:
67 + enabled: false
68 + description: ''
69 + config: |
70 + #------------------------------------------------------------------------------
71 + # pushover (pushover.net) global notification options
72 +
73 + SEND_PUSHOVER="YES"
74 + PUSHOVER_APP_TOKEN="XXXXXXXXX"
75 + DEFAULT_RECIPIENT_PUSHOVER="USERTOKEN"
health/notifications/rocketchat/metadata.yaml new
+72
@@ -0,0 +1,72 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-rocketchat'
4 + meta:
5 + name: 'RocketChat'
6 + link: 'https://rocket.chat/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'rocketchat.png'
10 + keywords:
11 + - RocketChat
12 + overview:
13 + notification_description: |
14 + Send notifications to Rocket.Chat using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - The incoming webhook URL as given by RocketChat. You can use the same on all your Netdata servers (or you can have multiple if you like - your decision).
22 + - One or more channels to post the messages to
23 + - Access to the terminal where Netdata Agent is running
24 + configuration:
25 + file:
26 + name: 'health_alarm_notify.conf'
27 + options:
28 + description: 'The following options can be defined for this notification'
29 + folding:
30 + title: 'Config Options'
31 + enabled: true
32 + list:
33 + - name: 'SEND_ROCKETCHAT'
34 + default_value: 'YES'
35 + description: "Set `SEND_ROCKETCHAT` to `YES`"
36 + required: true
37 + - name: 'ROCKETCHAT_WEBHOOK_URL'
38 + default_value: ''
39 + description: "set `ROCKETCHAT_WEBHOOK_URL` to your webhook URL."
40 + required: true
41 + - name: 'DEFAULT_RECIPIENT_ROCKETCHAT'
42 + default_value: ''
43 + description: "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`."
44 + required: true
45 + detailed_description: >
46 + All roles will default to this variable if left unconfigured.
47 +
48 + The `DEFAULT_RECIPIENT_ROCKETCHAT` can be edited in the following entries at the bottom of the same file:
49 + ```
50 + role_recipients_rocketchat[sysadmin]="systems"
51 + role_recipients_rocketchat[domainadmin]="domains"
52 + role_recipients_rocketchat[dba]="databases systems"
53 + role_recipients_rocketchat[webmaster]="marketing development"
54 + role_recipients_rocketchat[proxyadmin]="proxy_admin"
55 + role_recipients_rocketchat[sitemgr]="sites"
56 + ```
57 + examples:
58 + folding:
59 + enabled: true
60 + title: ''
61 + list:
62 + - name: 'Basic Configuration'
63 + folding:
64 + enabled: false
65 + description: ''
66 + config: |
67 + #------------------------------------------------------------------------------
68 + # rocketchat (rocket.chat) global notification options
69 +
70 + SEND_ROCKETCHAT="YES"
71 + ROCKETCHAT_WEBHOOK_URL="<your_incoming_webhook_url>"
72 + DEFAULT_RECIPIENT_ROCKETCHAT="monitoring_alarms"
health/notifications/slack/metadata.yaml new
+60
@@ -0,0 +1,60 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-slack'
4 + meta:
5 + name: 'Slack'
6 + link: 'https://slack.com/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'slack.png'
10 + keywords:
11 + - Slack
12 + overview:
13 + notification_description: |
14 + Send notifications to a Slack workspace using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - Slack app along with an incoming webhook, read Slack's guide on the topic [here](https://api.slack.com/messaging/webhooks).
22 + - One or more channels to post the messages to
23 + - Access to the terminal where Netdata Agent is running
24 + configuration:
25 + file:
26 + name: 'health_alarm_notify.conf'
27 + options:
28 + description: 'The following options can be defined for this notification'
29 + folding:
30 + title: 'Config Options'
31 + enabled: true
32 + list:
33 + - name: 'SEND_SLACK'
34 + default_value: 'YES'
35 + description: "Set `SEND_SLACK` to YES"
36 + required: true
37 + - name: 'SLACK_WEBHOOK_URL'
38 + default_value: ''
39 + description: "set `SLACK_WEBHOOK_URL` to your Slack app's webhook URL."
40 + required: true
41 + - name: 'DEFAULT_RECIPIENT_SLACK'
42 + default_value: ''
43 + description: "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`."
44 + required: true
45 + examples:
46 + folding:
47 + enabled: true
48 + title: ''
49 + list:
50 + - name: 'Basic Configuration'
51 + folding:
52 + enabled: false
53 + description: ''
54 + config: |
55 + #------------------------------------------------------------------------------
56 + # slack (slack.com) global notification options
57 +
58 + SEND_SLACK="YES"
59 + SLACK_WEBHOOK_URL="https://hooks.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
60 + DEFAULT_RECIPIENT_SLACK="#alarms"
health/notifications/smstools3/metadata.yaml new
+81
@@ -0,0 +1,81 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-sms'
4 + meta:
5 + name: 'SMS'
6 + link: 'http://smstools3.kekekasvi.com/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'sms.png'
10 + keywords:
11 + - SMS tools 3
12 + - SMS
13 + - Messaging
14 + overview:
15 + notification_description: |
16 + Send notifications to `smstools3` using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
17 + The SMS Server Tools 3 is a SMS Gateway software which can send and receive short messages through GSM modems and mobile phones.
18 + notification_limitations: ''
19 + setup:
20 + prerequisites:
21 + list:
22 + - title: ''
23 + description: |
24 + - [Install](http://smstools3.kekekasvi.com/index.php?p=compiling) and [configure](http://smstools3.kekekasvi.com/index.php?p=configure) `smsd`
25 + - To ensure that the user `netdata` can execute `sendsms`. Any user executing `sendsms` needs to:
26 + - Have write permissions to /tmp and /var/spool/sms/outgoing
27 + - Be a member of group smsd
28 + - To ensure that the steps above are successful, just su netdata and execute sendsms phone message.
29 + - Access to the terminal where Netdata Agent is running
30 + configuration:
31 + file:
32 + name: 'health_alarm_notify.conf'
33 + options:
34 + description: 'The following options can be defined for this notification'
35 + folding:
36 + title: 'Config Options'
37 + enabled: true
38 + list:
39 + - name: 'sendsms'
40 + default_value: 'YES'
41 + description: "Set the path for `sendsms`, otherwise Netdata will search for it in your system `$PATH:`"
42 + required: true
43 + detailed_description: >
44 + # The full path of the sendsms command (smstools3).
45 + # If empty, the system $PATH will be searched for it.
46 + # If not found, SMS notifications will be silently disabled.
47 + sendsms="/usr/bin/sendsms"
48 + - name: 'SEND_SMS'
49 + default_value: ''
50 + description: "Set `SEND_SMS` to `YES`."
51 + required: true
52 + - name: 'DEFAULT_RECIPIENT_SMS'
53 + default_value: ''
54 + description: "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."
55 + required: true
56 + detailed_description: >
57 + All roles will default to this variable if left unconfigured.
58 +
59 + You can then have different phone numbers per role, by editing `DEFAULT_RECIPIENT_SMS` with the phone number you want, in the following entries at the bottom of the same file:
60 + ```
61 + role_recipients_sms[sysadmin]="PHONE1"
62 + role_recipients_sms[domainadmin]="PHONE2"
63 + role_recipients_sms[dba]="PHONE3"
64 + role_recipients_sms[webmaster]="PHONE4"
65 + role_recipients_sms[proxyadmin]="PHONE5"
66 + role_recipients_sms[sitemgr]="PHONE6"
67 + ```
68 + examples:
69 + folding:
70 + enabled: true
71 + title: ''
72 + list:
73 + - name: 'Basic Configuration'
74 + folding:
75 + enabled: false
76 + description: ''
77 + config: |
78 + #------------------------------------------------------------------------------
79 + # SMS Server Tools 3 (smstools3) global notification options
80 + SEND_SMS="YES"
81 + DEFAULT_RECIPIENT_SMS="1234567890"
health/notifications/syslog/metadata.yaml new
+85
@@ -0,0 +1,85 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-syslog'
4 + meta:
5 + name: 'syslog'
6 + link: ''
7 + categories:
8 + - notify.agent
9 + icon_filename: 'syslog.png'
10 + keywords:
11 + - syslog
12 + overview:
13 + notification_description: |
14 + Send notifications to Syslog using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - A working `logger` command for this to work. This is the case on pretty much every Linux system in existence, and most BSD systems.
22 + - Access to the terminal where Netdata Agent is running
23 + configuration:
24 + file:
25 + name: 'health_alarm_notify.conf'
26 + options:
27 + description: 'The following options can be defined for this notification'
28 + folding:
29 + title: 'Config Options'
30 + enabled: true
31 + list:
32 + - name: 'SYSLOG_FACILITY'
33 + default_value: ''
34 + description: "Set `SYSLOG_FACILITY` to the facility used for logging, by default this value is set to `local6`."
35 + required: true
36 + - name: 'DEFAULT_RECIPIENT_SYSLOG'
37 + default_value: ''
38 + description: "Set `DEFAULT_RECIPIENT_SYSLOG` to the recipient you want the alert notifications to be sent to."
39 + required: true
40 + detailed_description: >
41 + Targets are defined as follows:
42 +
43 + ```
44 + [[facility.level][@host[:port]]/]prefix
45 + ```
46 +
47 + prefix defines what the log messages are prefixed with. By default, all lines are prefixed with 'netdata'.
48 +
49 + The facility and level are the standard syslog facility and level options, for more info on them see your local logger and syslog documentation. By default, Netdata will log to the local6 facility, with a log level dependent on the type of message (crit for CRITICAL, warning for WARNING, and info for everything else).
50 +
51 + You can configure sending directly to remote log servers by specifying a host (and optionally a port). However, this has a somewhat high overhead, so it is much preferred to use your local syslog daemon to handle the forwarding of messages to remote systems (pretty much all of them allow at least simple forwarding, and most of the really popular ones support complex queueing and routing of messages to remote log servers).
52 +
53 + You can define multiple recipients like this: daemon.notice@loghost:514/netdata daemon.notice@loghost2:514/netdata.
54 + All roles will default to this variable if left unconfigured.
55 + - name: 'SEND_SYSLOG '
56 + default_value: ''
57 + description: "Set SEND_SYSLOG to YES, make sure you have everything else configured before turning this on."
58 + required: true
59 + detailed_description: >
60 + You can then have different recipients per role, by editing DEFAULT_RECIPIENT_SYSLOG with the recipient you want, in the following entries at the bottom of the same file:
61 +
62 + ```
63 + role_recipients_syslog[sysadmin]="daemon.notice@loghost1:514/netdata"
64 + role_recipients_syslog[domainadmin]="daemon.notice@loghost2:514/netdata"
65 + role_recipients_syslog[dba]="daemon.notice@loghost3:514/netdata"
66 + role_recipients_syslog[webmaster]="daemon.notice@loghost4:514/netdata"
67 + role_recipients_syslog[proxyadmin]="daemon.notice@loghost5:514/netdata"
68 + role_recipients_syslog[sitemgr]="daemon.notice@loghost6:514/netdata"
69 + ```
70 + examples:
71 + folding:
72 + enabled: true
73 + title: ''
74 + list:
75 + - name: 'Basic Configuration'
76 + folding:
77 + enabled: false
78 + description: ''
79 + config: |
80 + #------------------------------------------------------------------------------
81 + # syslog notifications
82 +
83 + SEND_SYSLOG="YES"
84 + SYSLOG_FACILITY='local6'
85 + DEFAULT_RECIPIENT_SYSLOG="daemon.notice@loghost6:514/netdata"
health/notifications/telegram/metadata.yaml new
+74
@@ -0,0 +1,74 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-telegram'
4 + meta:
5 + name: 'Telegram'
6 + link: 'https://telegram.org/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'telegram.png'
10 + keywords:
11 + - Telegram
12 + overview:
13 + notification_description: |
14 + Send notifications to Telegram using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - A bot token. To get one, contact the [@BotFather](https://t.me/BotFather) bot and send the command `/newbot` and follow the instructions. Start a conversation with your bot or invite it into a group where you want it to send messages.
22 + - The chat ID for every chat you want to send messages to. Contact the [@myidbot](https://t.me/myidbot) bot and send the `/getid` command to get your personal chat ID or invite it into a group and use the `/getgroupid` command to get the group chat ID. Group IDs start with a hyphen, supergroup IDs start with `-100`.
23 + - Alternatively, you can get the chat ID directly from the bot API. Send your bot a command in the chat you want to use, then check `https://api.telegram.org/bot{YourBotToken}/getUpdates`, eg. `https://api.telegram.org/bot111122223:7OpFlFFRzRBbrUUmIjj5HF9Ox2pYJZy5/getUpdates`
24 + - Terminal access to the Agent you wish to configure
25 + configuration:
26 + file:
27 + name: 'health_alarm_notify.conf'
28 + options:
29 + description: 'The following options can be defined for this notification'
30 + folding:
31 + title: 'Config Options'
32 + enabled: true
33 + list:
34 + - name: 'SEND_TELEGRAM'
35 + default_value: 'YES'
36 + description: "Set `SEND_TELEGRAM` to YES"
37 + required: true
38 + - name: 'TELEGRAM_BOT_TOKEN'
39 + default_value: ''
40 + description: "set `TELEGRAM_BOT_TOKEN` to your bot token."
41 + required: true
42 + - name: 'DEFAULT_RECIPIENT_TELEGRAM'
43 + default_value: ''
44 + description: "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."
45 + required: true
46 + detailed_description: >
47 + All roles will default to this variable if left unconfigured.
48 +
49 + The `DEFAULT_RECIPIENT_CUSTOM` can be edited in the following entries at the bottom of the same file:
50 +
51 + ```
52 + role_recipients_telegram[sysadmin]="49999333324"
53 + role_recipients_telegram[domainadmin]="49999333389"
54 + role_recipients_telegram[dba]="-1009999222255"
55 + role_recipients_telegram[webmaster]="-1009999222255 49999333389"
56 + role_recipients_telegram[proxyadmin]="49999333344"
57 + role_recipients_telegram[sitemgr]="49999333876"
58 + ```
59 + examples:
60 + folding:
61 + enabled: true
62 + title: ''
63 + list:
64 + - name: 'Basic Configuration'
65 + folding:
66 + enabled: false
67 + description: ''
68 + config: |
69 + #------------------------------------------------------------------------------
70 + # telegram (telegram.org) global notification options
71 +
72 + SEND_TELEGRAM="YES"
73 + TELEGRAM_BOT_TOKEN="111122223:7OpFlFFRzRBbrUUmIjj5HF9Ox2pYJZy5"
74 + DEFAULT_RECIPIENT_TELEGRAM="-100233335555"
health/notifications/twilio/metadata.yaml new
+80
@@ -0,0 +1,80 @@
1 +# yamllint disable rule:line-length
2 +---
3 +- id: 'notify-twilio'
4 + meta:
5 + name: 'Twilio'
6 + link: 'https://www.twilio.com/'
7 + categories:
8 + - notify.agent
9 + icon_filename: 'twilio.png'
10 + keywords:
11 + - Twilio
12 + overview:
13 + notification_description: |
14 + Send notifications to Twilio using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
15 + notification_limitations: ''
16 + setup:
17 + prerequisites:
18 + list:
19 + - title: ''
20 + description: |
21 + - Get your SID, and Token from https://www.twilio.com/console
22 + - Terminal access to the Agent you wish to configure
23 + configuration:
24 + file:
25 + name: 'health_alarm_notify.conf'
26 + options:
27 + description: 'The following options can be defined for this notification'
28 + folding:
29 + title: 'Config Options'
30 + enabled: true
31 + list:
32 + - name: 'SEND_TWILIO'
33 + default_value: 'YES'
34 + description: "Set `SEND_TWILIO` to YES"
35 + required: true
36 + - name: 'TWILIO_ACCOUNT_SID'
37 + default_value: ''
38 + description: "set `TWILIO_ACCOUNT_SID` to your account SID."
39 + required: true
40 + - name: 'TWILIO_ACCOUNT_TOKEN '
41 + default_value: ''
42 + description: "Set `TWILIO_ACCOUNT_TOKEN` to your account token."
43 + required: true
44 + - name: 'TWILIO_NUMBER'
45 + default_value: ''
46 + description: "Set `TWILIO_NUMBER` to your account's number."
47 + required: true
48 + - name: 'DEFAULT_RECIPIENT_TWILIO'
49 + default_value: ''
50 + description: "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."
51 + required: true
52 + detailed_description: >
53 + You can then have different recipients per role, by editing DEFAULT_RECIPIENT_TWILIO with the recipient's number you want, in the following entries at the bottom of the same file:
54 +
55 + ```
56 + role_recipients_twilio[sysadmin]="+15555555555"
57 + role_recipients_twilio[domainadmin]="+15555555556"
58 + role_recipients_twilio[dba]="+15555555557"
59 + role_recipients_twilio[webmaster]="+15555555558"
60 + role_recipients_twilio[proxyadmin]="+15555555559"
61 + role_recipients_twilio[sitemgr]="+15555555550"
62 + ```
63 + examples:
64 + folding:
65 + enabled: true
66 + title: ''
67 + list:
68 + - name: 'Basic Configuration'
69 + folding:
70 + enabled: false
71 + description: ''
72 + config: |
73 + #------------------------------------------------------------------------------
74 + # Twilio (twilio.com) SMS options
75 +
76 + SEND_TWILIO="YES"
77 + TWILIO_ACCOUNT_SID="xxxxxxxxx"
78 + TWILIO_ACCOUNT_TOKEN="xxxxxxxxxx"
79 + TWILIO_NUMBER="xxxxxxxxxxx"
80 + DEFAULT_RECIPIENT_TWILIO="+15555555555"