# yamllint disable rule:line-length
---
- id: 'notify-syslog'
  meta:
    name: 'syslog'
    link: ''
    categories:
      - notify.agent
    icon_filename: 'syslog.png'
  keywords:
    - syslog
  overview:
    notification_description: |
      Send notifications to Syslog using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
    notification_limitations: ''
  setup:
    prerequisites:
      list:
        - title: ''
          description: |
            - A working `logger` command for this to work. This is the case on pretty much every Linux system in existence, and most BSD systems.
            - Access to the terminal where Netdata Agent is running
    configuration:
      file:
        name: 'health_alarm_notify.conf'
      options:
        description: 'The following options can be defined for this notification'
        folding:
          title: 'Config Options'
          enabled: true
        list:
          - name: 'SYSLOG_FACILITY'
            default_value: ''
            description: "Set `SYSLOG_FACILITY` to the facility used for logging, by default this value is set to `local6`."
            required: true
          - name: 'DEFAULT_RECIPIENT_SYSLOG'
            default_value: ''
            description: "Set `DEFAULT_RECIPIENT_SYSLOG` to the recipient you want the alert notifications to be sent to."
            required: true
            detailed_description: |
              Targets are defined as follows:

              ```
              [[facility.level][@host[:port]]/]prefix
              ```

              prefix defines what the log messages are prefixed with. By default, all lines are prefixed with 'netdata'.

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

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

              You can define multiple recipients like this: daemon.notice@loghost:514/netdata daemon.notice@loghost2:514/netdata.
              All roles will default to this variable if left unconfigured.
          - name: 'SEND_SYSLOG '
            default_value: ''
            description: "Set SEND_SYSLOG to YES, make sure you have everything else configured before turning this on."
            required: true
            detailed_description: |
              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:

              ```text
              role_recipients_syslog[sysadmin]="daemon.notice@loghost1:514/netdata"
              role_recipients_syslog[domainadmin]="daemon.notice@loghost2:514/netdata"
              role_recipients_syslog[dba]="daemon.notice@loghost3:514/netdata"
              role_recipients_syslog[webmaster]="daemon.notice@loghost4:514/netdata"
              role_recipients_syslog[proxyadmin]="daemon.notice@loghost5:514/netdata"
              role_recipients_syslog[sitemgr]="daemon.notice@loghost6:514/netdata"
              ```
      examples:
        folding:
          enabled: true
          title: ''
        list:
          - name: 'Basic Configuration'
            folding:
              enabled: false
            description: ''
            config: |
              #------------------------------------------------------------------------------
              # syslog notifications

              SEND_SYSLOG="YES"
              SYSLOG_FACILITY='local6'
              DEFAULT_RECIPIENT_SYSLOG="daemon.notice@loghost6:514/netdata"
  troubleshooting:
    problems:
      list: []
