cacti有一个插件可以监控磁盘IO的(snmpdiskio),在网上找了一下,不太好下载。好不容易搞了下来,结果过程也挺痛苦的,要改一些东西,对cacti模板这一块儿不熟。简单记录一下怎么使用这个插件来监控linux的磁盘IO。
cacti 0.8.8b(目前为止是最新的)
linux (centos 6.4)
首先下载插件,下载完之后解压。
# # cd snmpdiskio-0.9.6/ # cp snmpdiskio /usr/local/bin/ # vi /var/www/html/cacti/resource/snmp_queries/partition.xml #添加以下内容# chown cacti.cacti /var/www/html/cacti/resource/snmp_queries/partition.xml Get SNMP Partitions Queries a host for a list of monitorable partitions .1.3.6.1.4.1.2021.13.15 hdDescr:hdIndex numeric |chosen_order_field| Index walk value input .1.3.6.1.4.1.2021.13.15.1.1.1 Description walk value input .1.3.6.1.4.1.2021.13.15.1.1.2 Bytes Written walk value output .1.3.6.1.4.1.2021.13.15.1.1.3 Bytes Read walk value output .1.3.6.1.4.1.2021.13.15.1.1.4
然后修改一下snmpd.conf的配置,把以下内容添加到snmpd.conf的最后
# vi /etc/snmp/snmpd.conf extend .1.3.6.1.4.1.2021.54 hdNum /bin/sh /usr/local/bin/snmpdiskio hdNum extend .1.3.6.1.4.1.2021.55 hdIndex /bin/sh /usr/local/bin/snmpdiskio hdIndex extend .1.3.6.1.4.1.2021.56 hdDescr /bin/sh /usr/local/bin/snmpdiskio hdDescr extend .1.3.6.1.4.1.2021.57 hdInBlocks /bin/sh /usr/local/bin/snmpdiskio hdInBlocks extend .1.3.6.1.4.1.2021.58 hdOutBlocks /bin/sh /usr/local/bin/snmpdiskio hdOutBlocks
然后重启一下snmp,并测试能否取到数据
# service snmpd restart # # snmpwalk -v 2c -c mingdao localhost .1.3.6.1.4.1.2021.58 UCD-SNMP-MIB::ucdavis.58.1.0 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.58.2.1.2.11.104.100.79.117.116.66.108.111.99.107.115 = STRING: "/bin/sh" UCD-SNMP-MIB::ucdavis.58.2.1.3.11.104.100.79.117.116.66.108.111.99.107.115 = STRING: "/usr/local/bin/snmpdiskio hdOutBlocks" UCD-SNMP-MIB::ucdavis.58.2.1.4.11.104.100.79.117.116.66.108.111.99.107.115 = "" UCD-SNMP-MIB::ucdavis.58.2.1.5.11.104.100.79.117.116.66.108.111.99.107.115 = INTEGER: 5 UCD-SNMP-MIB::ucdavis.58.2.1.6.11.104.100.79.117.116.66.108.111.99.107.115 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.58.2.1.7.11.104.100.79.117.116.66.108.111.99.107.115 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.58.2.1.20.11.104.100.79.117.116.66.108.111.99.107.115 = INTEGER: 4 UCD-SNMP-MIB::ucdavis.58.2.1.21.11.104.100.79.117.116.66.108.111.99.107.115 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.58.3.1.1.11.104.100.79.117.116.66.108.111.99.107.115 = STRING: "0" UCD-SNMP-MIB::ucdavis.58.3.1.2.11.104.100.79.117.116.66.108.111.99.107.115 = STRING: "0
能获取到数据,再继续。
把压缩包里的两个文件以模板的形式导致到Cacti
cacti_data_query_snmp_disk_statistics.xml
cacti_graph_template_disk_io_bytessec.xml
把这两个导入就可以了。然后cacti添加监控的时候,使用snmp disk就行了。
上图因为我已经添加过两个盘了,所以出现的是灰色的。其它的不清楚是一些什么设备,因为是云主机,所以可能跟虚拟机有关系。这里我们只添加自己关心的设备就可以了。