Chinaunix首页 | 论坛 | 博客

  • 博客访问: 915909
  • 博文数量: 226
  • 博客积分: 10077
  • 博客等级: 上将
  • 技术积分: 2708
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-25 14:36
文章分类

全部博文(226)

文章存档

2010年(15)

2009年(82)

2008年(129)

我的朋友

分类: LINUX

2009-03-29 18:18:55

前 言:Cacti的安装和基本配置完成后,是否已经达到你的要求能正常工作了?这篇是可能遇到的问题。其中的FAQ也是前人总结的,我也在这个基础上加上自 己遇到的问题做成了自己的FAQ,你喜欢的话也可以在这个基础上再总结一些,变成自己的。这个FAQ自己还会不断完善,因为我还要利用Cacti来解决更 多的问题。

Ajian

07-10-28

 

 

Cacti后续设置:

RRDTool Default Font Path
The path to the rrdtool default true type font for version 1.2 and above.

/usr/local/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf
##
这个要写全,否则会发现出来的图有数据,但是图例说明不显示
Cactid Poller File Path
The path to Cactid binary.
/usr/local/bin/cactid

3
:监控交换机
我们的cisco6509比较老了,相关命令都差不多
set snmp rmon enable
set snmp trap enable
set snmp community read-only mrtg
还有cisco3524的:
conf t
snmp-server community sl ro
snmp-server host *.*.*.* trap sl
这个*.*.*.*是你做监控用的机器地址
snmp-server enable traps
exi
wr
这是华为交换机的方法,这是台quidway3952p
sys
snmp-agent community read xqssl2l
snmp-agent trap enable
snmp-agent sys-info version all
snmp-agent target-host trap address udp-domain *.*.*.* udp-port 161 params securityname xqssl2l v1
quit
save
我这测试的比较简单,用的snmp v1,相关设置可参考各交换机的手册。交换机上设置了以后在cacti里面的操作就很简单了,只需要把相应的community字段填对就行。

FAQ

 

一、全局:
1、什么是CACTI?它有什么用?
2、cacti的官方网站在哪里?
3、在哪里下载?
4、怎么安装它呢?
5、使用cacti需要什么知识?
6、找不到snmpwalk和snmpget命令?

二、使用:
1、为什么图像不能显示?
2、为什么rra目录下什么都没有?
3、为什么能取到流量的数据但取不到CPU和内存的数据?
4、可以取到本机(linux)的数据,但却不能取到远程主机的数据?
5、我以前用MRTG进行流量的监测,是否可以将MRTG中的数据导入到Cacti中呢?
6、为什么我的流量达到100M以上图像就不准呢?
7、09/02/2005 02:59:58 PM - POLLER: Poller[0] Maximum runtime of 296 seconds exceeded. Exiting,什么意思?
8、怎么备份Cacti和它的数据呀?
9、如何将数据合并?如何自定义脚本?
10、使用monitor、threshld插件
11、为什么月、年的流量图下面的字母乱码?
12、cacti是否支持中文?
13、新建的device的Data Query里面的状态总是“ Success [0 Items, 0 Rows]”?

14、为什么有些图片不显示而点击进入的图片是好的。

15、日志中老是显示WARNING: Result from SNMP not valid. Partial Result: No Such Object avail 但图片生成了。




一、全局:

1、什么是CACTI?它有什么用?
        cacti是一套PHP程序,它运用snmpget采集数据,使用rrdtool绘图。使用Cacti能统计网络设备的

流量、CPU、系统负载等参数,也可以自定义监测的指标。

2、cacti的官方网站在哪里?
       

3、在哪里下载?
        /download_cacti.php

4、怎么安装它呢?
        官方的安装文档:/documentation.php
        我写的安装文档:

5、使用cacti需要什么知识?

        需要具有一定的使用net-snmp和rrdtool的知识。
        如果要自定义监测的指标还需要一定的shell脚本或xml语言能力。如果你想帮助cacti的开发,则

