以下基於Centos5.0 下,完整教程,其中有可能省略了解壓縮包的命令,
如果是,希望大家自己弄,就不用我說了吧。
這個過程是我2007年9月-10月間,自己通過找教程弄來的,
按這個過程走100%可以完成安裝,並畫出中文圖
前言,安裝centos
安裝時一般最小安裝,但gcc等工具要裝上,還有 snmp 軟體包,這樣避免裝完以後再yum安裝,而且據說yum等安裝的snmp很多時候不是很好用,具體不知。
安裝完以後,一般只留以下服務即可,並關閉防火牆。
crond
httpd //以後裝的
iptables
kudzu
mysqld //以後裝的
network
sendmail
snmpd
snmptrapd
sshd
yum-updatesd
使用軟體如下
cacti-0.8.6j-cn.tar.gz
freetype-2.3.5.tar.gz
httpd-2.2.6.tar.gz
libart_lgpl-2.3.17.tar.gz
libpng-1.2.18.tar.gz
zlib-1.2.3.tar.gz
mysql-5.0.45-linux-i686-glibc23.tar.gz
php-5.1.6.tar.gz
rrdtool-1.2.23.tar.gz
fonts-chinese-3.02-9.6.el5.noarch.rpm
一,安裝 Mysql
1. 從http://www.mysql.com 下載二進位版的Mysql安裝包 //這個MYSQL是二進位版的,不用編譯
2.將mysql的壓縮包複製到/usr/local/ 目錄
# cp mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz /usr/local
3. 解壓縮到/usr/ocal/下並改名為mysql,並為了節省空間,刪除mysql安裝包
# tar xzvf mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz
# mv mysql-standard-5.0.15-linux-gnu-i686-glibc23 mysql
# rm mysql-standard-5.0.15-linux-gnu-i686-glibc23
4.建立mysql組,建立mysql用戶並且加入到mysql組中
# groupadd mysql
# useradd mysql -g mysql
5. 覆蓋/etc/my.cnf
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
6. 進入mysql目錄初試化表並且規定用mysql用戶來訪問。初始化表以後就開始給mysql和root用戶設定訪問許可權
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql
7. 設定root能訪問/usr/local/mysql
# chown -R root .
8. 設定mysql用戶能訪問/usr/local/mysql/data ,裡面存的是mysql的資料庫文件.這個目錄是在/etc/my.cnf中有配置,在mysql_install_db時產生
# chown -R mysql data
9. 設定mysql用戶能訪問/usr/local/mysql/data/mysql下的所有文件
# chown -R mysql data/.
10.設定mysql組能夠訪問/usr/local/mysql
# chgrp -R mysql .
11. 運行mysql,如果沒有問題的話,應該會出現類似這樣的提示:
42264
Starting mysqld daemon with databases from /usr/local/mysql/var
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
如果出現 mysql ended這樣的語句,表示Mysql沒有正常啟動,你可以到log中查找問題,Log文件的通常在/etc/my.cnf中配置。大多數問題是許可權設置不正確引起的。
12. 用如下命令修改MYSQL密
# /usr/local/mysql/bin/mysqladmin -u root password yourpassword
13. copy編譯目錄的一個腳本,設置使mysql每次啟動都能自動運行
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
14. 啟動mysqld服務
# service mysqld start
二,編譯Apache
# ./configure --prefix=/usr/local/apache --enable-so
# make
# make install
# cp /usr/local/apache/bin/* /usr/bin/
# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
使用編輯器打開httpd文件,並在第一行#!/bin/sh下增加兩行文字如下
# chkconfig: 345 80 15
# description: Apache
接著註冊該服務
#chkconfig --add httpd
三,編譯 PHP
註:直接複製以下代碼,有可能因為空格及回車問題導致不完整,請仔細驗證
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-mysqli=/usr/local/mysql/bin/mysql_config --with-xmlpc --enable-sockets --enable-mbstring --with-pcre-regex
# make
# make install
# cp /usr/local/php/bin/* /usr/bin
# cp php.ini-dist /usr/local/php/lib/php.ini
# vi /usr/local/apach/conf/httpd.conf
添加如下2行:(添在AddType *** 之後,自己看)
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
四,編譯安裝libpng,freetype,libart_lgpl,zlib
編譯 zlib
#./configure --prefix=/usr
#make
#make install
編譯 libpng
#cp scripts/makefile.gcmmx makefile
#./configure --disable-shared --prefix=/usr
#make
#make install
編譯 freetype
#./configure --disable-shared --prefix=/usr
#make
#make install
編譯 libart_lgpl
#./configure --disable-shared --prefix=/usr
#make
#make install
五,編譯 rrdtool
解壓縮后,修改rrd_graph.c.將(行數因版本問題,可能不同,請自己看好),然後再編譯
行51: {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,4, 0,"%d日(%H:%M)"},
行53: {180, 24*3600, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,12, 0,"%d日(%H:%M)"},
行55: {600, 0, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"周%a(%d日)"},
行56: {1200, 0, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"%d日"},
行57: {1800, 0, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"周%a(%d日)"},
行58: {2400, 0, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"周%a(%d日)"},
行59: {3600, 0, TMT_DAY,1, TMT_WEEK,1, TMT_WEEK,1, 7*24*3600,"%V周"},
行60: {3*3600, 0, TMT_WEEK,1, TMT_MONTH,1, TMT_WEEK,2, 7*24*3600,"%V周"},
行3065: //setlocale(LC_TIME,"");
稈3066: #ifdef HAVE_MBSTOWCS
行3067: setlocale(LC_ALL,"zh_CN");
# ./configure
# make
# make install
# cp /usr/local/rrdtool/bin/* /usr/local/bin/ //複製文件
# ln -s /usr/local/rrdtool-1.2.6 /usr/local/rrdtool //改名
六,上傳cacti,以及導入資料庫等
按我的教程,上傳文件到 /usr/local/apache/htdocs/cacti 就可以用ip訪問了
apache的配置和cacti的.php文件如何連資料庫我就不說了
1,建mysql資料庫,建議使用phpmyadmin,那些命令太煩了,但注意下圖
http://www.chinacentos.com/uploads/200710/11_194328_1.gif
http://www.chinacentos.com/uploads/200710/11_194545_2.gif
七,設置snmp
修改 /etc/snmp/snmpd.conf
1、查找以下欄位:
代碼:
# sec.name source community
com2sec notConfigUser default public
將"comunity"欄位改為你要設置的密碼.比如"chinacentos".
將「default」改為你想哪台機器可以看到你的snmp信息,如10.10.10.10。授權伺服器IP
2、查找以下欄位:代碼:
####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact systemview none none
將"read"欄位改為all.
代碼:
#access notConfigGroup "" any noauth exact all none none
3、查找以下欄位:代碼:
## incl/excl subtree mask
#view all included .1 80
將該行前面的"#"去掉.
4、查找以下欄位:代碼#
#name incl/excl subtree mask(optional)
添加一行view all included .1
變成
#name incl/excl subtree mask(optional)
view all included .1
5、查找一下欄位:代碼
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
將該行前面的"#"去掉.
八,設置poller.php 自動採集數據
#crontab -u root -e
然後輸入 (/5,是5分鐘執行一次的意思,可以改你要的時間。具體用法可以baidu一下crontab)
為什麼用root執行,簡單,如果有條件,就單獨建用戶,不過我覺得沒什麼。
如果單獨建用戶,上邊的命令就要改成 -u user -e ,如果用root來執行這個命令,還要再加一下
chown -R user catci/rra cacti/log 呵呵
*/5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
手工執行以上命令是
#/usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php ,也是同樣效果
這裡插一條,要安裝字體庫
# rpm -ivh fonts-chinese-3.02-9.6.el5.noarch.rpm
九,使用cacti,並設置流量圖
安裝完cacti以後,點 全局配置-路徑
/usr/share/fonts/zh_CN/TrueType/ukai.ttf 這個是設置中文字體文件的路徑,自己修改。
點 圖象輸出 ,輸出方式為 輸出到本地
1,登陸cacti,點 新建設備
描述,設備名,都寫ip地址就行,好區分
設備模板選擇 uct/net snmp 設備
「SNMP連接字元串」 這裡就是叫你改的snmpd.conf 的裡邊那個密碼
其他默認
點 創建 以後,再點 為此設備生成圖像
數據查詢 ,這裡選擇 eth0 ,就是第二個,再點 創建 ,這樣,網卡的流量圖就有了,等幾分鐘,就有圖了。
這個是建立網卡的,這個設置比較特殊,如果要看cpu和內存的圖(使用 ucd/net 模板)
那你要先建立 數據源
再建立 圖象
具體自己研究。。
[火星人 ] cacti漢化版+rrdtool1.2+apache+php+mysql+lib等,完整配置過程已經有506次圍觀