You need a working sendmail
command 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.
email notifications look like this:
To edit health_alarm_notify.conf
on your system run /etc/netdata/edit-config health_alarm_notify.conf
.
You can configure recipients in /etc/netdata/health_alarm_notify.conf
.
You can also configure per role recipients in the same file, a few lines below.
Changes to this file do not require a Netdata restart.
You can test your configuration by issuing the commands:
# become user netdata
sudo su -s /bin/bash netdata
# send a test alarm
/usr/libexec/netdata/plugins.d/alarm-notify.sh test [ROLE]
Where [ROLE]
is the role you want to test. The default (if you don't give a [ROLE]
) is sysadmin
.
Note that in versions before 1.16, the plugins.d directory may be installed in a different location in certain OSs (e.g. under /usr/lib/netdata
).
You can always find the location of the alarm-notify.sh script in netdata.conf
.
If you want an alternative to sendmail
in order to have a simple MTA configuration for sending emails and auth to an existing SMTP server, you can do the following:
- Install
msmtp
. - Modify the
sendmail
path inhealth_alarm_notify.conf
to point to the location ofmstmp
:
# The full path to the sendmail command.
# If empty, the system $PATH will be searched for it.
# If not found, email notifications will be disabled (silently).
sendmail="/usr/bin/msmtp"
- Login as netdata :
(sudo) su -s /bin/bash netdata
- Configure
~/.msmtprc
as shown in the documentation. - Finaly set the appropriate permissions on the
.msmtprc
file :
chmod 600 ~/.msmtprc