master
md 133 lines 4.16 KB
Rendered Raw
1 <!--startmeta
2 custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/health/notifications/email/README.md"
3 meta_yaml: "https://github.com/netdata/netdata/edit/master/src/health/notifications/email/metadata.yaml"
4 sidebar_label: "Email"
5 learn_status: "Published"
6 learn_rel_path: "Alerts & Notifications/Notifications/Agent Dispatched Notifications"
7 keywords: ['email']
8 message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE NOTIFICATION'S metadata.yaml FILE"
9 endmeta-->
10
11 # Email
12
13
14 <img src="https://netdata.cloud/img/email.png" width="150"/>
15
16
17 Send notifications via Email using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
18
19
20 <img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />
21
22 ## Setup
23
24
25 ### Prerequisites
26
27 ####
28
29 - 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.
30 - Access to the terminal where Netdata Agent is running
31 - When running Netdata with Docker Compose the emails are sent with `msmtp`, and you need a basic configuration for it to work.
32
33 - Add a [msmtprc](https://marlam.de/msmtp/msmtprc.txt) config file on your Docker root folder, and edit it according to your needs.
34 - Link it into your Netdata container with this:
35
36 ```yaml
37 volumes:
38 - /path/to/netdata-docker/msmtprc:/etc/msmtprc:ro
39 ```
40
41 - Update your container with `docker compose up -d`.
42
43
44
45 ### Configuration
46
47 #### Options
48
49 The following options can be defined for this notification
50
51 <details open><summary>Config Options</summary>
52
53
54
55 | Option | Description | Default | Required |
56 |:-----|:------------|:--------|:---------:|
57 | EMAIL_SENDER | You can change `EMAIL_SENDER` to the email address sending the notifications. | netdata | no |
58 | SEND_EMAIL | Set `SEND_EMAIL` to YES, NO, or AUTO (enables email when sendmail is available). | AUTO | yes |
59 | [DEFAULT_RECIPIENT_EMAIL](#option-default-recipient-email) | Set `DEFAULT_RECIPIENT_EMAIL` to the email address you want the email to be sent by default. You can define multiple email addresses like this: `alarms@example.com` `systems@example.com`. | root | yes |
60
61 <a id="option-default-recipient-email"></a>
62 ##### DEFAULT_RECIPIENT_EMAIL
63
64 All roles will default to this variable if left unconfigured.
65 The `DEFAULT_RECIPIENT_CUSTOM` can be edited in the following entries at the bottom of the same file:
66 ```text
67 role_recipients_email[sysadmin]="systems@example.com"
68 role_recipients_email[domainadmin]="domains@example.com"
69 role_recipients_email[dba]="databases@example.com systems@example.com"
70 role_recipients_email[webmaster]="marketing@example.com development@example.com"
71 role_recipients_email[proxyadmin]="proxy-admin@example.com"
72 role_recipients_email[sitemgr]="sites@example.com"
73 ```
74
75
76
77 </details>
78
79
80
81 #### via File
82
83 The configuration file name for this integration is `health_alarm_notify.conf`.
84
85
86 You can edit the configuration file using the [`edit-config`](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#edit-configuration-files) script from the
87 Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#locate-your-config-directory).
88
89 ```bash
90 cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
91 sudo ./edit-config health_alarm_notify.conf
92 ```
93
94 ##### Examples
95
96 ###### Basic Configuration
97
98
99
100 ```yaml
101 #------------------------------------------------------------------------------
102 # email global notification options
103
104 EMAIL_SENDER="example@domain.com"
105 SEND_EMAIL="YES"
106 DEFAULT_RECIPIENT_EMAIL="recipient@example.com"
107
108 ```
109
110
111 ## Troubleshooting
112
113 ### Test Notification
114
115 You can run the following command by hand, to test alerts configuration:
116
117 ```bash
118 # become user netdata
119 sudo su -s /bin/bash netdata
120
121 # enable debugging info on the console
122 export NETDATA_ALARM_NOTIFY_DEBUG=1
123
124 # send test alarms to sysadmin
125 /usr/libexec/netdata/plugins.d/alarm-notify.sh test
126
127 # send test alarms to any role
128 /usr/libexec/netdata/plugins.d/alarm-notify.sh test "ROLE"
129 ```
130
131 Note that this will test _all_ alert mechanisms for the selected role.
132
133