`

cacti利用snmpdiskio 监控服务器磁盘IO监控

 
阅读更多

平台

CentOS5.4

cacti-0.8.7e(cacti-0.8.7g已经测试安装正常)

snmpdiskio-0.9.6

安装

安装cacti平台就不提了,网上多得是,今天主要是如何添加disk io监控的模板.

1.       将下载的snmpdiskio-0.9.4.tar.gz上传到cacit服务器上,解压缩,partition.xml拷贝resource/snmp_queries.

tar zxvf snmpdiskio-0.9.4.tar.gz

 

cp snmpdiskio-0.9.4 /usr/local/apache2/htdocs/cacti/resource/snmp_queries/

2.       cacti服务器的web界面下导入cacti_data_query_snmp_disk_statistics.xmlcacti_graph_template_disk_io_bytessec.xml

     

3.       将下载的snmpdiskio-0.9.4.tar.gz上传到被监控机上,解压缩,将目录下可执行文件snmpdisk拷贝/usr/local/bin/.

tar zxvf snmpdiskio-0.9.4.tar.gz

install -m 0755 -o root -g root -p -v snmpdiskio /usr/local/bin/,

由于9.4太老不支持2.6内核,需要修改,出自http://forums.cacti.net/viewtopic.php?p=124793#124793 dverlaeckt 的“code

Vim snmpdiskio

#!/bin/bash

# $Id: snmpdiskio,v 1.5 2008/01/31 21:19:50 dverlaeckt Exp $

# snmpdiskio v0.9.6 (c) 2008 Dieter Verlaeckt <dieter.verlaeckt@gmail.com>

# snmpdiskio v0.9.5 (c) 2007 Pablo Destefanis <pdestefanis@gmail.com>

# snmpdiskio v0.9.4 (c) 2006 Mikael Fridh <mikael@meanstreak.se>

 

# Fields in /proc/partitions (kernel 2.4)

# major minor #blocks name rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

 

# Fields in /proc/diskstats (kernel 2.6) for disks (i.e. hda)

# major minor name rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

 

# Fields in /proc/diskstats (kernel 2.6) for partitions (i.e. hda1)

# major minor name rio rsect wio wsect

 

# InBlocks = sectors written to disk

# OutBlocks = sectors read from disk

 

# Set default procfile for kernel 2.4

PROCFILE="/proc/partitions"

MODE="linux24"

 

# Probably kernel 2.6:

if [ -f /proc/diskstats ]; then

    PROCFILE=/proc/diskstats

    MODE="linux26"

fi

 

 

function hdNum()

{

        awk ' BEGIN { num=0 } $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ { num++ } END { print num } ' $PROCFILE

}

 

function hdIndex()

{

        awk ' BEGIN { num=0 } $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ { num++; print num } ' $PROCFILE

}

 

function hdDescr()

{

        if [ "$MODE" = "linux26" ]; then

                awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ { printf "%s/n", $3 }' $PROCFILE

        else

                awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ { printf "%s/n", $4 }' $PROCFILE

        fi

}

 

function hdInBlocks()

{

        if [ "$MODE" = "linux26" ]; then

                awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 7 { printf "%.0f/n", $7 * 512 }

                      $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 14 { printf "%.0f/n", $10 * 512 } ' $PROCFILE

        else

                awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 15 { printf "%.0f/n", $11 * 512 } ' $PROCFILE

        fi

}

 

function hdOutBlocks()

{

        if [ "$MODE" = "linux26" ]; then

                awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 7 { printf "%.0f/n", $5 * 512 }

                      $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 14 { printf "%.0f/n", $6 * 512 } ' $PROCFILE

        else

                awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 15 { printf "%.0f/n", $7 * 512 } ' $PROCFILE

        fi

}

 

function usage()

{

        cat <<-EOUSAGE

Usage: $0 <hdNum|hdIndex|hdDescr|hdInBlocks|hdOutBlocks>

EOUSAGE

}

 

if [ 1 -ne $# ]; then

        usage

        exit 1

fi

 

case $1 in

        hdNum|hdIndex|hdDescr|hdInBlocks|hdOutBlocks)

                $1

        ;;

        'hdNum')

                hdNum

        ;;

        'hdIndex')

                hdIndex

        ;;

        'hdDescr')

                hdDescr

        ;;

        'hdInBlocks')

                hdInBlocks

        ;;

        'hdOutBlocks')

                hdOutBlocks

        ;;

        *)

                usage

                exit 1

        ;;

esac

 

exit 0

 

4.       修改被监控机的snmpd.conf,在文件的结尾添加如下:

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

exec .1.3.6.1.4.1.2021.55 hdIndex /bin/sh /usr/local/bin/snmpdiskio hdIndex

exec .1.3.6.1.4.1.2021.56 hdDescr /bin/sh /usr/local/bin/snmpdiskio hdDescr

exec .1.3.6.1.4.1.2021.57 hdInBlocks /bin/sh /usr/local/bin/snmpdiskio hdInBlocks

exec .1.3.6.1.4.1.2021.58 hdOutBlocks /bin/sh /usr/local/bin/snmpdiskio hdOutBlocks

 

这里增加了/bin/sh,我在网上搜索了许多,都没有加上这个,我测试就是不成功.

Service snmpd restart

测试

snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.58

[root@localhost ~]# snmpwalk -v 2c -c public localhost  .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: "/bin/sh /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: "390659584"

UCD-SNMP-MIB::ucdavis.58.101.18 = STRING: "823808"

UCD-SNMP-MIB::ucdavis.58.101.19 = STRING: "386556928"

UCD-SNMP-MIB::ucdavis.58.101.20 = STRING: "827904"

UCD-SNMP-MIB::ucdavis.58.101.21 = STRING: "5120"

UCD-SNMP-MIB::ucdavis.58.101.22 = STRING: "2224640"

UCD-SNMP-MIB::ucdavis.58.101.23 = STRING: "0"

UCD-SNMP-MIB::ucdavis.58.101.24 = STRING: "0"

UCD-SNMP-MIB::ucdavis.58.101.25 = STRING: "0"

UCD-SNMP-MIB::ucdavis.58.102.1 = INTEGER: 0

UCD-SNMP-MIB::ucdavis.58.103.1 = ""

出现如下数据,表示正常.

 

 

5.在cactidevicesà Associated Data Queries添加SNMP - Disk Statistics

 

Create Graphs for this Host选择

你会发现要选择的硬盘太多,你可以用iostat命令,照这里添加

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

           1.11    0.28    1.61    0.55    0.00   96.45

 

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

sda               2.70        23.93        38.02     763647    1213086

sda1              0.00         0.05         0.00       1609         14

sda2              2.69        23.68        38.01     755634    1212824

sda3              0.00         0.05         0.00       1617          0

sda4              0.00         0.00         0.00         10          0

sda5              0.01         0.14         0.01       4345        248

我使用虚拟机测试的

 

 

排错

如果出现

snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.58
UCD-SNMP-MIB::ucdavis.58 = No Such Object available on this agent at this OID

 

你先执行snmpwalk -v 2c -c public localhost,看看是否正常,如不正常,说明snmpd.conf其他配置有问题,如正常,说明刚才添加exec有问题,请检查.

 

Snmp.conf提前设置

 

     40 #       sec.name  source          community

     41 com2sec notConfigUser  default       mynetsnmp

 

     61 #       group          context sec.model sec.level prefix read   write  notif

     62 access  notConfigGroup ""      any       noauth    exact  all    none none

 

     77 ##     group.name sec.model  sec.name

     78 group MyRWGroup  v1        local

     79 group MyRWGroup  v2c        local

     80 group MyRWGroup  usm        local

 

     86 ##           incl/excl subtree                          mask

     87 view all    included  .1                               80

 

 

 

 

参考: http://upfelix.blogbus.com/logs/7

分享到:
评论

相关推荐

    cacti监控磁盘IO

    cacti监控磁盘IO

    Cacti监控流量监控不到处理方法

    在IT监控领域,Cacti是一款广泛使用的开源网络监控和图形化工具,它能够帮助管理员实时监测网络设备的性能,包括但不限于流量、CPU利用率、内存使用情况等。当遇到“Cacti监控流量高于8G不出图”的问题时,这通常...

    cacti模版cactiez 监控模板

    Cacti是一款开源的网络监控和图形性能工具,主要用于收集网络设备的数据,如CPU使用率、内存使用情况、网络带宽利用率等,并通过图形化界面展示这些数据,帮助管理员了解和分析网络状况。Cacti模版是其核心功能之一...

    cacti文档 cacti 监控

    ### Cacti监控系统详解与应用 #### 一、Cacti概述及工作流程 Cacti是一款基于Web的开源网络监控系统,以其...通过深入理解Cacti的架构和工作流程,用户可以更好地利用其强大的功能,构建出稳定、高效的网络监控系统。

    使用cacti 批量监控服务器以及其PHP 运作环境配置

    本文旨在详细介绍如何利用Cacti来实现对多台服务器及其PHP运行环境的集中式监控,并涵盖Cacti的基本概念、安装配置流程以及具体的监控实施步骤。 #### Cacti简介 Cacti是一款基于PHP的应用程序,能够通过SNMP...

    使用cacti监控h3c交换机

    在IT管理领域,网络监控是确保系统稳定运行的关键部分,Cacti是一款广泛使用的开源网络监控工具,能够实时监控网络设备的状态,如流量、CPU利用率、内存使用等。本话题将详细探讨如何使用Cacti来监控H3C交换机。 ...

    CACTI交换机端口流量监控汇编.pdf

    在系统实现的过程中,使用了SNMP协议进行网络状态数据的采集,利用CACTI的插件架构扩展(CACTI-Plugin-Arc),实现了网络气象图功能、邮件报警功能;通过NET-SNMP开发包实现基于AgentX协议的代理功能,对不支持SNMP...

    使用cacti搭建企业监控平台

    在企业环境中,Cacti可以帮助管理员实时监控网络状况,包括用户数、CPU负载、内存使用情况以及磁盘占用等关键指标,从而确保系统的稳定运行。本文将详细介绍如何使用Cacti搭建企业监控平台。 1. **Cacti简介** ...

    在CACTI下监控锐捷交换机CPU利用率

    ### 在CACTI下监控锐捷交换机CPU利用率 #### 一、背景介绍 随着网络技术的不断发展,网络管理工具的应用越来越广泛。其中,CACTI作为一种基于Web的开源网络监控系统,因其易于安装配置、良好的图形化界面及丰富的...

    Cacti 监控指定程序.zip

    Cacti是一款强大的网络监控和图形制作工具,它利用SNMP(简单网络管理协议)来收集数据,并通过Web界面提供可视化的监控结果。Cacti主要用于监控网络设备、服务器性能以及各种应用程序的状态,帮助管理员及时发现和...

    cacti实现主机监控

    实现cacti进行监控范围内主机的基本信息,将该项添加到计划任务中,并添加mysql监控模版,实现实时监控

    Cacti_监控单个OID的添加方法_20151229.doc

    Cacti是一款开源的网络监控工具,主要用于网络性能和设备状态的可视化监控。它通过SNMP(简单网络管理协议)来收集数据,并使用RRDTool(Round Robin Database Tool)进行数据存储和图形生成。在本文中,我们将详细...

    Cacti监控服务器配置教程_基于CentOS+Nginx+MySQL+PHP环境搭建

    在开始Cacti监控服务器的配置之前,我们需要确保所有必要的软件和服务都已正确安装并运行。本教程将详细介绍如何在CentOS 6.2系统上,利用Nginx作为Web服务器、MySQL作为数据库、PHP处理动态内容,来构建一个功能...

    Cacti监控服务器配置文档

    ### Cacti监控服务器配置详解 #### 一、Cacti简介 Cacti是一款开源的网络监控系统,主要用于收集网络设备的性能数据,并通过图形化的界面展示出来。它使用了PHP作为前端语言,后端则利用了RRDTool进行数据存储与...

    cacti监控windows状态模板

    Cacti是一款开源的网络监控和图形生成工具,主要用于收集网络设备、服务器等资源的性能数据,并通过Web界面展示图表。在Windows环境中,Cacti可以利用SNMP(Simple Network Management Protocol)服务来获取系统状态...

    cacti监控多核CPU

    Cacti是一款开源的网络监控工具,主要用于网络设备和服务器的性能数据收集、图表生成以及警报通知。在多核CPU环境下,Cacti能够帮助管理员有效地监控各个CPU核心的状态,确保系统的稳定运行。本文将深入探讨如何使用...

    Cacti安装Syslog监控插件

    Cacti是一款开源的网络监控和图形化工具,主要用于网络流量和设备性能的监控。而Syslog监控插件是Cacti中一个重要的组件,它允许用户通过Cacti界面来收集、分析和展示来自系统日志(Syslog)的信息。在IT管理中,...

    cacti网络监控软件

    这款工具通常用于网络管理员来监控网络流量、CPU利用率、内存使用情况、磁盘空间等关键指标,帮助他们快速识别和解决问题。 在Cacti中,"Spine"是一个快速的数据采集引擎,它是Cacti的主要部分之一。Spine.conf是...

    cacti监控模板

    Cacti通过SNMP(简单网络管理协议)获取数据,从而可以监视网络设备的CPU使用率、内存利用率、网络流量等关键指标。 在Cacti中,模板是一个预定义的配置,包含了用于收集数据的特定设备或服务的模板图、数据源和...

    cacti-apache监控模块

    cacti监控---apache监控的一些资源

Global site tag (gtag.js) - Google Analytics