Cacti是一套PHP程序,它使用snmpget命令采集数据、RRDTool绘图。Cacti界面简洁直观,让你根本无需明白RRDTool的众多参数即可轻松绘制出漂亮的图形。另外,它还提供了强大的数据管理和用户管理功能。在图像管理上,Cacti采用了树状结构的查看界面,在用户管理上,能对用户的权限进行细致划分,甚至支持使用LDAP进行用户验证。Cacti主要功能包括:数据定时采集、图像绘制与显示、树状的主机和图像管理、RRDTool信息管理、用户和权限管理以及模板导入导出等。
1.Cacti系统组成
Cacti系统由4个部分组成:
Cacti页面(PHP)——用户控制的平台,用户在此进行所有的设置;
SNMP采集工具——Unix下使用 Net-SNMP软件包自带的“snmpget”和“snmpwalk”等程序,Windows下使用PHP的SNMP功能;
RRDTool绘图引擎——性能数据的存储和绘画图像;
MySQL数据库——储存RRDTool绘图所需的信息,如模板、rra、主机对应的信息等,要注意的是MySQL数据库并不保存性能数据,性能数据保存在RRDTool自己的数据库格式rrd文件中。利用Cacti可以对校园网络进行很好的实时监控,从而做到运筹帷幄。 2.菜单功能介绍
Console菜单包括了New Graphs(创建新图像)、Graph Management(图像管理)、Graph Trees(图像树)、Data Sources(管理rrd文件)、Devices(设备管理)、 Data Queries 和Data Input Methods(采集数据方式)、Graph Templates(图像模板)、Host Templates(主机类型模板)、Data Templates(数据模板)、Import Templates(模板导入)、Export Templates(模板导出)Settings(Cacti的主要配置菜单)、System Utilities(显示Cacti系统的一些cache和log信息)、User Management(用户管理)、Logout User (用户退出登录)等菜单选项。
Grapes菜单包括三种查看图像的形式,分别为setting、树形显示、列表型显示和预览型显示。
在线demo: http://status.pulpfree.org/cacti/graph_view.php?action=tree&tree_id=3&leaf_id=28&select_first=true http://www.querx.com/cacti/graph_view.php?action=tree&tree_id=1&leaf_id=9 http://www.kende.com/cacti/graph_view.php?action=tree&tree_id=1&leaf_id=7&select_first=true 更多demo: http://www.cacti.net/sites_that_use_cacti.php
最新版本: The latest stable version is 0.8.7g, released 07/09/10. http://www.cacti.net/download_cacti.php 0.8.7g版本和某些插件有兼容型问题,如npc,thold,我安装下来在顶部不能正常显示导航菜单。 cacti的版本要和插件架构匹配,我装0.8.7e+cacti-plugin-0.8.7f-PA可以使用,但顶部导航显示不正确。 这里选用0.8.7e+cacti-plugin-0.8.7e-PA
依赖关系: 安装之前需lamp环境 安装参考 net-snmp 安装参考 RRDTool 安装参考 php扩展 安装参考 php_json pdo_mysql sockets nagios 安装参考 ndoutils 安装参考
下载cacti: cd /opt/htdocs/www wget wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip wget http://www.constructaegis.com/downloads/npc-2.0.4.tar.gz
constructaegis.com域名已过期 可以使用svn checkout http://svn2.assembla.com/svn/npc/trunk
安装cacti: 我的nginx运行用户为www组为website 安装路径为/opt/htdocs/www
安装cacti数据库: 创建cacti库,并创建cacti用户给予它cacti库权限,也可以使用phpmyadmin来完成. 导入cacti.sql到cacti库
配置cacti数据库信息 #cd cacti #vi include/config.php
配置cacti自动运行: #crontab -e
Spine更有效率可以选择性安装
配置cacti: 访问cacti的web地址,就会显示安装界面 http://nagios.c1gstudio.com/cacti/
1.选择”新的安装”
2.配置路径(以系统中实际安装路径为准) /usr/local/rrdtool/bin/rrdtool /opt/php/bin/php /usr/local/bin/snmpwalk /usr/local/bin/snmpget /usr/local/bin/snmpbulkwalk /usr/local/bin/snmpgetnext
3.默认用户名及密码 admin/admin 接着输入新的密码
4.进入cacti后台 设置相应版本及验证码 settings->General RRDTool Utility Version = RRDTool1.3.X SNMP Version = 2 SNMP Community = 你的验证码(privatepass ) save
5.查看报表 点graphs选项5分钟后应该可以看到4个报表. memory usage load average logged in users processers
6.创建磁盘监控 在首页点击Create graphs然后在Data Query栏目中勾上需要监控的分区保存.
以上完成了cacti安装,下面安装插件 在安装插件前需先安装”插件框架”
安装插件框架: 1.解压
2.导入数据库结构
3.覆盖文件 方法一:覆盖
方法二:打补丁
我用方法一
4.配置插件的数据库信息 #cd /opt/htdocs/www/cacti/ #vi include/global.php #插件数据库需再配置一下
5.配制插件
注:0.8.7g开始上面两变量改放在includes/config.php中,如果参照以前的教程会找不到了囧 参见Change Log http://forums.cacti.net/viewtopic.php?t=38492
安装NPC插件: 1.解压后移到plugins目录下
2.启用cacti的插件功能, 以admin用户登陆cacti,在console中的user management里对admin的用户权限进行编辑, 勾选上Plugin Management、NPC、NPC Global Commands 然后到Plugin Management 安装并启用NPC即可。 在Settings->npc中 勾上Remote Commands Nagios Command File Path=/usr/local/nagios/var/rw/nagios.cmd Nagios URL=你的地址(http://nagios.c1gstudio.com/nagios/)
3.配置ndoutils 参见
如果一切正常点击导航菜单npc后就可以看到信息了。 没有显示可能有以下原因:
- cacti和npc版本不兼容
- cacti和plugin框架版本不一致
- npc没有正确安装(数据库结构不对)
- ndoutils没有正确配置(数据库中无信息)
- php-json,pdo_mysql,sockets没有安装(php -m 检查一下)
留意cacti/log/cacti.log文件
============================== 2010-07-23
spine安装 #wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7e.tar.gz #tar zxvf cacti-spine-0.8.7e.tar.gz #cd cacti-spine-0.8.7e #./configure #make #make install #vi /usr/local/spine/etc/spine.conf
#mv /usr/local/spine/etc/spine.conf /etc/ #/usr/local/spine/bin/spine
配置spine (1)登陆console–Configuration–Settings–poller–Poller Type改为spine (2)登陆console–Configuration–Settings–paths–Spine Poller File Path添加/usr/local/spine/bin/spine
#tail /opt/htdocs/www/cacti/log/cacti.log
07/23/2010 03:20:02 PM – POLLER: Poller[0] ERROR: The path: /usr/local/spine/bin/spine is invalid. Can not continue #如果你的php有open_basedir限制,需加上/usr/local/spine/bin/目录
07/23/2010 03:25:04 PM – SYSTEM STATS: Time:3.2262 Method:spine Processes:1 Threads:1 Hosts:11 HostsPerProcess:11 DataSources:190 RRDsProcessed:147 #相比php方式快很多
参考: http://liuyu.blog.51cto.com/183345/259995 http://www.cacti.net/downloads/docs/html/install_unix.html
One Response
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.
Continuing the Discussion