master
md 141 lines 4.78 KB
Rendered Raw
1 <!--startmeta
2 custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/health/notifications/syslog/README.md"
3 meta_yaml: "https://github.com/netdata/netdata/edit/master/src/health/notifications/syslog/metadata.yaml"
4 sidebar_label: "syslog"
5 learn_status: "Published"
6 learn_rel_path: "Alerts & Notifications/Notifications/Agent Dispatched Notifications"
7 keywords: ['syslog']
8 message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE NOTIFICATION'S metadata.yaml FILE"
9 endmeta-->
10
11 # syslog
12
13
14 <img src="https://netdata.cloud/img/syslog.png" width="150"/>
15
16
17 Send notifications to Syslog 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 `logger` command for this to work. This is the case on pretty much every Linux system in existence, and most BSD systems.
30 - Access to the terminal where Netdata Agent is running
31
32
33
34 ### Configuration
35
36 #### Options
37
38 The following options can be defined for this notification
39
40 <details open><summary>Config Options</summary>
41
42
43
44 | Option | Description | Default | Required |
45 |:-----|:------------|:--------|:---------:|
46 | SYSLOG_FACILITY | Set `SYSLOG_FACILITY` to the facility used for logging, by default this value is set to `local6`. | | yes |
47 | [DEFAULT_RECIPIENT_SYSLOG](#option-default-recipient-syslog) | Set `DEFAULT_RECIPIENT_SYSLOG` to the recipient you want the alert notifications to be sent to. | | yes |
48 | [SEND_SYSLOG](#option-send-syslog) | Set SEND_SYSLOG to YES, make sure you have everything else configured before turning this on. | | yes |
49
50 <a id="option-default-recipient-syslog"></a>
51 ##### DEFAULT_RECIPIENT_SYSLOG
52
53 Targets are defined as follows:
54
55 ```
56 [[facility.level][@host[:port]]/]prefix
57 ```
58
59 prefix defines what the log messages are prefixed with. By default, all lines are prefixed with 'netdata'.
60
61 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).
62
63 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).
64
65 You can define multiple recipients like this: daemon.notice@loghost:514/netdata daemon.notice@loghost2:514/netdata.
66 All roles will default to this variable if left unconfigured.
67
68
69 <a id="option-send-syslog"></a>
70 ##### SEND_SYSLOG
71
72 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:
73
74 ```text
75 role_recipients_syslog[sysadmin]="daemon.notice@loghost1:514/netdata"
76 role_recipients_syslog[domainadmin]="daemon.notice@loghost2:514/netdata"
77 role_recipients_syslog[dba]="daemon.notice@loghost3:514/netdata"
78 role_recipients_syslog[webmaster]="daemon.notice@loghost4:514/netdata"
79 role_recipients_syslog[proxyadmin]="daemon.notice@loghost5:514/netdata"
80 role_recipients_syslog[sitemgr]="daemon.notice@loghost6:514/netdata"
81 ```
82
83
84
85 </details>
86
87
88
89 #### via File
90
91 The configuration file name for this integration is `health_alarm_notify.conf`.
92
93
94 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
95 Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#locate-your-config-directory).
96
97 ```bash
98 cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
99 sudo ./edit-config health_alarm_notify.conf
100 ```
101
102 ##### Examples
103
104 ###### Basic Configuration
105
106
107
108 ```yaml
109 #------------------------------------------------------------------------------
110 # syslog notifications
111
112 SEND_SYSLOG="YES"
113 SYSLOG_FACILITY='local6'
114 DEFAULT_RECIPIENT_SYSLOG="daemon.notice@loghost6:514/netdata"
115
116 ```
117
118
119 ## Troubleshooting
120
121 ### Test Notification
122
123 You can run the following command by hand, to test alerts configuration:
124
125 ```bash
126 # become user netdata
127 sudo su -s /bin/bash netdata
128
129 # enable debugging info on the console
130 export NETDATA_ALARM_NOTIFY_DEBUG=1
131
132 # send test alarms to sysadmin
133 /usr/libexec/netdata/plugins.d/alarm-notify.sh test
134
135 # send test alarms to any role
136 /usr/libexec/netdata/plugins.d/alarm-notify.sh test "ROLE"
137 ```
138
139 Note that this will test _all_ alert mechanisms for the selected role.
140
141