免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 208696 | 回复: 478
打印 上一主题 下一主题

你还在用mrtg吗?--使用cacti监测系统性能 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-15 15:40 |只看该作者 |正序浏览
欢迎转载 ,但有任何修改請來信告知,不得作为商业用途
作者: JoeCen[joecen{at}21cn{dot}com]
转载时请保持该通告


FAQ已经写好,上面都是本贴上面的问题。
请大家以后提问前先查看该FAQ!

我的Cacti--FAQ

前言:
在CU的论坛上经常看到有人问MRTG的问题,还有很多的关于MRTG的精彩文章。MRTG的确是非常好的东东,但我认为它毕竟已经是一套很旧的软件了,其作者在多年前就已经开发了RRDTool代替该软件,现在已经发展得很成熟。既然有更好的选择,为什么我们还要用MRTG呢?

第一部分,介绍:
2004年我刚进某公司工作,当时我使用MRTG建立了一套系统,专门监测我们服务器和其它网络设备的流量。

后来我想将其它的系统性能比如CPU负载、系统负载,网络连接数等一起监测起来。我在网上查找了很多的资料,也实现了这些功能,但总觉得实现的太费劲,管理起来太麻烦了。比如我有几百个被监测点,分布在不同的机房,而且我需要将这些服务器和网络设备分类,这样的话我就要将这些被监测点放在不同的mrtg配置文件中,运行多个crontab,而且自己还写了一些html页面对其进行管理。
后来有幸看到了abelyang兄写的大作“rrdtool教学”,里面列举了rrdtool的种种优点,于是我下定决心要将MRTG更换为rrdtool。

MRTG的优点:简单、易上手,基本安装完了之后只要更改一下配置文件即可。
缺点:
1、使用文本式的数据库,数据不能重复使用;
2、只能按日、周、月、年来查看数据;
3、只能画两个DS(一条线、一个块);
4、每取一次数据即需要绘图一次,浪费系统资源;
5、无管理功能;


rrdtool的优点:
           1、使用rrd存储格式,数据能重复使用,比如我可以将一个rrd文件中的数据与另一个rrd文件中的数据相加。
           2、可以定义任意时间段画图,即你可以画出一张半年以来的数据的图,也可以画出一张半小时以来的图。
           3、能画任意个DS。
           4、CDEF让你能任意摆弄数据。

缺点:
        1、rrdtool的作用只是存储数据和画图,它没有mrtg中集成的数据采集功能;
        2、在命令行的使用非常复杂,参数极多。
        3、无管理功能。


简单的说,rrdtool就是一个强大的绘图的引擎。

由于其非常复杂的命令,对用户非常不友好,我一度想自己用php写一套系统。幸运的是,半年前我找到了cacti(www.cacti.net)。对该工具我只有一个字形容:“great!”。
cacti其实是一套php程序,它运用snmpget采集数据,使用rrdtool绘图。它的界面非常漂亮,能让你根本无需明白rrdtool的参数能轻易的绘出漂亮的图形。更难能可贵的是,它提供了强大的数据管理和用户管理功能,一张图是属于一个host的,每一个host又可以挂载到一个树状的结构上。用户的管理上,作为一个开源软件,它居然做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与LDAP结合进行用户的验证!我不由得佩服作者考虑的周到!Cacti还提供自己增加模板的功能,让你添加自己的snmp_query和script!可以说,cacti将rrdtool的所有“缺点”都补足了!
最近在公司的内部培训中,我为Cacti画了两张图,里面是cacti的架构和cacti的工作流程,现在也一并发上来。

[ 本帖最后由 joecen 于 2006-6-13 19:44 编辑 ]

cacti架构.gif (16.44 KB, 下载次数: 1487)

Cacti的架构

Cacti的架构

cacti工作流程.gif (19.21 KB, 下载次数: 912)

Cacti的工作流程

Cacti的工作流程

论坛徽章:
0
479 [报告]
发表于 2007-01-07 00:50 |只看该作者

cacti+rrdool 图形来出不来

图采出不来,采用mrtg可以正常,换cacti 就不行

执行
[cactiuser@webcache bin]$ /opt/lampp/bin/php    /opt/lampp/htdocs/cactiold/poller.php
01/07/2007 12:29:07 AM - POLLER: Poller[0] Maximum runtime of 292 seconds exceeded. Exiting.
01/07/2007 12:29:07 AM - SYSTEM STATS: Time:292.1084 Method:cmd.php Processes:1 Threads:N/A Hosts:3 HostsPerProcess:3 DataSources:123 RRDsProcessed:0

