drive_io

check_drive_io

Checks the disk Input / Output on the host.

Implementation

Windows Linux FreeBSD MacOSX

Examples

Default Check

check_drive_io
OK - C >20.1 MiB/s <1.4 GiB/s 41.2% |'C_read_count'=4791920c;;;0; 'C_read_bytes'=1729039767552c;;;0; 'C_read_time'=119710.31709ms;;;0; 'C_write_count'=2260624c;;;0; 'C_write_bytes'=479384686592c;;;0; 'C_write_time'=89071.67515ms;;;0; 'C

_utilization’=41.2%;95;;0; ‘C_queue_depth’=0;;;0;

Check a UNIX drive and alert if for the last 30 seconds written bytes/second is above 10 Mb/s . Dm-0 is the name of the encrypted volume, it could be nvme0n1 or sdb as well

check_drivesize lookback=30 warn="write_bytes_rate > 10Mb"
OK - dm-0 >1.8 MiB/s/s <815.0 B/s/s 0.0%, sda1 >0 B/s/s <0 B/s/s 0.0% |'dm-0_read_count'=396738362c;;;0; 'dm-0_read_bytes'=33871348975616c;;;0; 'dm-0_read_time'=2990729692ms;;;0; 'dm-0_write_count'=624158141c;;;0; 'dm-0_write_bytes'=36083702012416c;;;0; 'dm-0_write_time'=1412729952ms;;;0; 'dm-0_utilization'=0%;95;;0; 'dm-0_io_time'=738627512ms;;;0; 'dm-0_weighted_io'=108492348;;;0; 'dm-0_iops_in_progress'=0;;;0; 'sda1_read_count'=3178c;;;0; 'sda1_read_bytes'=67430400c;;;0; 'sda1_read_time'=13572ms;;;0; 'sda1_write_count'=3193c;;;0; 'sda1_write_bytes'=282012672c;;;0; 'sda1_write_time'=9446ms;;;0; 'sda1_utilization'=0%;95;;0; 'sda1_io_time'=10832ms;;;0; 'sda1_weighted_io'=23019;;;0; 'sda1_iops_in_progress'=0;;;0;

Example using NRPE and Naemon

Naemon Config

define command{
    command_name         check_nrpe
    command_line         $USER1$/check_nrpe -H $HOSTADDRESS$ -n -c $ARG1$ -a $ARG2$
}

define service {
    host_name            testhost
    service_description  check_drive_io
    use                  generic-service
    check_command        check_nrpe!check_drive_io!
}

Argument Defaults

Argument Default Value
warning utilization > 95
empty-state 3 (UNKNOWN)
empty-syntax %(status) - No drives found
top-syntax %(status) - %(list)
ok-syntax %(status) - %(list)
detail-syntax %(drive){{ IF label ne ’’ }} (%(label)){{ END }} >%(write_bytes_rate_humanized) <%(read_bytes_rate_humanized) %(utilization)%

Check Specific Arguments

Argument Description
drive Name(s) of the drives to check the IO stats for ex.: c: or / .If left empty, it will check all drives
lookback Lookback period for value change rate and utilization calculations, given in seconds. Default: 300

Attributes

Filter Keywords

these can be used in filters and thresholds (along with the default attributes):

Attribute Description
drive Name(s) of the drives to check the io stats for. If left empty, it will check all drives. For Windows this is the drive letter. For UNIX it is the logical name of the drive.
lookback Lookback period for which the value change rate and utilization is calculated.
read_count Total number of read operations completed successfully
read_count_rate Number of read operations per second during the lookback period
read_bytes Total number of bytes read from the disk
read_bytes_rate Average bytes read per second during the lookback period
read_bytes_rate_humanized Average bytes read per second during the lookback period, written in humanized format
read_time Total time spent on read operations (milliseconds).
write_count Total number of write operations completed successfully
write_count_rate Number of write operations per second during the lookback period
write_bytes Total number of bytes written to the disk
write_bytes_rate Average bytes written per second during the lookback period
write_bytes_rate_humanized Average bytes read per second during the lookback period, written in humanized format
write_time Total time spent on write operations (milliseconds).
label Label of the drive. Windows does not report this.
io_time Total time during which the disk had at least one active I/O (milliseconds). Windows does not report this.
io_time_rate Change in I/O time per second. Windows does not report this.
weighted_io Measure of both I/O completion time and the number of backlogged requests. Windows does not report this.
utilization Percentage of time the disk was busy (0-100%). Windows does not report this.
iops_in_progress Number of I/O operations currently in flight. Windows does not report this.
idle_time Count of the 100 ns periods the disk was idle. Windows only
query_time The time the performance query was sent. Count of 100 ns periods since the Win32 epoch of 01.01.1601. Windows only
queue_depth The depth of the IO queue. Windows only.
split_count The cumulative count of IOs that are associated IOs. Windows only.