|
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
|
|