需要通晓php脚本。

6、找不到snmpwalk和snmpget命令?
        请安装新的net-snmp包或打net-snmp-utils 包。

二、使用:

1、为什么图像不能显示?
先确定你的IP地址、snmp comunite、snmp version等信息配置没有错误。

如果是在linux下安装cacti的话,可以按以下步骤检测:
1.1、cacti的data sources和Graph Management均有debug。看是否有错误,比如rrd文件找不到等。

1.2、data sources里看rrd文件的名称,然后到/cacti/rra目录中看是否有该文件存在。

1.3、如果有rrd文件存在,则可以使用

CODE:
rrdtool fetch yourRRDfile.rrd AVERAGE

命令,看该文件的采集的数据,如果都是“nan”,那就是没有取到数据。

1.4、有可能是snmpget、snmpwalk和rrdtool的路径错误。
       
1.5、排除错误后,需要重新建立该监测点(graph)。

提示:每一个图像的文件均会保存为rra目录里的一个rrd为后缀的文件(可以在“Data Sources”中看到)

。“Data Sources”和“Graph Management”中均可以进行debug,可以从debug中得出错误信息。
       

2、为什么rra目录下什么都没有?
2.1、请查看该目录的权限。该目录的权限应为cactiuser可以读写。

2.2、如果目录的权限没有问题,那么可能是snmp的设置有问题,请手工测试一下:

CODE:
snmpwalk -v 2c -c public yourIP if

如果有数据返回,则snmp的数据没有问题。如果出现“Timeout: No Response from ...”之类的

错误信息则是snmp设置的问题。

2.3、也可能是snmpwalk、snmpget和rrdtool的路径没有设置好在Settings-》Paths中检查设置是否正确。

修改后请重建该监测点!否则不生效。


3、为什么能取到流量的数据但取不到CPU和内存的数据?
        应该是snmp权限的设置问题。可以用snmpwalk手工测试一下。
        如果要取CPU等数据,需要修改net-snmp的配置。如何修改请看:
        的4楼。


4、可以取到本机(linux)的数据,但却不能取到远程主机的数据?
        Cacti有很多模板,有的是用SNMP进行数据采集,有的是用shell脚本进行采集。如果没有特别的原因建议都使用SNMP的。
        Associated Graph Templates
        前面带“ucd/net”的就是能使用ucd-snmp和net-snmp的模板。如:ucd/net - CPU Usage
        Associated Data Queries
        前面带SNMP的就是能使用snmp的。如:SNMP - Interface Statistics

        当然,你还可以从上找到新的模板或添加自己的模板。


5、我以前用MRTG进行流量的监测,是否可以将MRTG中的数据导入到Cacti中呢?
        当然可以!因为我就是这样做的。
        请看:


6、为什么我的流量达到100M以上图像就不准呢?
        这与snmp的版本有关,snmp1的数据是32位而snmp2c以上是64位。
        首先要确定你使用的是snmp2c或以上(现在的网络设备一般都支持)。
        然后点击Cacti的页面:“Console ->; Create New Graphs ->;Data Query”。你在下面看到
“Select a graph type:”的下拉菜单(默认是“In/Out bits”),要取64bits的数据所以将其改为
“In/Out bits(64-bit Counters)”,然后选择你要监测的网卡即可。
        另外,该监测点的“Maximum Value”必须设置为100M以上。

        如果是Linux主机要监测100M以上的流量(一般不会发生),需要带“--enable-mfd-rewrites”参数重新编译最新的net-snmp。


7、09/02/2005 02:59:58 PM - POLLER: Poller[0] Maximum runtime of 296 seconds exceeded. Exiting,什么意思?
        应该是你的监测点设置太多,导致cacti通过snmpget取完所有数据的时间超过300秒。
        Cacti的作者一早就考虑到这问题,所以在cacti中有两种解决方法:

