Samba monitoring with Netdata
Monitors the performance metrics of Samba file sharing using smbstatus command-line tool.
Executed commands:
sudo -n smbstatus -P
Requirements#
smbstatusprogramsudoprogramsmbdmust be compiled with profiling enabledsmbdmust be started either with the-P 1option or insidesmb.confusingsmbd profiling level
The module uses smbstatus, which can only be executed by root. It uses
sudo and assumes that it is configured such that the netdata user can execute smbstatus as root without a
password.
- Add to your
/etc/sudoersfile:
which smbstatus shows the full path to the binary.
- Reset Netdata's systemd unit CapabilityBoundingSet (Linux distributions with systemd)
The default CapabilityBoundingSet doesn't allow using sudo, and is quite strict in general. Resetting is not optimal, but a next-best solution given the inability to execute smbstatus using sudo.
As the root user, do the following:
Charts#
Syscall R/Ws in kilobytes/s
- sendfile
- recvfile
Smb2 R/Ws in kilobytes/s
- readout
- writein
- readin
- writeout
Smb2 Create/Close in operations/s
- create
- close
Smb2 Info in operations/s
- getinfo
- setinfo
Smb2 Find in operations/s
- find
Smb2 Notify in operations/s
- notify
Smb2 Lesser Ops as counters
- tcon
- negprot
- tdis
- cancel
- logoff
- flush
- lock
- keepalive
- break
- sessetup
Enable the collector#
The samba collector is disabled by default. To enable it, use edit-config from the
Netdata config directory, which is typically at /etc/netdata, to edit the python.d.conf
file.
Change the value of the samba setting to yes. Save the file and restart the Netdata Agent with sudo systemctl
restart netdata, or the appropriate method for your system.
Configuration#
Edit the python.d/samba.conf configuration file using edit-config from the
Netdata config directory, which is typically at /etc/netdata.