Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5473371
  • 博文数量: 890
  • 博客积分: 12876
  • 博客等级: 上将
  • 技术积分: 10760
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-04 14:18
个人简介

猝然临之而不惊,无故加之而不怒。

文章分类

全部博文(890)

文章存档

2016年(1)

2014年(18)

2013年(41)

2012年(48)

2011年(65)

2010年(84)

2009年(121)

2008年(101)

2007年(129)

2006年(95)

2005年(118)

2004年(69)

分类: 系统运维

2011-10-22 11:52:24

摘自:
http://www.cnblogs.com/Vegaslee/archive/2010/08/31/1813837.html

【Vegas原创】Windows 2003下CACTI的安装及配置

前期准备:

平台:Windows2003

需要安装的软件:

Apache2.0.63 

PHP5.2.2 

MySQL5.1.50 

cacti-0.8.7g  

cygwin   需在线安装

rrdtool-1.2.15 

Spine(Cactid)0.8.7 

net-snmp-5.5  

 

 

1,安装Apache

按提示默认安装即可。

注意:如果有80端口或是8080端口已经占用,请更改Apache安装文件目录conf文件夹的httpd.conf里,listen的端口为808X:

## Listen: Allows you to bind Apache to specific IP addresses and/or# ports, instead of the default. See also the # directive.## Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)##Listen 12.34.56.78:80Listen 8083

 

  我的80端口和8081端口已被占用,所以Apache的测试页为: 

  image

  如果系统任务栏中Apache的有小箭头为绿色,而且可以显示以上页面,代表Apache安装成功。

 

2,安装PHP:

   1)我将安装路径改为:C:\PHP ,以便以后使用;。

image

下一步,选择步骤1安装的Apache版本.我安装的是Apache2.0.63,所以选择Apache2.0.x

  image

  下一步,选择Apache conf文件路径:

image

下一步,选择全部安装:

image

  2)更改php.ini ,路径:C:\PHP\php.ini

寻找以下内容,取消注释或修改下列内容:

extension_dir = c:\php\extextension=php_mysql.dllextension=php_snmp.dllextension=php_sockets.dllcgi.force_redirect = 0register_argc_argv = Onsafe_mode = Offupload_tmp_dir = "C:\PHP\Uploadtemp"session.save_path="C:\PHP\Session"
 

 image

image

3)在c:\php 文件夹中建Uploadtemp 和Session 子文件夹,并将其权限改为可写;

 

3, 更改Apache配置文件,httpd.conf 路径:C:\Program Files\Apache Group\Apache2\conf\httpd.conf

    1), 将 #BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL 部分 替换为:

PHPIniDir "C:/PHP/"LoadModule php5_module "C:/PHP/php5apache2.dll"AddType application/x-httpd-php .phpAddType application/x-httpd-php .html .htmDirectoryIndex index.php index.html index.htm

   2), 更改:【请看好位置再改,别把Directory根目录给覆盖掉啦】

DocumentRoot "C:/http/cacti"
"C:/http/cacti">

image

3), 注释掉:

;extension=php_sam.dll

 

4),重启Apache,

 

5),在c:/http/cacti目录中新增一test.php文件:

  浏览,查看: 

  image

  It’s OK.

 

  小提示:APACHE的Log地址在:C:\Program Files\Apache Group\Apache2\logs ,如有错误,记得去查!

 

4,安装MySQL5

  全部按默认装即可,root密码我设为123456。

 

  将上一步骤中test.php内容改为:

'localhost','root','123456');if(!$link) echo "fail";else echo "success";mysql_close();?>

测试:  

image

OK!

 

5,安装CACTI

   1)将cacti压缩包解压到 c:\http\cacti 中

   2)编辑:C:\http\cacti\include\config.php文件:

/* make sure these values refect your actual database/host/user/password */$database_type = "mysql";$database_default = "cacti";$database_hostname = "localhost";$database_username = "cactiuser";$database_password = "cacti";$database_port = "3306";

 

6,导入CACTI数据库

mysqladmin --user=root --password create cactimysql --user=root --password cacti < C:\http\cacti\cacti.sqlmysql --user=root --password mysql mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cacti';mysql> flush privileges;mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('cacti') WHERE Host = 'localhost' AND User = 'cactiuser';mysql> FLUSH PRIVILEGES;mysql> exit

image

 

7,安装其他软件

1)安装Cygwin

   直接在线安装即可。如需要在cmd下玩Linux指令,则将C:\cygwin\bin添加到环境变量PATH中即可:)

 

2)安装RRDTool

    将ZIP 文件解压缩到C:\rrdtool 文件夹中

 

3)安装Net-SNMP

    默认安装net-snmp-5.5.0-1.x86.exe即可。

 

4)安装Spine

将该ZIP 包解压缩到c:\cacti,并编辑spine.conf 文件如下:

DB_Host localhostDB_Database cactiDB_User cactiuserDB_Pass cactiDB_Port 3306

 

 

8,测试CACTI

  1)运行,转到以下页面:

   image

2)下一步,选择new install

3)下一步,全部文件found:

image

4)FINISH,OK了

5)登陆页面,输入用户名:admin 密码admin ,更改密码,安装ok

 

PS: CACTI LOG位置如下图: 有任何情况,记得查log!

image

 

9, 运行CACTI

1) cmd中,输入:

php C:\http\cacti\poller.php

image 报错:(

 

解决方法:

(1)添加环境变量MIBDIRS:

image

(2)关掉当前cmd,重新打开新的cmd;

(3)再来一次:

php C:\http\cacti\poller.php

  OK了

 

2)设置计划任务,并设为每5分钟启动一次,9999小时后过期。

运行:C:\PHP\php.exe C:\http\htdocs\cacti\poller.php

起始于:C:\http\htdocs\cacti

image

image

 

常见故障解决:

1, CACTI无图或无数据?

  (1)无数据?

snmpwalk -v 2c -c public yourIP if

如果有数据返回,则snmp的数据没有问题。如果出现“Timeout: No Response from ...”之类的错误信息则是snmp设置的问题。

(2)有图无数据?

    一般这样的情况就是snmp采集的结果有问题。这种情况下,一般也会出现新建的device的Data Query里面的状态总是“ Success [0 Items, 0 Rows]”。通过执行snmp命令来检查:

snmpwalk -c community -v 2c hostIP if

通过结果可以看到是否允许cacti取这些OID的数据。 
eg:

snmpwalk -c public -v1 localhost .1.3.6.1.2.1.2.2.1.16.2

 

2,XP环境下,CACTI 的任何页面都是空白?

这个问题很郁闷,最后追代码半天,是cacti安装目录lib文件下的database.php的函数 function db_connect_real($host, $user, $pass, $db_name, $db_type, $port = "3306", $retries = 20) 里的:

if ($cnn->PConnect($hostport,$user,$pass,$db_name)) 此句话报错。原因很简单,mysql连接的问题~~~

最后,通过tasklist,才发现是php_mysql.dll没有加载~~

      小技巧:查看任务管理器所有进程加载的dll:

         tasklist -m>c:\a.txt

         image

         找到apache.exe,查看相应加载的dll:

         image

      无法加载php_mysql.dll文件,原因是php_mysql.dll依赖于libmysql.dll,libmysql.dll其实在php的根目录是存在的;但之前我在2003里用安装程序装了mysql,可能是mysql里已经有了这样一个文件,且在安装的时候把mysql的bin目录加到了系统的path环境变量里,所以在2003下能正常使用,但在xp里确不行。

      解决的方法:

      把php根目录下面的libmysql.dll文件copy到system32目录下面。

 

================================================================================

此文章特别鸣谢Stephen的支持~

 

参考资料:

1, Cacti_For_Windows安装手册(抛砖引玉版)

2, 

3, 

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