安装环境:

centos 5.6 x86_64
cacti-0.8.7g
snmpdiskio-0.9.4
 
安装
 
1、下载 snmpdiskio 可以在windows 下下载。下载完成后解压。解压缩之后里面有README文件 是英文安装文档。
 
a、把解压之后文件夹下的 snmpdiskio 文件上传到被监控服务器的/usr/local/bin目录下
   由于9.4太老不支持2.6内核,需要修改,出自http://forums.cacti.net/viewtopic.php?p=124793#124793 (在本网站下载的包我已经更新过已经支持2.6内核)
b、把解压之后文件夹下的 partition.xml上传到cacti监控服务器的 PATH/cacti/resource/snmp_queries/目录下
 
2、修改snmp配置文件/etc/snmp/snmpd.conf

 exec .1.3.6.1.4.1.2021.54 hdNum /usr/local/bin/snmpdiskio hdNum

exec .1.3.6.1.4.1.2021.55 hdIndex /usr/local/bin/snmpdiskio hdIndex
exec .1.3.6.1.4.1.2021.56 hdDescr /usr/local/bin/snmpdiskio hdDescr
exec .1.3.6.1.4.1.2021.57 hdInBlocks /usr/local/bin/snmpdiskio hdInBlocks
exec .1.3.6.1.4.1.2021.58 hdOutBlocks /usr/local/bin/snmpdiskio hdOutBlocks
 
把以上内容添加到配置文件中,保存退出。
重启 snmpd 服务
server snmpd restart
 
3、在cacti监控主机上测试

 [root@backup ~]# snmpwalk -v 2c -c public 192.168.5.44 .1.3.6.1.4.1.2021.58

UCD-SNMP-MIB::ucdavis.58.1.1 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.58.2.1 = STRING: "hdOutBlocks"
UCD-SNMP-MIB::ucdavis.58.3.1 = STRING: "/usr/local/bin/snmpdiskio hdOutBlocks"
UCD-SNMP-MIB::ucdavis.58.100.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.58.101.1 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.2 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.3 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.4 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.5 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.6 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.7 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.8 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.9 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.10 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.11 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.12 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.13 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.14 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.15 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.16 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.17 = STRING: "76145188352"
UCD-SNMP-MIB::ucdavis.58.101.18 = STRING: "831488"
UCD-SNMP-MIB::ucdavis.58.101.19 = STRING: "665088"
UCD-SNMP-MIB::ucdavis.58.101.20 = STRING: "522703872"
UCD-SNMP-MIB::ucdavis.58.101.21 = STRING: "4096"
UCD-SNMP-MIB::ucdavis.58.101.22 = STRING: "75620762624"
UCD-SNMP-MIB::ucdavis.58.101.23 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.101.24 = STRING: "0"
UCD-SNMP-MIB::ucdavis.58.102.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.58.103.1 = ""
 
看到以上内容说明已经成功了。
 
4、cacti 模版配置  (网上也找了文章大都忽略了这里)
输入ip 地址访问cacti 添加一个主机监控模版 
找到 Templates --> Host Templates --> 找到又上方的 Add 添加一个主机模版
点开add 之后输入创建的 主机模版的名字  例如: LINUX-disk-io 点击create 进入下一步配置
在  Associated Graph Templates 选择 Disk - I/O (bytes/sec)  点击 Add 添加 
在  Associated Data Queries  选择   SNMP - Disk Statistics  点击 Add 添加 
最后点击 Save 保存完成。
 
5、为主机创建Graphs  
a、Devices --> 选择 一个主机 --> Host Template 选择 刚刚创建的linux-disk-io 点击保存。
b、点击上方的 *Create Graphs for this Host  在下面就能看到 Data Query [SNMP - Disk Statistics] 这样列表,列表内显示你硬盘的信息。选择你需要监控的磁盘点击创建完成。
下图为监控disk-io 信息图