diff --git a/doc/10-icinga-template-library.md b/doc/10-icinga-template-library.md index a25a30fe5..c35eed578 100644 --- a/doc/10-icinga-template-library.md +++ b/doc/10-icinga-template-library.md @@ -2621,9 +2621,27 @@ Name | Description ---------------------------|------------- running\_kernel\_use\_sudo | Whether to run the plugin with `sudo`. Defaults to false except on Ubuntu where it defaults to true. +#### iostats + +The plugin [check_iostats](https://github.com/dnsmichi/icinga-plugins/blob/master/scripts/check_iostats) is used to monitor I/O with `iostats` on a Linux host. The default thresholds are rather high so you can use a grapher for baselining before setting your own. + +Custom attributes passed as [command parameters](3-monitoring-basics.md#command-passing-parameters): + +Name | Description +---------------|----------------------------------------------------------------------------------------------------------------------- +iostats\_disk | **Required.** The device to monitor without path. e.g. sda or vda. (default: sda) +iostats\_warning\_tps | **Required.** Warning threshold for tps (default: 3000) +iostats\_warning\_read | **Required.** Warning threshold for KB/s reads (default: 50000) +iostats\_warning\_write | **Required.** Warning threshold for KB/s writes (default: 10000) +iostats\_warning\_wait | **Required.** Warning threshold for % iowait (default: 50) +iostats\_critical\_tps | **Required.** Critical threshold for tps (default: 5000) +iostats\_critical\_read | **Required.** Critical threshold for KB/s reads (default: 80000) +iostats\_critical\_write | **Required.** Critical threshold for KB/s writes (default: 25000) +iostats\_critical\_wait | **Required.** Critical threshold for % iowait (default: 80) + #### iostat -The plugin [check_iostat](https://github.com/dnsmichi/icinga-plugins/blob/master/scripts/check_iostat) is used to monitor I/O with `iostat` on a linux host. The default thresholds are rather high so you can use a grapher for baselining before setting your own. +The plugin [check_iostat](https://github.com/dnsmichi/icinga-plugins/blob/master/scripts/check_iostat) is used to monitor I/O with `iostat` on a Linux host. The default thresholds are rather high so you can use a grapher for baselining before setting your own. Custom attributes passed as [command parameters](3-monitoring-basics.md#command-passing-parameters): diff --git a/itl/plugins-contrib.d/operating-system.conf b/itl/plugins-contrib.d/operating-system.conf index 0fce013a6..3c76124ac 100644 --- a/itl/plugins-contrib.d/operating-system.conf +++ b/itl/plugins-contrib.d/operating-system.conf @@ -147,3 +147,41 @@ object CheckCommand "iostat" { vars.iostat_cread = 200 vars.iostat_cwrite = 200 } + +object CheckCommand "iostats" { + import "plugin-check-command" + command = [ PluginContribDir + "/check_iostats" ] + arguments = { + "-d" = { + value = "$iostats_disk$" + description = "Device to check without path. e.g. sda" + } + "-w" = { + value ="$iostats_warning_tps$,$iostats_warning_read$,$iostats_warning_write$" + description = "Sets the WARNING level for tps, KB_read/s and KB_written/s, respectively" + } + "-c" = { + value ="$iostats_critical_tps$,$iostats_critical_read$,$iostats_critical_write$" + description = "Sets the CRITICAL level for tps, KB_read/s and KB_written/s, respectively" + } + "-W" = { + value ="$iostats_warning_wait$" + description = "Sets the WARNING level for iowait" + } + + "-C" = { + value ="$iostats_critical_wait$" + description = "Sets the CRITICAL level for iowait" + } + } + + vars.iostats_disk = "sda" + vars.iostats_warning_tps = 3000 + vars.iostats_warning_read = 50000 + vars.iostats_warning_write = 10000 + vars.iostats_warning_wait = 50 + vars.iostats_critical_tps = 5000 + vars.iostats_critical_read = 80000 + vars.iostats_critical_write = 25000 + vars.iostats_critical_wait = 80 +}