7.1、将POLLER更改为cactid。
默认的POLLER是cmd.php,而cactid是使用C写的程序,效率会比cmd.php高几倍!
注意,虽然POLLER的选项中有cactid的选择,但cactid默认并没有安装,所以即使你选择了它也不会生效的。
你可以从这里(/cactid_download.php)下载cactid的源码或rpm(bin)文件进行安装。然后在PATH中指定cactid的路径即可。

7.2、在POLLER的设置中加大cmd.php的进程数,即同时运行多个cmd.php进行数据的采集。但这样的话会加重你的系统负载。
如果你的机器性能太差,建议还是改用cactid为好。

PS:当磁盘空间满的时候会出现这个问题,原因是磁盘空间慢导致snmpget的时间变长。


8、怎么备份Cacti和它的数据呀?

        只需要备份rra目录和数据库就可以了。你喜欢也可以将log目录一起备份。
        如果你自己添加了一些插件的话记得也拷过去。


9、如何将数据合并?如何自定义脚本?
        请看:


10、使用monitor、threshld插件
        请看:
的四楼。


11、为什么月、年的流量图下面的字母乱码?
回答by萧筱筱:

是由于rrdtool不支持中文导致的。我的情况更为严重,当图中出现中文时,rrdtool graph的时候索性就segment fault掉了。

因为中文环境下的日期显示会缺省的把星期和月显示成中文,以致于你的图上由于无法显示中文而出现乱码。

解决的办法有2种思路,一种就是让rrdtool显示英文的日期,一种就是让rrdtool支持中文。两种方法都牵涉到修改rrdtool的源代码。我采取的是第一种思路,让rrdtool不要去读中文环境的语言环境变量,强制让它用英文。

我是在编译rrdtool1.2时把src/rrd_graph.c文件中的这段内容改掉:

setlocale(LC_TIME,"");
改成
setlocale(LC_ALL,"en_US.ISO-8859-1");

然后再编译。这样就好了。如果还不行,你就把你的环境变量里的语言环境都改成英文:
export LC_ALL=en_US
export LANG=en_US
export LANGUAGE=en_US
export LC_CTYPE=en_US
export LC_TIME=en_US

或者,你就索性根据abel老大的方法让rrdtool支持中文吧。
... p;extra=&page=1


12、cacti是否支持中文?
cacti默认在某些页面不能正常显示中文,rrdtool默认也不可以显示中文。
如果真的需要使用中文,请参考下面连接。



13、新建的device的Data Query里面的状态总是“ Success [0 Items, 0 Rows]”?

请先确认你的snmpd.conf中的权限设置,是否允许cacti取这些OID的数据。可以使用snmpwalk命令来进行测试,比如:

CODE:
snmpwalk -c community -v 2c hostIP if

如果你的snmpd.conf设置没有问题,那可能是下面这种情况:
旧版本的snmpwalk(比如redhat默认安装的5.0.6)缺少一些参数,比如-O中的"U"参数.(可以用snmpwalk --help来查看是否有该参数)。
而cacti-0.86g或以上版本需要这些参数,解决办法是安装一个新的net-snmp包(如:net-snmp5.2.1),从而得到一个新snmpwalk的版本。

14、

Last Day这个页面的图片都显示不出来,但点击链接进入之后都可以看到图。



But If i click on it, they works well


Graph Debug says me OK!图片Debug都说是好的。

 

     [解决]Settings->RRDTool Utility Version matches the version of your rrdtool installation   在设置里面确定你的版本是正确的。

15、日志中老是显示WARNING: Result from SNMP not valid. Partial Result: No Such Object avail 但图片生成了。

     Surely the problem persists. It seems, that the very device does not support some OIDs you're requesting. Swicth poller to debugging mode to find the OIDs that are failing
     确定你SNMP配置的OIDs是否正确。

阅读(1836) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~