Linux Mysql cacti安裝配置
2024-07-24 12:40:35
供稿:網友
cacti是一套開源的網絡監控工具,可以監控主機的狀態和負載情況,添加相應的模板后, 可以用來監控apache服務器和mysql服務器的運行狀態,我安裝這個 主要是為了監控mysql服務器的運行狀態的。 cacti的網站:http://www.cacti.net/ 主機環境:CentOS 5.5 更新日期:20100717 mysql: mysql-5.0.77-4.el5_5.3 php: php-5.1.6-27.el5 apache: httpd-2.2.3-43.el5.centos cacti安裝時會要求一些組件,比如snmp, php-xml,php-ldap(可選),這些倒不用太擔心, 因為安裝LAMP環境的時候多少也裝了一些,即便沒有,請使用yum命令, 我感覺centos的這個還是挺好的,雖然軟件有時有些老了,但是還是可以用的。 手動把snmp的相關程序裝下,不然最后首次配置的時候會找不到一些snmpwalk,snmpget什么的 [root@tigertall bin]# rpm -qa|grep snmp php-snmp-5.1.6-27.el5 net-snmp-utils-5.3.2.2-9.el5_5.1 net-snmp-5.3.2.2-9.el5_5.1 net-snmp-devel-5.3.2.2-9.el5_5.1 net-snmp-libs-5.3.2.2-9.el5_5.1 [root@tigertall bin]# 如果以上組件有缺失,請使用yum自己安裝下。 使用yum安裝 cacti [gaohu@tigertall ~]$ sudo yum install cacti 這個命令會自動安裝相關的組件。 1.php配置要求 [gaohu@tigertall ~]$ php -m 這個命令可以檢查php安裝了哪些模塊。 要求php擴展支持中已經配置了mysql.so,centos yum默認環境下 httpd的conf文件配置在 /etc/httpd/conf/httpd.conf 默認的加載項(php,mysql)配置目錄 /etc/httpd/conf.d。 [root@tigertall conf.d]# ls bugzilla.conf manual.conf php.conf proxy_ajp.conf README ssl.conf welcome.conf cacti.conf perl.conf phpMyAdmin.conf python.conf squid.conf webalizer.conf [root@tigertall conf.d]# 可以看到,很多web相關的配置都在這里。 php的基礎配置在 /etc/php.ini。 [root@tigertall conf.d]# cd /etc/php.d [root@tigertall php.d]# ls dbase.ini gd.ini mcrypt.ini mysql.ini pdo_mysql.ini pgsql.ini xmlwriter.ini dom.ini ldap.ini mhash.ini ncurses.ini pdo_pgsql.ini snmp.ini xsl.ini eaccelerator.ini mbstring.ini mysqli.ini pdo.ini pdo_sqlite.ini xmlreader.ini [root@tigertall php.d]# php.d目錄下設置了一些php擴展組件的配置。查看mysql.ini,啟用extension=mysql.so 查看snmp.in,啟用extension=snmp.so 如果要啟用導入模板的功能,還要啟用文件上傳,在/etc/php.ini中啟用 file_uloads=on; 注釋以下,如果沒有注釋 session.save_path = /tmp; 2.apache配置要求 在apache配置/etc/httpd/conf.d/php.conf中,檢查一下語句是否啟用,一般情況下, 應該是已經默認啟用了的。 # PHP is an HTML-embedded scripting language which attempts to make it # easy for developers to write dynamically generated webpages. LoadModule php5_module modules/libphp5.so # # Cause the PHP interprester to handle files with a .php extension. AddHandler php5-script .php AddType text/html .php # # Add index.php to the list of files that will be served as directory # indexes. DirectoryIndex index.php 3.mysql配置要求 請記得給root設置一個秘密,以保護自己安全,呵呵。 可以使用如下的命令來更改root的密碼: mysqladmin --user=root password somepassword mysqladmin --user=root --password reload 4.cacti安裝配置 1.使用如下命令來安裝cacti,這個會自動安裝需要的組件。 [root@tigertall php.d]# yum install cacti 2.創建mysql數據庫 [root@tigertall php.d]# mysqladmin -uroot -phandomse create cacti 3.導入默認的cacti數據庫 如果使用yum默認安裝,創建數據庫的腳本默認在/usr/share/doc/cacti-0.8.7f/cacti.sql [root@tigertall php.d]# cd /usr/share/doc/cacti-0.8.7f/ 執行創建數據庫的命令 [root@tigertall 0.8.7.f]# mysql -uroot -phandomse cacti < cacti.sql 4.創建cacti數據庫的用戶和密碼, 登錄到數據庫 [root@tigertall 0.8.7.f]# mysql -u root -p 'pass' 用戶授權,請把用戶名,數據庫和密碼換成自己需要的設置。 mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword'; 刷新權限 mysql> flush privileges; 5.編輯cacti配置,做數據連接設置 [root@tigertall include]# vi /usr/share/cacti/include/config.php 這里有cacti連接使用的數據庫類型,用戶名,密碼信息 /* 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 = "cactiuser"; $database_port = "3306"; /* Default session name - Session name must contain alpha characters */ #$cacti_session_name = "Cacti"; 把上述配置按照自己的需要設置 6.目錄權限設置 [root@tigertall include]# cd /usr/share/cacti/ [root@tigertall cacti]# ll rra lrwxrwxrwx 1 root root 18 Jul 17 15:07 rra -> /var/lib/cacti/rra [root@tigertall cacti]# ll log lrwxrwxrwx 1 root root 15 Jul 17 15:07 log -> /var/log/cacti/ 從上述可以看到,rra實際上是var/lib/cacti/rra的一個軟鏈接,log則是/var/log/cacti的一個軟鏈接。 更改上述目錄的權限,按需要更改屬主,下面生成數據會用到這個用戶。 [root@tigertall cacti]# chown -R gaohu rra/ log/ 7.配置自動作業時間 編輯crontab。 [root@tigertall log]# crontab -e 增加如下內容, */5 * * * * gaohu php /usr/share/cacti/poller.php > /dev/null 2>&1 以上內容意思是,每隔五分鐘,執行下php腳本,統計下數據。 這里的目錄要換成你實際cacti的安裝目錄位置,用戶要使用上面配置的用戶。 8.登錄服務器 登錄http://your-webserver/cacti 初始登錄時,用戶名和密碼為admin,登錄后,會要求立即切換密碼。 4.Spine安裝配置(可選) spine是一個基于C語言的,非常快速的輪詢引擎。它是默認的cmd.php的可選替代。如果決定使用它的話, 需要自己來顯式的安裝和配置。cacti本身并不包含該引擎。 安裝Spine的最簡單的方法就是使用rpm或者使用ports。如果使用yum來進行安裝,需要添加rpmforge的軟件倉庫。 如果使用源碼,可以在cacti的主站下載源碼包。下載的地址為: http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz 1.從cacti網站下載spine源碼包 2.解壓到本地目錄,編譯安裝 安裝spine需要有net-snmp-devel、mysql、mysql-devel、openssl-devel支持,請查看下是否已經安裝。 使用以下命令來編譯安裝: tar xvzf cacti-spine-0.8.7g.tar.gz cd cacti-spine-0.8.7g ./configure make make install 默認安裝在/usr/local/spine/目錄下。 3.復制一份spine的配置文件。 [root@tigertall etc]# cd /usr/local/spine/etc/ [root@tigertall etc]# cp spine.conf.dist spine.conf 編輯spine.conf文件,設置Cacti數據的連接信息。 DB_Host localhost # 主機地址 DB_Database cacti # 數據庫 DB_User gaohu # 數據庫用戶 DB_Pass pass # 數據庫連接密碼 DB_Port 3306 # 數據庫連接端口 DB_presG 1 # 如果要配合0.8.7g之前的0.8.7的cacti工作,則配置成為1。 # 因為我主機安裝時cacti 0.8.7e 所以設置成了1。 # 如果都是從g版本的源碼安裝,可以設置為0 4.設置Spine a)以admin用戶登錄到Cacti。 b)從目錄菜單中選擇設置"Settings",選擇"Paths"選項卡。 c)在"Spine Poller File Path"中輸入Spine可執行程序的完整路徑,對我來說是/usr/local/spine/spine,保存設置。 d)選擇"Poller"選項卡。 e)在"Poller Type"下拉框設置中,選擇"spine"。 完成這些設置后,Cacti將會每5分鐘執行一次Spine,來代替原來的cmd.php。 如果使用spine的過程中有任何問題,你可以隨時將"Poller Type"切換回"cmd.php"。 4.應用補丁(可選) 安裝完成后,如果覺得需要,可以打相應的補丁,但是,不要把就版本的補丁打到新的版本上。 大致的安裝過程就是這樣了。 5.Cacti的設置 下一篇寫吧,呵呵 ^_^。