該監控基於iostat,而後iostat 命令用來監視系統輸入/輸出設備負載ios
1.安裝IOSTAT工具express
# yum install sysstat -y
測試iostat 查看全部硬盤iovim
# iostat Linux 2.6.32-431.11.25.el6.ucloud.x86_64 (test8_hadoop_kaf) 07/27/2017 _x86_64_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.04 0.00 0.04 0.00 0.00 99.92 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn vda 0.10 0.23 0.92 447172 1765488 vdb 0.00 0.00 0.15 4298 277632
2.部署腳本bash
# mkdir -p /usr/local/zabbix-agent/scripts/ # vim /usr/local/zabbix-agent/scripts/zabbix-iostat.sh
#!/bin/bash ZBX_DEV="$1" ZBX_METRIC="$2" IOSTAT_LOG=/tmp/iostat.log # Check iostat util if ! which iostat 2>&1>/dev/null; then >&2 echo "Can't find 'iostat' binary in \$PATH" >&2 echo "Make sure that you've installed 'sysstat' package" exit 1 fi # Check args [[ $# -lt 1 ]] && { echo "Give some more arguments, please :)"; exit 1; } # Discovering devices and spits out JSON if [ "$ZBX_DEV" = 'discovery' ]; then iostat -d | \ tail -n +4 | awk 'BEGIN { ORS=""; print "{\"data\":["} /\d/ {printf "%s{\"%s\":\"%s\"}", separator, "{#DEVICENAME}", $1, separator = ","} END {print "]}" }' exit 0 fi # Test iostat log [[ ! -f "${IOSTAT_LOG}" ]] && echo "[m|ZBX_NOTSUPPORTED] [No such file ${IOSTAT_LOG}]" && exit 1 # Parse iostat file function parse_iostat() { grep ${ZBX_DEV} ${IOSTAT_LOG} | \ tr ',' '.' | \ awk -v field="$1" ' {sum+=$field; n++;} END {if (n > 0) print sum/n; else {print "[m|ZBX_NOTSUPPORTED] [Nodata.]" > "/dev/stderr"; exit 1};}' } # Exec parse funcion with number of column case ${ZBX_METRIC} in rrqm/s ) parse_iostat '2';; wrqm/s ) parse_iostat '3';; r/r ) parse_iostat '4';; w/r ) parse_iostat '5';; rkb/s ) parse_iostat '6';; wkb/s ) parse_iostat '7';; avgrq-sz ) parse_iostat '8';; avgqu-sz ) parse_iostat '9';; await ) parse_iostat '10';; r_await ) parse_iostat '11';; w_await ) parse_iostat '12';; svctm ) parse_iostat '13';; util ) parse_iostat '14';; * ) echo "[m|ZBX_NOTSUPPORTED] [Unsupported item key.]" && exit 1;; esac
添加腳本執行權限
# chmod +x /usr/local/zabbix-agent/scripts/zabbix-iostat.sh
# 設置參數app
# echo 'UserParameter=iostat[*],/usr/local/zabbix-agent/scripts/zabbix-iostat.sh "$1" "$2"' > /etc/zabbix/zabbix_agentd.d/iostat.conf
#重啓zabbix_agentdide
service zabbix-agent restart
# 測試自動發現工具
zabbix_agentd -t iostat[discovery]
3.加入crontaboop
# crontab -e * * * * * ( sleep 10 && iostat -dxk 1 20 > /tmp/iostat.tmp && mv /tmp/iostat.tmp /tmp/iostat.log ) * * * * * ( sleep 40 && iostat -dxk 1 20 > /tmp/iostat.tmp && mv /tmp/iostat.tmp /tmp/iostat.log )
# 重啓計劃任務
/etc/init.d/crond restart
測試監控項性能
# zabbix_agentd -t iostat[vda,rkb/s]
iostat[vda,rkb/s] [t|0.007]測試
圖像展現
模板:
Template_Linux_DISK_IO_Discovery_English.xml
<?xml version="1.0" encoding="UTF-8"?> <zabbix_export> <version>3.0</version> <date>2017-07-27T06:45:24Z</date> <groups> <group> <name>Templates</name> </group> </groups> <templates> <template> <template>Template_Linux_DISK_IO_Discovery_English</template> <name>Template_Linux_DISK_IO_Discovery_English</name> <description>Low-Level Discovery disk devices and I/O Performance monitoring</description> <groups> <group> <name>Templates</name> </group> </groups> <applications> <application> <name>DISK/IO</name> </application> </applications> <items/> <discovery_rules> <discovery_rule> <name>Disk devices discovery</name> <type>0</type> <snmp_community/> <snmp_oid/> <key>iostat[discovery]</key> <delay>300</delay> <status>0</status> <allowed_hosts/> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <delay_flex/> <params/> <ipmi_sensor/> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <filter> <evaltype>0</evaltype> <formula/> <conditions> <condition> <macro>{#DEVICENAME}</macro> <value>^(sd|hd|vd|xvd)[a-z]$</value> <operator>8</operator> <formulaid>A</formulaid> </condition> </conditions> </filter> <lifetime>30</lifetime> <description>Disk devices discovery and IO Performance monitoring</description> <item_prototypes> <item_prototype> <name>I/O Device /dev/$1 The average size (sector) of the disk each IO operation</name> <type>0</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},avgrq-sz]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>sectors</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>The average size (in sectors) of the requests that were issued to the device. 向設備發出的請求的平均大小(扇區)。</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> <item_prototype> <name>I/O Device/dev/$1 Disk averages average IO requests per wait</name> <type>0</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},await]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>ms</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>await: 平均每次IO請求等待時間(包括等待時間和處理時間,毫秒爲單位)</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> <item_prototype> <name>I/O Device /dev/$1 The number of sectors that the disk successfully reads per second</name> <type>0</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},r/r]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>Rps</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>The number (after merges) of read requests completed per second for the device.</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> <item_prototype> <name>I/O Device /dev/$1 The size of the data that the disk is read per second</name> <type>0</type> <snmp_community/> <multiplier>1</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},rkb/s]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>Bps</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1024</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>The number of bytes read from the device per second 每秒從設備讀取的字節數</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> <item_prototype> <name>I/O Device /dev/$1 The number of read requests merged per second that were queued to the device</name> <type>0</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},rrqm/s]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>rrqm/s</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>The number of read requests merged per second that were queued to the device 每秒排隊到設備上的合併請求數</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> <item_prototype> <name>I/O Device /dev/$1 Disk average time per IO read request</name> <type>0</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},r_await]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>ms</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>The average time (in milliseconds) for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. 向設備發出的讀取請求的平均時間(毫秒)。這包括隊列中請求的時間和爲它們服務的時間。</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> <item_prototype> <name>I/O Device /dev/$1The disk handles the percentage of all IO requests in CPU per unit time</name> <type>0</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},util]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>%</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>Percentage of elapsed 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% for devices serving requests serially. But for devices serving requests in parallel, such as RAID arrays and modern SSDs, this number does not reflect their performance limits. 對設備發出I/O請求的時間的百分比(設備帶寬利用率)。設備飽和發生時,這個值是接近100%的設備服務請求連續。但在平行的服務請求的設備,如磁盤陣列和現代固態硬盤,這個數字並不反映其性能極限。</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> <item_prototype> <name>I/O Device /dev/$1 The number of sectors per disk successfully written per second</name> <type>0</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},w/r]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>Rps</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>The number (after merges) of write requests completed per second for the device 每秒爲設備完成的寫入請求的數目(合併後)</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> <item_prototype> <name>I/O Device /dev/$1 The size of data written by disk per second</name> <type>0</type> <snmp_community/> <multiplier>1</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},wkb/s]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>Bps</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1024</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>The number of bytes written to the device per second. 每秒寫入設備的字節數</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> <item_prototype> <name>I/O Device /dev/$1 The number of times a disk writes per second</name> <type>0</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},wrqm/s]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>wrqm/s</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>The number of write requests merged per second that were queued to the device. 每秒排隊到設備的寫入請求數。</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> <item_prototype> <name>I/O Device /dev/$1Disk average time per IO write request</name> <type>0</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>iostat[{#DEVICENAME},w_await]</key> <delay>30</delay> <history>7</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>ms</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <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 spentservicing them. 向設備發出的寫入請求的平均時間(以毫秒爲單位)。這包括時間,在隊列中的請求和時間spentservicing他們度過。</description> <inventory_link>0</inventory_link> <applications> <application> <name>DISK/IO</name> </application> </applications> <valuemap/> <logtimefmt/> <application_prototypes/> </item_prototype> </item_prototypes> <trigger_prototypes> <trigger_prototype> <expression>{Template_Linux_DISK _IO _Discovery_Chinese:iostat[{#DEVICENAME},util].last(#5)}>70</expression> <name>{HOST.NAME}: /dev/{#DEVICENAME}Disk occupancy CPU ratio is higher than 70%</name> <url/> <status>0</status> <priority>3</priority> <description>{HOST.NAME}: High I/O Utilization on /dev/{#DEVICENAME}</description> <type>0</type> <dependencies/> </trigger_prototype> </trigger_prototypes> <graph_prototypes> <graph_prototype> <name>Disk I/O /dev/{#DEVICENAME} Disk read / write data size</name> <width>1800</width> <height>400</height> <yaxismin>0.0000</yaxismin> <yaxismax>100.0000</yaxismax> <show_work_period>1</show_work_period> <show_triggers>1</show_triggers> <type>0</type> <show_legend>1</show_legend> <show_3d>0</show_3d> <percent_left>0.0000</percent_left> <percent_right>0.0000</percent_right> <ymin_type_1>0</ymin_type_1> <ymax_type_1>0</ymax_type_1> <ymin_item_1>0</ymin_item_1> <ymax_item_1>0</ymax_item_1> <graph_items> <graph_item> <sortorder>0</sortorder> <drawtype>5</drawtype> <color>3333FF</color> <yaxisside>1</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Template_Linux_DISK _IO _Discovery_Chinese</host> <key>iostat[{#DEVICENAME},util]</key> </item> </graph_item> <graph_item> <sortorder>1</sortorder> <drawtype>2</drawtype> <color>003300</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Template_Linux_DISK _IO _Discovery_Chinese</host> <key>iostat[{#DEVICENAME},rkb/s]</key> </item> </graph_item> <graph_item> <sortorder>2</sortorder> <drawtype>2</drawtype> <color>880000</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Template_Linux_DISK _IO _Discovery_Chinese</host> <key>iostat[{#DEVICENAME},wkb/s]</key> </item> </graph_item> </graph_items> </graph_prototype> <graph_prototype> <name>Disk I/O /dev/{#DEVICENAME} IO request time status</name> <width>1800</width> <height>400</height> <yaxismin>0.0000</yaxismin> <yaxismax>100.0000</yaxismax> <show_work_period>1</show_work_period> <show_triggers>1</show_triggers> <type>0</type> <show_legend>1</show_legend> <show_3d>0</show_3d> <percent_left>0.0000</percent_left> <percent_right>0.0000</percent_right> <ymin_type_1>0</ymin_type_1> <ymax_type_1>0</ymax_type_1> <ymin_item_1>0</ymin_item_1> <ymax_item_1>0</ymax_item_1> <graph_items> <graph_item> <sortorder>0</sortorder> <drawtype>5</drawtype> <color>007700</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Template_Linux_DISK _IO _Discovery_Chinese</host> <key>iostat[{#DEVICENAME},await]</key> </item> </graph_item> <graph_item> <sortorder>1</sortorder> <drawtype>0</drawtype> <color>DD0000</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Template_Linux_DISK _IO _Discovery_Chinese</host> <key>iostat[{#DEVICENAME},w_await]</key> </item> </graph_item> <graph_item> <sortorder>2</sortorder> <drawtype>0</drawtype> <color>BB00BB</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Template_Linux_DISK _IO _Discovery_Chinese</host> <key>iostat[{#DEVICENAME},r_await]</key> </item> </graph_item> <graph_item> <sortorder>3</sortorder> <drawtype>2</drawtype> <color>666666</color> <yaxisside>1</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Template_Linux_DISK _IO _Discovery_Chinese</host> <key>iostat[{#DEVICENAME},util]</key> </item> </graph_item> </graph_items> </graph_prototype> <graph_prototype> <name>Disk I/O /dev/{#DEVICENAME} The number of sectors in which the disk has been successfully read / written</name> <width>1800</width> <height>400</height> <yaxismin>0.0000</yaxismin> <yaxismax>100.0000</yaxismax> <show_work_period>1</show_work_period> <show_triggers>1</show_triggers> <type>0</type> <show_legend>1</show_legend> <show_3d>0</show_3d> <percent_left>0.0000</percent_left> <percent_right>0.0000</percent_right> <ymin_type_1>0</ymin_type_1> <ymax_type_1>0</ymax_type_1> <ymin_item_1>0</ymin_item_1> <ymax_item_1>0</ymax_item_1> <graph_items> <graph_item> <sortorder>0</sortorder> <drawtype>5</drawtype> <color>3333FF</color> <yaxisside>1</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Template_Linux_DISK _IO _Discovery_Chinese</host> <key>iostat[{#DEVICENAME},util]</key> </item> </graph_item> <graph_item> <sortorder>1</sortorder> <drawtype>2</drawtype> <color>009900</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Template_Linux_DISK _IO _Discovery_Chinese</host> <key>iostat[{#DEVICENAME},r/r]</key> </item> </graph_item> <graph_item> <sortorder>2</sortorder> <drawtype>2</drawtype> <color>880000</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Template_Linux_DISK _IO _Discovery_Chinese</host> <key>iostat[{#DEVICENAME},w/r]</key> </item> </graph_item> </graph_items> </graph_prototype> </graph_prototypes> <host_prototypes/> </discovery_rule> </discovery_rules> <macros/> <templates/> <screens/> </template> </templates> </zabbix_export>