Cacti安装与配置

 
 
  
  
  1. 安装环境: 
  2. 1.系统:Centos 5.1 
  3. 2.软件包需求:cacti-0.8.7j,mysql-5.0.20,php-5.2.6,apache2.2(以上均为源码包). 
  4. 安装配置过程: 
  5. 1. 安装apache2.2 
  6. 解压软件包,进入安装目录,我的编译过程如下: 
  7. 安装apr和apr-util 
  8. cd httpd-2.2.17/srclib/apr 
  9. ./configure --prefix=/usr/local/apr 
  10. make && make install 
  11. cd ../apr-util 
  12. ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 
  13. make && make install 
  14. # ./configure --prefix=/usr/local/apache --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/bin --enable-mods-shared=all --with-mpm=worker --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache 
  15. # make 
  16. # make install 
  17. Apache编译参数注解 
  18. ./configure   //配置源代码树 
  19. --prefix=/usr/local/apache   //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。 
  20. --enable-module=so   //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块 
  21. --enable-deflate=shared   //支持网页压缩 
  22. --enable-expires=shared   //支持 HTTP 控制 
  23. --enable-rewrite=shared   //支持 URL 重写 
  24. --enable-cache  //支持缓存 
  25. --enable-file-cache  //支持文件缓存 
  26. --enable-mem-cache  //支持记忆缓存 
  27. --enable-disk-cache  //支持磁盘缓存 
  28. --enable-static-support   //支持静态连接(默认为动态连接) 
  29. --enable-static-htpasswd   //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件 
  30. --enable-static-htdigest   //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件 
  31. --enable-static-rotatelogs   //使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道日志程序 
  32. --enable-static-logresolve   //使用静态连接编译 logresolve - 解析 Apache 日志中的IP地址为主机名 
  33. --enable-static-htdbm   //使用静态连接编译 htdbm - 操作 DBM 密码数据库 
  34. --enable-static-ab   //使用静态连接编译 ab - Apache HTTP 服务器性能测试工具 
  35. --enable-static-checkgid   //使用静态连接编译 checkgid 
  36. --disable-cgid   //禁止用一个外部 CGI 守护进程执行CGI脚本 
  37. --disable-cgi   //禁止编译 CGI 版本的 PHP 
  38. --disable-userdir   //禁止用户从自己的主目录中提供页面 
  39. --with-mpm=worker // 让apache以worker方式运行 
  40. --enable-rewrite //让apache支持伪静态规则 
  41. --enable-deflate //开启gzip压缩 
  42. --enable-authn-dbm=shared // 对动态数据库进行操作。Rewrite时需要 
  43. --enable-mods-shared=all 做大化编译 
  44. 安装完成后,编辑apache的配置文件,使之能正常使用: 
  45. # vi /usr/local/apache/conf/httpd.conf 
  46. 找到下面这行: 
  47. #ServerName  
  48. [url]www.example.com:80[/url] 
  49. 改为: 
  50. ServerName yourIP:80 
  51. #Listen 80 
  52. Listen yourIP:80 
  53. 启动apache: 
  54. #/usr/local/apache/bin/apachectl start 
  55. 在浏览器里输入你的IP或者localhost测试一下,是否能看到apache的测试页,成功的话,说明安 
  56. 装成功 
  57. #cp /usr/local/apache/bin/apachectl /etc/init.d/httpd 
  58. vi /etc/rc.d/rc.local 
  59. #apache start 
  60. /usr/local/apache/bin/apachectl start  ---添加apache自启动 
  61. 这样就可以实现service httpd restart 了 
  62. 2.安装mysql-5.0.20 
  63. 解压软件包,进入安装目录,我的编译过程如下: 
  64. # ./configure --prefix=/usr/local/mysql 
  65. # make;make install 
  66. # cp support-files/my-medium.cnf /etc/my.cnf (这一步是将配置文件拷贝到/etc下面) 
  67. 编译选项当中指定安装路径就可以了 
  68. 配置mysql过程: 
  69. #groupadd mysql  
  70. #useradd -g mysql mysql  
  71. #cd /usr/local/mysql  
  72. #./bin/mysql_install_db --user=mysql  
  73. #chown -R root . 
  74. #chown -R mysql var 
  75. #chgrp -R mysql . 
  76. 启动mysql 
  77. #./bin/mysqld_safe --user=mysql & 
  78. 如果看到下面的信息,就说明启动成功了 
  79. # Starting mysqld daemon with databases from /usr/local/mysql/var 
  80. 可以测试一下,看看能不能登陆mysql数据库 
  81. # /usr/local/mysql/bin/mysqladmin -uroot password '你的密码' (给初始登陆mysql的用户 
  82. root设置密码,当 
  83. 然不设置也能登陆,推荐设置密码) 
  84. # /usr/local/mysql/bin/mysql -uroot -p你的密码  (注意: -p后面不要带空格) 
  85. 如果出现下面的欢迎字样,说明连接成功: 
  86. Welcome to the MySQL monitor.  Commands end with ; or \g. 
  87. Your MySQL connection id is 9 to server version: 5.0.20a-log 
  88. mysql> set password for root@localhost=password('cactipw'); 
  89. mysql> Query OK, 0 rows affected (0.00 sec) 
  90. mysql> create database cactidb; 
  91. mysql> grant all on cactidb.* to root;  
  92. mysql> grant all on cactidb.* to root@localhost;  
  93. mysql> grant all on cactidb.* to cactiuser;  
  94. mysql> grant all on cactidb.* to cactiuser@localhost;  
  95. mysql> set password for cactiuser@localhost=password('cactipw'); 
  96. mysql> flush privileges; (See cacti docs/INSTALL) 
  97. mysql> exit 
  98. //select * from user; 
  99. //查询帐号是否添加成功 
  100. 3.安装php-5.2.0 
  101. 解压软件包,进入安装目录,我的编译过程如下: 
  102. # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-xml-config=/usr/local/lib --with-config-file- 
  103. path=/usr/local/php/etc --enable-socket  
  104. #make;make install 
  105. 编译选项中--with-apxs2=/usr/local/apache/bin/apxs 是说将PHP模块编译进apache,-- 
  106. with- 
  107. mysql=/usr/local/mysql  是说指定mysql的路径(其实就是告诉PHP我们的mysql的一些头文件 
  108. 信息,如果你的 
  109. mysql和PHP不是同一台机器的话,指定mysql的头信息是编译必要的),--with-config-file- 
  110. path=/usr/local/php/etc 是说将PHP的主配置文件放在什么地方,这是个人习惯 
  111. #cp php.ini-dist /usr/local/php/lib/php.ini 
  112. #vi /usr/local/apache/conf/httpd.conf 
  113. 找到下面字段: 
  114. DirectoryIndex  
  115. 在iindex.html前面添加index.php 
  116. 并在配置文件最后加入如下字段: 
  117. AddType application/x-httpd-php .php 
  118. AddType application/x-httpd-php-source .phps 
  119. 测试PHP是否正常运行: 
  120. #vi /usr/local/apache2/htdocs/index.php 
  121. 写入下面一行: 
  122. 保存退出后重新启动apache 
  123. #/etc/init.d/httpd start 
  124. 在浏览器里输入IP,如果能够看到phpinfo的测试页,那么PHP已经正常工作了 
  125. 4,安装rrdtool 
  126. tar zxvf rrdtool-1.0.50.tar.gz 
  127. cd rrdtool-1.0.50 
  128. ./configure --prefix=/usr/local/rrdtool 
  129. make  
  130. make install 
  131. 5, net-snmp 安装 
  132. rpm -qa | grep net-snmp 
  133. net-snmp-* 
  134. net-snmp-* 
  135. net-snmp-* 
  136. 编辑本地snmpd: 
  137. vi /etc/snmp/snmpd.conf 
  138. 更改 1、com2sec notConfigUser  default      public 
  139.       改为:com2sec notConfigUser (你想监控的那台机器的IP)      public 
  140.       2、access  notConfigGroup ""      any      noauth    exact  systemview  none 
  141. none 
  142.       改为:access  notConfigGroup ""      any      noauth    exact  all  none  
  143. none 
  144.       3、#view all    included  .1        80 
  145.       将前面的 # 注释 去掉。 
  146. 保存退出 :wq 
  147. service snmpd restart 
  148. 注:如果你机器内没有snmpwalk和snmpge命令,请到安装盘里查找 net-snmp-utils 包,rpm 
  149. -ivh net-snmp-utils-*.rpm 只后这两个命令就在系统里了。其他包也都在安装盘里 确保安装 
  150. 这四个包就OK 
  151. 6,解压cacti的软件包,进行如下操作: 
  152. #mv cacti-0.8.7  /usr/local/apache/htdocs/cacti 
  153. #cd /usr/local/apache/htdocs/cacti 
  154. useradd cactiuser 
  155. passwd cactiuser (pwd:cactipw) 
  156. /usr/local/mysql/bin/mysql –u root –p cactidb 导入数据表 
  157. chown –R cactiuser rra/ log/ 
  158. vi include/config.php  
  159.   $database_type = “mysql”;  
  160.   $database_default = “cactidb”;  
  161.   $database_hostname = “localhost”;  
  162.   $database_username = “cactiuser”;  
  163.   $database_password = “cactipw”; 
  164. 7,修改计划任务,使CACTI每5分钟获得一次数据: 
  165. #crontab -e -u 用户名 
  166. 添加如下内容: 
  167. */5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > 
  168. /dev/null 2>&1 
  169. 保存退出 
  170. #chown -R rra/ log/。 
  171. 8,cacti 配置 
  172. [url]http://localhost/cacti[/url] 
  173. 默认账号密码都是admin 
  174. 配置路径: 
  175. snmpwalk Binary Path : /usr/bin/snmpwalk 
  176. snmpget Binary Path: /usr/bin/snmpget 
  177. RRDTool Binary Path: /usr/local/rrdtool/bin/rrdtool 
  178. PHP Binary Path: /usr/local/php/bin/php 
  179. Cacti Log File Path: /opt/cacti/log/cacti.log 
  180. Cactid Poller File Path: /opt/cacti/poller.php 
  181.  
  182. 9,排错  
  183. 1. 首先检查一下rra/下面,有没有数据,如果没有检查rra/ log/的拥有者是不是cactiuser 
  184. 2. snmpwalk -v 2c -c public ServerIP if 用来测试被控对象(serverIP)是否开启了SNMP服 
  185. 务  
  186. 3. snmpwalk -v 2c ServerIP -c public .1.3.6.1.4.1.2021.10.1.3 查看被控端是否有CPU负 
  187. 载的数据返回  
  188. 4. /usr/local/bin/php /home/wwwroot/cacti/poller.php 用来测试PHP是否可以采集到数据 
  189. 。如果上面的都正确,但这步出错,很有可能是PHP配置的问题,或开启了SuLinux。  
  190. 5. 如果按第2步snmpwalk能采集到数据,但第3步无法采集,可能是PHP设置的问题,修改 
  191. PHP.ini,很有可能是PHP权限问题。如果第4步正常而无法显示图,则可能是rra/ log/ 的 
  192. Owner不对 
  193. 6. #crontab -e 
  194. */5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1 
  195.       //每5分钟自动执行一次数据 
  196. 注意:如果执行没成功是模式没有执行 
  197.   
  198. 或者运行一下该命令看rra文件夹是否有数据 
  199. # /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php 
  200. 查询模式crond的 
  201. [root@localhost bin]# chkconfig --list| grep cron 
  202. anacron         0:off   1:off   2:on    3:off   4:on    5:on    6:off 
  203. crond           0:off   1:off   2:on    3:off   4:on    5:on    6:off 
  204. [root@localhost bin]# chkconfig crond on    //更改模式为启动计划任务 
  205. [root@localhost bin]# chkconfig --list| grep cron 
  206. anacron         0:off   1:off   2:on    3:off   4:on    5:on    6:off 
  207. crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off 
  208.   
  209. php相关环境配置 
  210. 实例一: 
  211. ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-zlib --with-gd --with-gettext --with-gdbm --enable-mbstring --enable-sockets 
  212.   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值