summaryrefslogtreecommitdiffstats
path: root/collectors/python.d.plugin/samba/metadata.yaml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--collectors/python.d.plugin/samba/metadata.yaml205
1 files changed, 205 insertions, 0 deletions
diff --git a/collectors/python.d.plugin/samba/metadata.yaml b/collectors/python.d.plugin/samba/metadata.yaml
new file mode 100644
index 00000000..ec31e047
--- /dev/null
+++ b/collectors/python.d.plugin/samba/metadata.yaml
@@ -0,0 +1,205 @@
+plugin_name: python.d.plugin
+modules:
+ - meta:
+ plugin_name: python.d.plugin
+ module_name: samba
+ monitored_instance:
+ name: Samba
+ link: https://www.samba.org/samba/
+ categories:
+ - data-collection.storage-mount-points-and-filesystems
+ icon_filename: "samba.svg"
+ related_resources:
+ integrations:
+ list: []
+ info_provided_to_referring_integrations:
+ description: ""
+ keywords:
+ - samba
+ - file sharing
+ most_popular: false
+ overview:
+ data_collection:
+ metrics_description: "This collector monitors the performance metrics of Samba file sharing."
+ method_description: |
+ It is using the `smbstatus` command-line tool.
+
+ Executed commands:
+
+ - `sudo -n smbstatus -P`
+ supported_platforms:
+ include: []
+ exclude: []
+ multi_instance: false
+ additional_permissions:
+ description: |
+ `smbstatus` is used, 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.
+ default_behavior:
+ auto_detection:
+ description: "After all the permissions are satisfied, the `smbstatus -P` binary is executed."
+ limits:
+ description: ""
+ performance_impact:
+ description: ""
+ setup:
+ prerequisites:
+ list:
+ - title: Enable the samba collector
+ description: |
+ The `samba` collector is disabled by default. To enable it, use `edit-config` from the Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically at `/etc/netdata`, to edit the `python.d.conf` file.
+
+ ```bash
+ 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](https://github.com/netdata/netdata/blob/master/docs/configure/start-stop-restart.md) for your system.
+ - title: Permissions and programs
+ description: |
+ To run the collector you need:
+
+ - `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.
+
+ ```bash
+ netdata ALL=(root) NOPASSWD: /path/to/smbstatus
+ ```
+
+ - Reset Netdata's systemd unit [CapabilityBoundingSet](https://www.freedesktop.org/software/systemd/man/systemd.exec.html#Capabilities) (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:
+
+ ```cmd
+ 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
+ ```
+ configuration:
+ file:
+ name: python.d/samba.conf
+ options:
+ description: |
+ There are 2 sections:
+
+ * Global variables
+ * One or more JOBS that can define multiple different instances to monitor.
+
+ The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.
+
+ Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
+
+ Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
+ folding:
+ title: "Config options"
+ enabled: true
+ list:
+ - name: update_every
+ description: Sets the default data collection frequency.
+ default_value: 5
+ required: false
+ - name: priority
+ description: Controls the order of charts at the netdata dashboard.
+ default_value: 60000
+ required: false
+ - name: autodetection_retry
+ description: Sets the job re-check interval in seconds.
+ default_value: 0
+ required: false
+ - name: penalty
+ description: Indicates whether to apply penalty to update_every in case of failures.
+ default_value: yes
+ required: false
+ examples:
+ folding:
+ enabled: true
+ title: "Config"
+ list:
+ - name: Basic
+ description: A basic example configuration.
+ config: |
+ my_job_name:
+ name: my_name
+ update_every: 1
+ troubleshooting:
+ problems:
+ list: []
+ alerts: []
+ metrics:
+ folding:
+ title: Metrics
+ enabled: false
+ description: ""
+ availability: []
+ scopes:
+ - name: global
+ description: "These metrics refer to the entire monitored application."
+ labels: []
+ metrics:
+ - name: syscall.rw
+ description: R/Ws
+ unit: "KiB/s"
+ chart_type: area
+ dimensions:
+ - name: sendfile
+ - name: recvfile
+ - name: smb2.rw
+ description: R/Ws
+ unit: "KiB/s"
+ chart_type: area
+ dimensions:
+ - name: readout
+ - name: writein
+ - name: readin
+ - name: writeout
+ - name: smb2.create_close
+ description: Create/Close
+ unit: "operations/s"
+ chart_type: line
+ dimensions:
+ - name: create
+ - name: close
+ - name: smb2.get_set_info
+ description: Info
+ unit: "operations/s"
+ chart_type: line
+ dimensions:
+ - name: getinfo
+ - name: setinfo
+ - name: smb2.find
+ description: Find
+ unit: "operations/s"
+ chart_type: line
+ dimensions:
+ - name: find
+ - name: smb2.notify
+ description: Notify
+ unit: "operations/s"
+ chart_type: line
+ dimensions:
+ - name: notify
+ - name: smb2.sm_counters
+ description: Lesser Ops
+ unit: "count"
+ chart_type: stacked
+ dimensions:
+ - name: tcon
+ - name: negprot
+ - name: tdis
+ - name: cancel
+ - name: logoff
+ - name: flush
+ - name: lock
+ - name: keepalive
+ - name: break
+ - name: sessetup