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.   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章