论坛徽章:
0
478 [报告]
发表于 2006-12-11 14:43 |只看该作者
我的CACTI已经安装成功,谢谢CU上的朋友.

不过有一些问题还要请教大家:

我现在监控的是中兴的三层交换机,每个端口的流量监控已经没有问题,现在想监控CPU和内存利用率,联系中兴厂家得到了CPU和内存的OID,可是加入CACTI后显示NAN。

用SNMPWALK命令测试可以取得数据,用SNMPGET命令却无法取得数据,提示:SNMPv2-SMI::enterprises.3902.3.3.1.1.5 = No Such Instance currently exists at this OID。
不知道这要怎么查???

论坛徽章:
0
477 [报告]
发表于 2006-12-04 22:27 |只看该作者

回复 1楼 joecen 的帖子

CACTI  群44082745

论坛徽章:
0
476 [报告]
发表于 2006-11-29 01:02 |只看该作者

joecen您好,

本人写毕业论文《安全设备指数计算》需要参考joecen《使用Cacti监测系统与网络性能》一文!请给予支持!
lulianbing58@126.com
QQ:26650064

论坛徽章:
0
475 [报告]
发表于 2006-11-13 09:32 |只看该作者
谢谢楼主!!

论坛徽章:
0
474 [报告]
发表于 2006-11-12 13:00 |只看该作者
原帖由 西山晴雪 于 2005-8-26 09:14 发表

图表显示有问题,最主要的原因是/usr/local/php/bin/php /var/www/html/cacti/poller.php >; /dev/null 2>;&1
是这个命令没有生效。大家把把后面的重定向去处即把“>; /dev/null 2>;&1”去 ...



这个是对的,我终于搞好了,谢谢~~

论坛徽章:
0
473 [报告]
发表于 2006-11-02 10:30 |只看该作者

错的跟人都不一样,请老大帮忙。

装了两天了(因为对mysql、php、apache都不熟),终于都弄完。但连接时还是报错,请楼主帮忙:
错误是这样的。通过http://localhost/cacti连接后,提示:
“Error

You have created a new database, but have not yet imported the 'cacti.sql' file. At the command line, execute the following to continue:


mysql -u cactiuser -p cactidb < cacti.sql

This error may also be generated if the cacti database user does not have correct permissions on the cacti database. Please ensure that the cacti database user has the ability to SELECT, INSERT, DELETE, UPDATE, CREATE, ALTER, DROP, INDEX on the cacti database.


然后,我drop database。重新create database。并按上面的提示,用cactiuser重新导入表,并在连接到cactidb之后,可以show table,也可以select。所以,表的导入应该是没问题的,cactiuser对表的权限应该也没有问题,因为我都是按楼主的方法做了grant的。所以,这个提示不好理解。

然后,我用snmpwalk测试是可以得到内容的。
rra的目录权限也没有问题。
但rra目录下确实没有内容。
按FAQ里面提到的解决rra目录下没有内容的办法,剩下第三种测试方法:“2.3、也可能是snmpwalk、snmpget和rrdtool的路径没有设置好在Settings-》Paths中检查设置是否正确。”就这个方法,不太明白,好像没地方找这个settings-》paths。

然后,去看了/www/htdocs/cacti/log/cacti.log,看到有错误提示:

“11/02/2006 10:10:09 AM - CMDPHP: Poller[0] ERROR: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'.
11/02/2006 10:15:02 AM - POLLER: Poller[0] Maximum runtime of 292 seconds exceeded. Exiting.
11/02/2006 10:15:02 AM - SYSTEM STATS: Time:292.5468 Method:cmd.php Processes:1 Threads:N/A Hosts:1 HostsPerProcess:1 DataSources: RRDsProcessed:0
11/02/2006 10:15:09 AM - CMDPHP: Poller[0] ERROR: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'.
11/02/2006 10:25:10 AM - CMDPHP: Poller[0] ERROR: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'.

然后,我打开config.php查看
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipw";
$database_port = "3306";


都没有什么问题。
唉,可难住我了。
基本就是这些情况,请楼主和各位dx们指点,谢了先。

论坛徽章:
0
472 [报告]
发表于 2006-10-17 12:57 |只看该作者
这样的好文章现在才看到,真是相见恨晚啊!

论坛徽章:
0
471 [报告]
发表于 2006-10-08 20:53 |只看该作者
不错,建议是用weathermap和cacti结合,会达到更好的效果
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP