Files
windows_exporter/docs/collector.smbclient.md

4.2 KiB

smbclient collector

The smbclient collector collects metrics from MS SmbClient hosts through perflib

Metric name prefix smbclient
Data source Performance Data
Counters SMB Client Shares
Enabled by default? No

Flags

None

Metrics

Name Description Type Labels
windows_smbclient_data_queue_seconds_total Seconds requests waited on queue on this share counter server, share
windows_smbclient_read_queue_seconds_total Seconds read requests waited on queue on this share counter server, share
windows_smbclient_write_queue_seconds_total Seconds write requests waited on queue on this share counter server, share
windows_smbclient_request_seconds_total Seconds waiting for requests on this share counter server, share
windows_smbclient_stalls_total The number of requests delayed based on insufficient credits on this share counter server, share
windows_smbclient_requests_queued The point in time (current) number of requests outstanding on this share gauge server, share
windows_smbclient_data_bytes_total The bytes read or written on this share counter server, share
windows_smbclient_requests_total The requests on this share counter server, share
windows_smbclient_metadata_requests_total The metadata requests on this share counter server, share
windows_smbclient_read_bytes_via_smbdirect_total The bytes read from this share via RDMA direct placement counter server, share
windows_smbclient_read_bytes_total The bytes read on this share counter server, share
windows_smbclient_read_requests_via_smbdirect_total The read requests on this share via RDMA direct placement counter server, share
windows_smbclient_read_requests_total The read requests on this share counter server, share
windows_smbclient_turbo_io_reads_total The read requests that go through Turbo I/O counter server, share
windows_smbclient_turbo_io_writes_total The write requests that go through Turbo I/O counter server, share
windows_smbclient_write_bytes_via_smbdirect_total The written bytes to this share via RDMA direct placement counter server, share
windows_smbclient_write_bytes_total The bytes written on this share counter server, share
windows_smbclient_write_requests_via_smbdirect_total The write requests to this share via RDMA direct placement counter server, share
windows_smbclient_write_requests_total The write requests on this share counter server, share
windows_smbclient_read_seconds_total Seconds waiting for read requests on this share counter server, share
windows_smbclient_write_seconds_total Seconds waiting for write requests on this share counter server, share

Windows keeps several raw counters at 32 bits: the time sums behind read_seconds_total, write_seconds_total and request_seconds_total, and the counts behind requests_total, read_requests_total, write_requests_total, metadata_requests_total, stalls_total, turbo_io_reads_total, turbo_io_writes_total, read_requests_via_smbdirect_total and write_requests_via_smbdirect_total. The collector extends them past 2^32 per share, so they don't drop back to a low value when the raw counter wraps. The extended value starts at the raw value and follows the raw counter when the share reconnects.

The time sums wrap after 2^32 ticks, about 430 seconds of summed request time, and that sum grows by one second per second for each outstanding request. The collector can only detect one wrap between two scrapes, so with about 7 or more requests outstanding on average over a 60 second scrape interval, the *_seconds_total values undercount. Scrape more often on busy shares.

Useful queries

# Average request queue length (includes read and write).
irate(windows_smbclient_data_queue_seconds_total)
# Request latency milliseconds (includes read and write).
irate(windows_smbclient_request_seconds_total) / irate(windows_smbclient_requests_total) * 1000

Alerting examples

This collector does not yet have alerting examples, we would appreciate your help adding them!