zabbix_export: version: '5.4' date: '2021-11-21T22:06:24Z' groups: - uuid: dc579cd7a1a34222933f24f52a68bcd8 name: 'Linux servers' templates: - uuid: a70e9642064144bba79b93c7bf3e65df template: 'Iostat monitoring' name: 'Iostat monitoring' description: | ## Overview Please follow to github for install instructions https://github.com/tulnovdl/ZabbixIostatMonitoring ## Author Dmitry Tulnov groups: - name: 'Linux servers' discovery_rules: - uuid: 32a8f68aa9c14e7bb455cad4db96f6f1 name: 'Disk Discovery' key: 'system.run["iostat -d | awk ''BEGIN {check=0;count=0;array[0]=0;} {if(check==1 && $1 != \"\"){array[count]=$1;count=count+1;}if($1~\"^Device\"){check=1;}} END {printf(\"{\n\t\\"data\\":[\n\");for(i=0;i2' name: 'Disk {#HARDDISK} time spent by the read requests in queue' priority: DISASTER description: 'Read request slower than 2ms' - uuid: 074bc5f01b474a958f299327fdef3d3d name: 'Disk {#HARDDISK} utilization' type: DEPENDENT key: 'iostat.summary[{#HARDDISK},util]' delay: '0' value_type: FLOAT units: '%' description: 'Device utilization in %' preprocessing: - type: JSONPATH parameters: - $.util master_item: key: 'system.run["iostat -xm -o JSON 1 1 | jq -r ''.sysstat.hosts[0].statistics[0].disk | .[] | select(.disk_device == \"{#HARDDISK}\")''"]' tags: - tag: Application value: iostat trigger_prototypes: - uuid: 64d503d56bb64d2e86eac0b3b6482ffa expression: 'last(/Iostat monitoring/iostat.summary[{#HARDDISK},util])>70' name: 'Disk {#HARDDISK} utilization high' priority: HIGH - uuid: 65ee7632895b46c5abd43189c1ad1d4b expression: 'last(/Iostat monitoring/iostat.summary[{#HARDDISK},util])>90' name: 'Disk {#HARDDISK} utilization high critical' priority: DISASTER - uuid: c6ed6861259e44e790063d24013c6e25 name: 'Disk {#HARDDISK} write requests per second' type: DEPENDENT key: 'iostat.summary[{#HARDDISK},w/s]' delay: '0' value_type: FLOAT units: ops description: 'The number (after merges) of write requests completed per second for the device.' preprocessing: - type: JSONPATH parameters: - '$[''w/s'']' master_item: key: 'system.run["iostat -xm -o JSON 1 1 | jq -r ''.sysstat.hosts[0].statistics[0].disk | .[] | select(.disk_device == \"{#HARDDISK}\")''"]' tags: - tag: Application value: iostat - uuid: 3177da4ff3ab401789b0fd5ef4885b52 name: 'Disk {#HARDDISK} average size of the write requests' type: DEPENDENT key: 'iostat.summary[{#HARDDISK},wareq-sz]' delay: '0' value_type: FLOAT units: KBs description: 'The average size (in kilobytes) of the write requests that were issued to the device.' preprocessing: - type: JSONPATH parameters: - '$[''wareq-sz'']' master_item: key: 'system.run["iostat -xm -o JSON 1 1 | jq -r ''.sysstat.hosts[0].statistics[0].disk | .[] | select(.disk_device == \"{#HARDDISK}\")''"]' tags: - tag: Application value: iostat - uuid: 40dd11ac040a4683b23898250f328ca3 name: 'Disk {#HARDDISK} write data per second' type: DEPENDENT key: 'iostat.summary[{#HARDDISK},wMB/s]' delay: '0' value_type: FLOAT units: MBs description: 'The number of sectors (kilobytes, megabytes) written to the device per second.' preprocessing: - type: JSONPATH parameters: - '$[''wMB/s'']' master_item: key: 'system.run["iostat -xm -o JSON 1 1 | jq -r ''.sysstat.hosts[0].statistics[0].disk | .[] | select(.disk_device == \"{#HARDDISK}\")''"]' tags: - tag: Application value: iostat - uuid: cab8fc074ef24dd98e1d468eeaa4fda4 name: 'Disk {#HARDDISK} write requests (merged) per second' type: DEPENDENT key: 'iostat.summary[{#HARDDISK},wrqm/s]' delay: '0' value_type: FLOAT units: ops description: 'The number of write requests merged per second that were queued to the device.' preprocessing: - type: JSONPATH parameters: - '$[''wrqm/s'']' master_item: key: 'system.run["iostat -xm -o JSON 1 1 | jq -r ''.sysstat.hosts[0].statistics[0].disk | .[] | select(.disk_device == \"{#HARDDISK}\")''"]' tags: - tag: Application value: iostat - uuid: b06f9fe8be294e1a8c2b6ba4ba309bb7 name: 'Disk {#HARDDISK} % write requests (merged) per second' type: DEPENDENT key: 'iostat.summary[{#HARDDISK},wrqm]' delay: '0' value_type: FLOAT units: '%' description: 'The percentage of write requests merged together before being sent to the device.' preprocessing: - type: JSONPATH parameters: - '$[''wrqm'']' master_item: key: 'system.run["iostat -xm -o JSON 1 1 | jq -r ''.sysstat.hosts[0].statistics[0].disk | .[] | select(.disk_device == \"{#HARDDISK}\")''"]' tags: - tag: Application value: iostat - uuid: 32f09023cc7d4e6c815d65adf5182956 name: 'Disk {#HARDDISK} time spent by the write requests in queue' type: DEPENDENT key: 'iostat.summary[{#HARDDISK},w_await]' delay: '0' value_type: FLOAT units: ms description: 'The average time (in milliseconds) for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.' preprocessing: - type: JSONPATH parameters: - '$[''w_await'']' master_item: key: 'system.run["iostat -xm -o JSON 1 1 | jq -r ''.sysstat.hosts[0].statistics[0].disk | .[] | select(.disk_device == \"{#HARDDISK}\")''"]' tags: - tag: Application value: iostat trigger_prototypes: - uuid: 25e61bf48a7e4a5e9cbd3d1b66bdfd8e expression: 'last(/Iostat monitoring/iostat.summary[{#HARDDISK},w_await])>3' name: 'Disk {#HARDDISK} time spent by the write requests in queue to high' priority: HIGH description: 'Disk query larger than 3 ms, this will lead to slowdowns' - uuid: 6b6bf268519d4870b94c89585bb61925 expression: 'last(/Iostat monitoring/iostat.summary[{#HARDDISK},w_await])>5' name: 'Disk {#HARDDISK} time spent by the write requests in queue to high' priority: DISASTER description: 'Disk query larger than 5 ms, this really bad, need to investigate' - uuid: 3a8cd940d9b143fb83255d6c258abea4 name: 'Disk {#HARDDISK} iostat summary' key: 'system.run["iostat -xm -o JSON 1 1 | jq -r ''.sysstat.hosts[0].statistics[0].disk | .[] | select(.disk_device == \"{#HARDDISK}\")''"]' delay: 20s trends: '0' value_type: TEXT tags: - tag: Application value: iostat