Shyam Sreevalsan ff15cc2a00 Updates to metadata.yaml (#15452) 1 год назад
..
Makefile.inc d802f83e4a Fix make dist (#4401) 6 лет назад
README.md 0ae02c9fb6 Change H1 of collector docs to separate from the website (#14715) 2 лет назад
metadata.yaml ff15cc2a00 Updates to metadata.yaml (#15452) 1 год назад
metrics.csv e5a5aaa4cb Add metadata.csv to python.d.plugin (#14959) 1 год назад
samba.chart.py c35149a3b4 [python.d/samba] Only use sudo when not running as root user (#9038) 4 лет назад
samba.conf 5286dae8eb python.d.plugin update (#4936) 6 лет назад

README.md

Samba collector

Monitors the performance metrics of Samba file sharing using smbstatus command-line tool.

Executed commands:

  • sudo -n smbstatus -P

Requirements

  • smbstatus program
  • sudo program
  • smbd must be compiled with profiling enabled
  • smbd must be started either with the -P 1 option or inside smb.conf using smbd 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/sudoers file:

which smbstatus shows the full path to the binary.

netdata ALL=(root)       NOPASSWD: /path/to/smbstatus

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:

mkdir /etc/systemd/system/netdata.service.d
echo -e '[Service]\nCapabilityBoundingSet=~' | tee /etc/systemd/system/netdata.service.d/unset-capability-bounding-set.conf
systemctl daemon-reload
systemctl restart netdata.service

Charts

  1. Syscall R/Ws in kilobytes/s

    • sendfile
    • recvfile
  2. Smb2 R/Ws in kilobytes/s

    • readout
    • writein
    • readin
    • writeout
  3. Smb2 Create/Close in operations/s

    • create
    • close
  4. Smb2 Info in operations/s

    • getinfo
    • setinfo
  5. Smb2 Find in operations/s

    • find
  6. Smb2 Notify in operations/s

    • notify
  7. 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.

cd /etc/netdata   # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d.conf

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.

cd /etc/netdata   # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/samba.conf

Troubleshooting

To troubleshoot issues with the samba module, run the python.d.plugin with the debug option enabled. The output will give you the output of the data collection job or error messages on why the collector isn't working.

First, navigate to your plugins directory, usually they are located under /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the setting plugins directory. Once you're in the plugin's directory, switch to the netdata user.

cd /usr/libexec/netdata/plugins.d/
sudo su -s /bin/bash netdata

Now you can manually run the samba module in debug mode:

./python.d.plugin samba debug trace