1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- # SPDX-License-Identifier: GPL-3.0-or-later
- [Unit]
- Description=Real time performance monitoring
- # append here other services you want netdata to wait for them to start
- After=network.target network-online.target nss-lookup.target
- Wants=network-online.target nss-lookup.target
- [Service]
- LogNamespace=netdata
- Type=simple
- User=root
- RuntimeDirectory=netdata
- RuntimeDirectoryMode=0775
- PIDFile=/run/netdata/netdata.pid
- ExecStart=@sbindir_POST@/netdata -P /run/netdata/netdata.pid -D
- ExecStartPre=/bin/mkdir -p @localstatedir_POST@/cache/netdata
- ExecStartPre=/bin/chown -R @netdata_user_POST@ @localstatedir_POST@/cache/netdata
- ExecStartPre=/bin/mkdir -p /run/netdata
- ExecStartPre=/bin/chown -R @netdata_user_POST@ /run/netdata
- PermissionsStartOnly=true
- # saving a big db on slow disks may need some time
- TimeoutStopSec=150
- # restart netdata if it crashes
- Restart=on-failure
- RestartSec=30
- # Valid policies: other (the system default) | batch | idle | fifo | rr
- # To give netdata the max priority, set CPUSchedulingPolicy=rr and CPUSchedulingPriority=99
- CPUSchedulingPolicy=batch
- # This sets the scheduling priority (for policies: rr and fifo).
- # Priority gets values 1 (lowest) to 99 (highest).
- #CPUSchedulingPriority=1
- # For scheduling policy 'other' and 'batch', this sets the lowest niceness of netdata (-20 highest to 19 lowest).
- Nice=0
- # Capabilities
- # is required for freeipmi and slabinfo plugins
- CapabilityBoundingSet=CAP_DAC_OVERRIDE
- # is required for apps plugin
- CapabilityBoundingSet=CAP_DAC_READ_SEARCH
- # is required for freeipmi plugin
- CapabilityBoundingSet=CAP_FOWNER CAP_SYS_RAWIO
- # is required for apps, perf and slabinfo plugins
- CapabilityBoundingSet=CAP_SETPCAP
- # is required for perf plugin
- CapabilityBoundingSet=CAP_SYS_ADMIN CAP_PERFMON
- # is required for apps plugin
- CapabilityBoundingSet=CAP_SYS_PTRACE
- # is required for ebpf plugin
- CapabilityBoundingSet=CAP_SYS_RESOURCE
- # is required for go.d/ping app
- CapabilityBoundingSet=CAP_NET_RAW
- # is required for cgroups plugin
- CapabilityBoundingSet=CAP_SYS_CHROOT
- # is required for nfacct plugin (bandwidth accounting)
- CapabilityBoundingSet=CAP_NET_ADMIN
- # is required for plugins that use sudo
- CapabilityBoundingSet=CAP_SETGID CAP_SETUID
- # is required to change file ownership
- CapabilityBoundingSet=CAP_CHOWN
- # Sandboxing
- ProtectSystem=full
- ProtectHome=read-only
- # PrivateTmp break netdatacli functionality. See - https://github.com/netdata/netdata/issues/7587
- #PrivateTmp=true
- ProtectControlGroups=on
- # We whitelist this because it's the standard location to listen on a UNIX socket.
- ReadWriteDirectories=/run/netdata
- # This is needed to make email-based alert deliver work if Postfix is the email provider on the system.
- ReadWriteDirectories=-/var/spool/postfix/maildrop
- # LXCFS directories (https://github.com/lxc/lxcfs#lxcfs)
- # If we don't set them explicitly, systemd mounts procfs from the host. See https://github.com/netdata/netdata/issues/14238.
- BindReadOnlyPaths=-/proc/cpuinfo -/proc/diskstats -/proc/loadavg -/proc/meminfo
- BindReadOnlyPaths=-/proc/stat -/proc/swaps -/proc/uptime -/proc/slabinfo
- [Install]
- WantedBy=multi-user.target
|