zabbix_export: version: '6.0' date: '2021-11-21T21:36:15Z' groups: - uuid: cdce88f4196c45bfa225b57ddba7445e name: 'Halley template' templates: - uuid: 235c8ca1211f4b38989f5f1dcb9a8ab9 template: 'Halley Linux Disk_iostat' name: 'Halley Linux Disk_iostat' description: | ## Overview Template for monitoring Linux Disk with iostat with explanations and advices. Use LLD discovery: discover only [hsv]d[a-z] The idea is from I edited the script and add explanations and advises to the template Script write data in a cache file to not make a lot of requests To install: follow instructions from Any recommends are welcome ## Author Tudor Ticau groups: - name: 'Halley template' discovery_rules: - uuid: debef4571b9740baa4907c38f5ecd4bd name: 'IOSTAT: Hard disk drive discovery' key: 'iostat[]' delay: '60' lifetime: 1d item_prototypes: - uuid: eaa3bad50e1e492887c8bfcedc7ec0fc name: 'iostat: Avg queue length on $2' key: 'iostat[avgqu,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: req description: 'The average queue length of the requests that were issued to the device. - Average Queue Lenght. Usual is 2 per physical disk. So, if we have 5 disks, an average queue lenght under 10 is fine' tags: - tag: Application value: Iostat - uuid: 83aa5e204a134fa59df6aa58779dca28 name: 'iostat: Avg queue size on $2' key: 'iostat[avgrq,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: B description: 'The average queue size of the requests that were issued to the device. Is calculated in sectors*512 (usual size of a sector in Unix)' preprocessing: - type: MULTIPLIER parameters: - '512' tags: - tag: Application value: Iostat - uuid: b6d54d1c3d1f4eecbbc1b9689b52977f name: 'iostat: I/O latency on $2' key: 'iostat[await,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: ms description: 'The average time (in milliseconds) for I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. In other words I/O time for complete a process (read the disk, change data, write in disk) - (SSD usually is under 5 ms, HDD 100 ms )' tags: - tag: Application value: Iostat trigger_prototypes: - uuid: e316d85f98c34af6a9e2f95b31b2b030 expression: 'avg(/Halley Linux Disk_iostat/iostat[await,{#HDNAME}],120s)>200' name: 'Disk: {#HDNAME} I/O latency high' priority: AVERAGE description: 'Disk transfer time for an I/O operations take over 200 ms to execute. This can be a problem for your disk performance. Consider that an SSD must complete an I/O req in < 5 ms, and a HDD < 150 ms' manual_close: 'YES' tags: - tag: Value value: '{ITEM.VALUE}' - uuid: fb6ff498d9c94583b669e4234dcc325e name: 'iostat: Read I/O latency on $2' key: 'iostat[rawait,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: ms description: 'The average time (in milliseconds) for read I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. (SSD usually is under 1 ms, HDD 30 ms )' tags: - tag: Application value: Iostat - uuid: 20a6d5a417e84ce2b280ac887af56fda name: 'iostat: KBps $1 on $2' key: 'iostat[read,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: Bps description: 'The total number of kilobytes read per second. SSD has until 400 Mb/s, HDD until 60 Mb/s' preprocessing: - type: CHANGE_PER_SECOND parameters: - '' - type: MULTIPLIER parameters: - '1024' tags: - tag: Application value: Iostat - uuid: 54291a5d17ef4c2a806765eccf94b42c name: 'iostat: Merged read IOPS on $2' key: 'iostat[rrqm,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: req/s description: | The number of read requests merged per second that were queued to the device. Reads and writes which are adjacent to each other may be merged for efficiency. Thus two 4K reads may become one 8K read before it is ultimately handed to the disk, and so it will be counted (and queued) as only one I/O. This field lets you know how often this was done. tags: - tag: Application value: Iostat - uuid: 136f10673b7b47f68c17dd44fa143ca6 name: 'iostat: Read IOPS on $2' key: 'iostat[rs,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: req description: 'The number of read requests that were issued to the device per second. In other words, how many IOPS per second are read. SSD can handle until 30 000 IOPS, HDD - 170' tags: - tag: Application value: Iostat - uuid: c155addede6d4161a49c9c7ffdf82a27 name: 'iostat: Utilization % on $2' key: 'iostat[util,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: '%' description: 'Percentage of CPU time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100%.' tags: - tag: Application value: Iostat trigger_prototypes: - uuid: 302e70036d0d43dbac414e7d9b19b979 expression: 'avg(/Halley Linux Disk_iostat/iostat[util,{#HDNAME}],120s)>90' name: 'Disk: {#HDNAME} Utilization high' priority: HIGH description: 'Saturation (bandwidth utilization for the device). Device saturation occurs when this value is close to 100% and in this time device can''t deserve CPU requests. Server is going very slow' manual_close: 'YES' tags: - tag: Value value: '{ITEM.VALUE}' - uuid: 0ae30e67a5ff4389832675549d0310aa name: 'iostat: Write I/O latency on $2' key: 'iostat[wawait,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: ms description: 'The average time (in milliseconds) for write I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. (SSD usually is under 4 ms, HDD 70 ms )' tags: - tag: Application value: Iostat - uuid: 822b53f2fa6d45f287985f18f66598c9 name: 'iostat: KBps $1 on $2' key: 'iostat[write,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: Bps description: 'The total number of kilobytes written per second. SSD has until 400 Mb/s, HDD until 60 Mb/s' preprocessing: - type: CHANGE_PER_SECOND parameters: - '' - type: MULTIPLIER parameters: - '1024' tags: - tag: Application value: Iostat - uuid: 5f20e10202f94f7c9eea10d8b1a7f43e name: 'iostat: Merged write IOPS on $2' key: 'iostat[wrqm,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: req/s description: | The number of write requests merged per second that were queued to the device. Reads and writes which are adjacent to each other may be merged for efficiency. Thus two 4K reads may become one 8K read before it is ultimately handed to the disk, and so it will be counted (and queued) as only one I/O. This field lets you know how often this was done. tags: - tag: Application value: Iostat - uuid: 3234911c04684b6cba3a5cc309fd6ac3 name: 'iostat: Write IOPS on $2' key: 'iostat[ws,{#HDNAME}]' delay: '60' history: 7d value_type: FLOAT units: req description: 'The number of write requests that were issued to the device per second. In other words, how many IOPS per second are read. SSD can handle until 10 000 IOPS, HDD - 170' tags: - tag: Application value: Iostat graph_prototypes: - uuid: 22436a312f944d19a7434fddd2d42342 name: 'iostat: {#HDNAME} Latency' graph_items: - color: 1A7C11 item: host: 'Halley Linux Disk_iostat' key: 'iostat[await,{#HDNAME}]' - uuid: e1e1d6a586d44fd59f8c00f43a337d8d name: 'iostat: {#HDNAME} Traffic' ymin_type_1: FIXED graph_items: - color: '009900' item: host: 'Halley Linux Disk_iostat' key: 'iostat[read,{#HDNAME}]' - sortorder: '1' color: DD0000 item: host: 'Halley Linux Disk_iostat' key: 'iostat[write,{#HDNAME}]' - uuid: 16b018646d1f4e77bbb8fd364790123d name: 'iostat: {#HDNAME} Utilization' ymin_type_1: FIXED graph_items: - color: 00EEEE item: host: 'Halley Linux Disk_iostat' key: 'iostat[util,{#HDNAME}]' - sortorder: '1' color: 00DD00 yaxisside: RIGHT item: host: 'Halley Linux Disk_iostat' key: 'iostat[rs,{#HDNAME}]' - sortorder: '2' color: FF6666 yaxisside: RIGHT item: host: 'Halley Linux Disk_iostat' key: 'iostat[ws,{#HDNAME}]'