![]() |
3 лет назад | |
---|---|---|
.. | ||
alerta | 3 лет назад | |
awssns | 3 лет назад | |
custom | 3 лет назад | |
discord | 3 лет назад | |
dynatrace | 3 лет назад | |
3 лет назад | ||
flock | 3 лет назад | |
hangouts | 3 лет назад | |
irc | 3 лет назад | |
kavenegar | 3 лет назад | |
matrix | 3 лет назад | |
messagebird | 3 лет назад | |
msteams | 3 лет назад | |
opsgenie | 3 лет назад | |
pagerduty | 3 лет назад | |
prowl | 3 лет назад | |
pushbullet | 3 лет назад | |
pushover | 3 лет назад | |
rocketchat | 3 лет назад | |
slack | 3 лет назад | |
smstools3 | 3 лет назад | |
stackpulse | 3 лет назад | |
syslog | 3 лет назад | |
telegram | 3 лет назад | |
twilio | 3 лет назад | |
web | 3 лет назад | |
Makefile.am | 3 лет назад | |
README.md | 3 лет назад | |
alarm-email.sh | 6 лет назад | |
alarm-notify.sh.in | 3 лет назад | |
alarm-test.sh | 6 лет назад | |
health_alarm_notify.conf | 3 лет назад | |
health_email_recipients.conf | 6 лет назад |
The exec
line in health configuration defines an external script that will be called once
the alarm is triggered. The default script is alarm-notify.sh
.
You can change the default script globally by editing /etc/netdata/netdata.conf
.
alarm-notify.sh
is capable of sending notifications:
It uses roles. For example sysadmin
, webmaster
, dba
, etc.
Each alarm is assigned to one or more roles, using the to
line of the alarm configuration. Then alarm-notify.sh
uses
its own configuration file /etc/netdata/health_alarm_notify.conf
. To edit it on your system, run
/etc/netdata/edit-config health_alarm_notify.conf
and find the destination address of the notification for each
method.
Each role may have one or more destinations.
So, for example the sysadmin
role may send:
A
, B
and C
.#alarms
and #systems
.#alarms
and #systems
.Edit /etc/netdata/health_alarm_notify.conf
by running /etc/netdata/edit-config health_alarm_notify.conf
:
settings per notification method:
all notification methods except email, require some configuration (i.e. API keys, tokens, destination rooms, channels, etc).
recipients per role per notification method
grep sysadmin /etc/netdata/health_alarm_notify.conf
role_recipients_email[sysadmin]="${DEFAULT_RECIPIENT_EMAIL}"
role_recipients_pushover[sysadmin]="${DEFAULT_RECIPIENT_PUSHOVER}"
role_recipients_pushbullet[sysadmin]="${DEFAULT_RECIPIENT_PUSHBULLET}"
role_recipients_telegram[sysadmin]="${DEFAULT_RECIPIENT_TELEGRAM}"
role_recipients_slack[sysadmin]="${DEFAULT_RECIPIENT_SLACK}"
...
You can run the following command by hand, to test alarms configuration:
# become user netdata
su -s /bin/bash netdata
# enable debugging info on the console
export NETDATA_ALARM_NOTIFY_DEBUG=1
# send test alarms to sysadmin
/usr/libexec/netdata/plugins.d/alarm-notify.sh test
# send test alarms to any role
/usr/libexec/netdata/plugins.d/alarm-notify.sh test "ROLE"
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 need to dig even deeper, you can trace the execution with bash -x
. Note that in test mode, alarm-notify.sh calls itself with many more arguments. So first do
bash -x /usr/libexec/netdata/plugins.d/alarm-notify.sh test
Then look in the output for the alarm-notify.sh calls and run the one you want to trace with bash -x
.