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 #添加以下内容

        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
                
        

# chown cacti.cacti /var/www/html/cacti/resource/snmp_queries/partition.xml

然后修改一下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就行了。

上图因为我已经添加过两个盘了,所以出现的是灰色的。其它的不清楚是一些什么设备,因为是云主机,所以可能跟虚拟机有关系。这里我们只添加自己关心的设备就可以了。

zabbix 官方的安装文档是将zabbix运行在httpd上的,但现在大部分公司使用的全是nginx服务

下面就告诉大家将zabbix配置到nginx上运行。

继续阅读

zabbix 2.2开始,官方已经开始支持监控MySQL,但直接使用默认的模板是不可用的,还需要经过额外的设置才可以使用。

以下是zabbix监控mysql的步骤(不用自己写脚本)

继续阅读

I/O 调度算法再各个进程竞争磁盘I/O的时候担当了裁判的角色.他要求请求的次序和时机做最优化的处理,以求得尽可能最好的整体I/O性能.其实所有的 IO 优化只有二点,合并和排序… 在linux下面列出4种调度算法

继续阅读