Windows下安装Cacti详细手册第一选择.docx
《Windows下安装Cacti详细手册第一选择.docx》由会员分享,可在线阅读,更多相关《Windows下安装Cacti详细手册第一选择.docx(14页珍藏版)》请在冰豆网上搜索。
Windows下安装Cacti详细手册第一选择
一、背景
我们现在使用的网络监控软件MRTG不能对过去某一时间的详细资料进行查询,在我们追查过去的问题时很不方便。
我们需要寻找新的监控工具以满足我们的需求。
Cacti是一种利用RRDtool、snmp、PHP、mysql、apache多种工具而成的一种监控软件,其源代码基于PHP脚本编写并公开,它的基本工作流程就是:
1.定期执行php脚
本代码,通过snmp读取指定监控项目的snmp信息,然后将结果保存到rrdtool数据文件中。
2.在web监控界面中通过php读取rrdtool并生成指定监控项目和指定时间段的监控曲线图。
它主要有以下一些特点:
1.基于RRDtool使效率提高。
Cacti基于RRDtool存储监控数据,在查询指定时间段的监控数据时候不用浏览整个数据文件,和mrtg的文本log相比具有更高的效率。
监控曲线图片的生成并不想mrtg那样和数据采集同步并定时成生,而是通过RRDtool提供的图片生成工具使用PHP脚本来生成动态web图片。
2.监控项目曲线图多样化。
RRDtool的图片生成工具提供了多种参数,这样可以动态设置更多样式的曲线图,也可以将若干监控项目集中显示在一张图片中,例如我们如果要同时显示http/ftp/dns多种协议的流量时就可以派上用场了。
当然,其他如颜色,曲线样式,图片大小格式,说明文字等都可以定制产生。
另外最大的一个改进功能是定时时间段的曲线图生成,突破了mrtg中日周月年的固定模式。
3.基于web配置与监控,操作简单
Cacti是一种web方式的软件,监控项目的新建、配置、管理、监控都是基于web方式来操作的,这对于使用者来说是非常方便。
二、MRTG与Cacti比较
1.MRTG优缺点
优点:
简单、易上手,基本安装完了之后只要更改一下配置文件即可。
缺点:
1)使用文本式的数据库,数据不能重复使用;
2)只能按日、周、月、年来查看数据;
3)只能画两个DS(一条线、一个块);
4)无管理功能;
2.Cacti的优点
1)使用rrd存储格式,数据能重复使用,比如我可以将一个rrd文件中的数据与另一个rrd文件中的数据相加。
2)可以定义任意时间段画图,即你可以画出一张半年以来的数据的图,也可以画出一张半小时以来的图。
3)能画任意个DS。
4)CDEF让你能任意摆弄数据
5)提供了强大的数据管理和用户管理功能
三、软件安装
1.安装appserv-win32-2.5.9
数据库的root密码:
不要忘了
2.安装Cacti
将cacti-0.8.7e.zip解压到C:
\AppServ\www\下
3.安装rrdtools
将rrdtool-cygwin-1.2.11.zip解压到C:
\rrdtool即可。
四、软件配置
1.配置Mysql
修改mysql数据库的root密码
用cmd进入命今行模式输入如下命令:
(注:
c:
\mysql为mysql安装目录)
C:
\>cdc:
\mysql\bin
C:
\>mysqladmin-uroot-ppassword123456
回车出现Enterpassword:
(注:
这是叫你输入原密码.刚安装时密码为空,所以直接回车即可)
此时mysql中账号root的密码被改为123456安装完毕
创建Cacti数据库
C:
\>cdmysql\bin
C:
\>mysqladmin--user=root--passwordcreatecacti
C:
\>mysql--user=root--passwordcacti<\cacti\cacti.sql
C:
\>mysql--user=root--passwordmysql
mysql>GRANTALLONcacti.*TOcactiuser@localhostIDENTIFIEDBY'cactiuser'
mysql>\g
mysql>flushprivileges
mysql>\g
mysql>exit
测试Apache2、PHP5及Mysql
将以下代码保存为PHPTest.php,并保存到Web目录中(C:
\Cacti)
echophpinfo();?
>
在浏览器中输入(http:
//服务器IP/phptest.php)应该可以查看到PHP的配置信息。
Mysql测试:
将以下代码保存为MysqlTest.php,并保存到Web目录中(C:
\Cacti)
php
$link=mysql_connect('localhost','root','123456');
if(!
$link)echo"fail";
elseecho"success";
mysql_close();
?
>
在浏览器中输入(http:
//服务器IP/mysqltest.php)应该可以查看到“Success”成功的消息。
2.配置Cacti
(以下配置请根据实际情况进行配置)
Cacti/include/config.php
$database_default="cacti";
$database_hostname="localhost";
$database_username="root";
$database_password="123456";
利用计划任务每五分钟运行以下命令:
c:
\php5\php.exec:
\cacti\poller.php(轮询是重点,请确认路径,就是用php.exe程序去执行poller.php)
(请打开您的命令提示输入下面
c:
/php/php.exec:
/cacti_web_root/cacti/poller.php
测试是否有输出下面类似信息
C:
\>c:
/php/php.exec:
/cacti_web_root/cacti/poller.php
OKu:
0.00s:
0.06r:
1.32
OKu:
0.00s:
0.06r:
1.32
OKu:
0.00s:
0.16r:
2.59
OKu:
0.00s:
0.17r:
2.62
10/28/200504:
57:
12PM-SYSTEMSTATS:
Time:
4.7272Method:
cmd.phpProcesses:
1Threads:
N/AHosts:
1HostsPerProcess:
2DataSources:
4RRDsProcessed:
2
之后您应该确认cacti.log档案有在/cacti/log/出现跟*.rrd档案有在 /cacti/rra/出现.
点选开始→设定→控制台→排定的工作
点新增排定工作→下一步→点选浏览→并选择C:
\PHP\php.exe
输入排程名称选择每日执行→ 下一步
这边不要变更→下一步
输入执行者的名称及密码→下一步
完成→勾起按下[完成]后开启这项工作的进阶内容
选择上方选项里的→工作将执行里的指令改成(请注意您的poller.php档案的位置)
c:
/php/php.exec:
/cacti_web_root/cacti/poller.php
选择上方选项里的→排程点选进阶
勾选重复执行→每隔改成5分钟→直到:
改成期间24小时0分钟)
3配置php环境变量
假如您使用PHP4建议将安装目录选在c:
\php下面
增加系统变量PATHc:
\php系统变量的设定在控制台→系统→进阶→环境变量→系统变量
新增一个新的系统变量PHPRCc:
\php
新增一个新的系统变量MIBDIRS假如使用PHP4设定如下c:
\php\mibs ,假如使用PHP5设定如下c:
\php\extras\mibs
假如您使用PHP4.3.5或者更少,请建立下面数据夹c:
\tmp
将您的php.ini移到c:
\php下面
假如使用PHP4请将php.ini修改如下
extension_dir=c:
\php\extensions
extension=php_snmp.dll
extension=php_sockets.dll
cgi.force_redirect=0
假如使用PHP5请将php.ini修改如下
extension_dir=c:
\php\ext
extension=php_mysql.dll
extension=php_snmp.dll
extension=php_sockets.dll
cgi.force_redirect=0
假如您使用PHP4.3.5或者更少请修改php.ini如下
session.save_path=c:
\tmp
假如您想上传档案请将php.ini修改如下
file_uploads=On
由于PHP5.0的版本还有一些BUG,运行c:
\php\php.exec:
/apache2.2/htdocs/cacti/poller.php会有一些错误,我们需要修改cacti/cmd.php文件,找到$guess=substr(__FILE__,0,2);在前面加入$guess=strtolower($guess);
打开您的浏览器输入下面网址:
http:
//your-server/cacti/install
并依照指示选择NewInstall然后点选下一步
之后这里需输入一写信息,如rrdtool、php、snmpwalk、snmpget的位置,请依照您上面安装路径输入正确的路径
所有路径都是此档案的绝对路径而不是所在目录
如果事后无法显示出图形请到Configuration→Settings→General→RRDToolUtilityVersion将它改成RRDTool1.2x
如果有图确没文字的话,请到paths里的RRDToolDefaultFontPath-c:
/windows/fonts/arial.ttf
注意:
如果系统是Windows2003Server请将C:
\WINDOWS\system32\cmd.exe及rrdTool跟netsnmp的*.exe加入IIS的使用者读取权限,此举对系统有一定的危险性,如果无相关对策请更改操作系统。
⏹配置Apache服务器:
在Apache的安装目录下找到并打开conf\httpd.conf文件,找到#LoadModulessl_modulemodules/mod_ssl.so这行,在此行后加入下面一行LoadModulephp5_modulec:
/php/php5apache2_2.dllc:
/php/php5apache2_2.dll是php目录中php5apache2_2.dll所在位置,找到AddTypeapplication/x-gzip.gz.tgz这行,此行后加一行AddTypeapplication/x-httpd-php.php,找到DirectoryIndexindex.html在后面加入index.htmindex.php。
五、设置Cacti监控网络设备
1.登录Cacti
在浏览器中输入Cacti服务器的地址,进行登录,初始贴与密码为admin/admin
登录后需要设置相关软件的路径:
登录后的介面如下:
2.添加要监控的设备
1)选择DevicesAdd输入要监控设备的信息,及选择设备类型。
选择所要监控的数据及图形模板(一般采用默认即可,图片里是思科设备的简单配置方法,如果你是要监控linux,请选择主机模板为ucd/netsnmphost,模板很重要,别乱选)。
设备添加完成
3.创建设备图形
选择NewGraphs选择设备所要监控的内容及网络端口
4.创建图形树进行分类管理
选择“GraphTrees”“Add”
根据需要可再添加子树
5.将所创建的图形分配到相应的图形树中
选择“GraphManagement”选择相应图形放置到相应的树或树中相应的子树
查看所建立的图形树
选择“Graphs”,可以查看到我们刚才所创建的树结构。
五、关于不出图的几点原因总结
奇怪的问题
在此,如果你能正确的安装完成,监控应该就没什么问题,但是当你加入端口流量监控的时候,你就会发现,CPU和其他的都正常出图有数据了,但端口却还是红叉,这个问题困扰了我一个星期,莫慌,问题已解决,点击Datasource,然后点一个端口进去,你会看到Maximumvalue的值前面有个空格,你只要把空格删了然后保存就可以出图了(可能是代码的原因),嘿嘿,问题是找到了,如果你只有几个端口监控,那就这样吧,如果你有几百个端口监控,不可能一个个去改吧,米事,我已经将代码修改了(凭个人直觉修改的,治标不治本,能用就行嘿嘿),有困难来找我,代码太多不能贴出来,M我发给你替换一个文件就可以了。
出图很简单,但又不是那么简单,所有环节错一个就不会出图;
首先,你需要确认你cacti安装是没问题的,这个简单;
其次,要确认你被监控设备的snmp配置,重要的是团体名SNMPCommunity和版本号,不知道怎么弄的去XX,可以用snmpwalk命令去检测,XX;
再个,到这里基本没什么问题了,不出图一般就是模板的问题,所谓模板就是将一系列OID组成模板,不出图就是因为OID不正确,这个一般是没问题的,但如果你监控linux机器,请选择ucd/netsnmphost,不要选择locallinuxmachine,不要问为什么,以后会知道的,最好的测试设备是思科路由器,最方便了;
最后,如果到这你都确定没问题,检查一下你的轮询;
确认每一步都没错,不会不出图的。
六、Cacti相关资料
---完---