2. 安裝 Apache, Mysql, Php
yum install httpd php php-mysql mysql mysql-server php-snmp net-snmp-utils
安裝完畢後,設定服務於 Server 啟動後,自動重啟
service httpd start # Start httpd service chkconfig httpd on # Start after init service mysqld start # Start mysql service chkconfig mysqld on # Start after init
mysql 預設 root 密碼為 '' 空值,如要變更如下:
mysqladmin -uroot password '123456'
Mysql for Cacti 配置, 資料庫名稱為 cactidb, 使用者為 cactier
mysql> CREATE DATABASE cactidb; mysql> GRANT ALL ON cactidb.* TO cactier@'192.168.253.%' IDENTIFIED BY '123456'; mysql> FLUSH privileges;
基本配置完成,接下來安裝 rrdtool
3. 安裝 rrdtool
其中主要用到的是 rrdtool-1.2.27-3.el5.i386.rpm 和 rrdtool-devel-1.2.27-3.el5.i386.rpm 和rrdtool-php-1.2.27-3.el5.i386.rpm 這三個 packages.
yum install rrdtool rrdtool-devel rrdtool-php
4. 安裝 Cacti
效能問題:cacti 在做 polling 時,預設會使用 cmd.php 的方式去做,不過它的效能很差,所以需改用 Spine (Cactid)
Spine 使用 C 來取代呼叫 cmd.php ,在效能上提升很多。官方網頁也寫說 ,如果執行 php poller.php 時間超過 300 秒,就需要使用 Spine 。使用方法很簡單,照著官方網頁作就可以了,不在此贅述。個人是覺得 cmd.php 的方法該廢掉了,目前存在的意義只是因為 php 讓 cacti 達成跨平台的特性。
For cacti-spine package, download from here http://pkgs.repoforge.org/cacti-spine/cacti-spine-0.8.7g-1.el5.rf.x86_64.rpm , and then install cacti and spine.
yum install cacti-0.8.7g-1.el5.1.noarch.rpm yum -y localinstall --nogpgcheck cacti-spine-0.8.7g-1.el5.rf.x86_64.rpm
根據 mysql 的設定,修改 spine.conf 的配置
DB_Host 192.168.1.100 DB_Database cactidb DB_User cactier DB_Pass 123456 DB_Port 3306
5. 安裝及配置 snmpd
# yum install net-snmp
在被監控的主機,配置 /etc/snmp/snmpd.conf
rocommunity public #com2sec notConfigUser default public com2sec readonly default public syslocation Taipei syscontact admin@yourdomain.com
測試 snmp
# snmpwalk -v 1 -c public 192.168.1.103 | less SNMPv2-MIB::sysDescr.0 = STRING: Linux w1.yourdomain.com 2.6.18-238.1.1.el5 #1 SMP Tue Jan 4 13:32:19 EST 2011 x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (32300) 0:05:23.00 SNMPv2-MIB::sysContact.0 = STRING: admin@yourdomain.com SNMPv2-MIB::sysName.0 = STRING: w1.yourdomain.com SNMPv2-MIB::sysLocation.0 = STRING: Taipei ...
7. 配置 Cacti
建立 cacti 資料庫
# mysql -u root -p cactidb < /usr/share/doc/cacti-0.8.7g/cacti.sql ## 將 cacti.sql 資料庫文件導入,並輸入 root 密碼即可編輯 /usr/share/cacti/include/config.php,對應到 mysql 的設定
$database_type = "mysql"; $database_default = "cactidb"; $database_hostname = "192.168.100.1"; $database_username = "cactier"; $database_password = "123456"; $database_port = "3306";先暫時把 selinux 關閉,不然不能以 web 執行 install
# setenforce 0修改目錄權限, cacti 服務以 cacti 這個 unix user 在執行
# chown -R cacti /usr/share/cacti/rra # chown -R cacti /usr/share/cacti/log好了,下面就可以用 web 訪問 cacti 進行配置管理了。 筆者所用的 web ip 為 192.168.100.1 從瀏覽器直接訪問以下地址 即可看到 cacti 配置畫面 http://192.168.100.1/cacti/install/ 如果看到以下畫面,則可以進行之後的配置 如果上面全是 [FOUND] ,則可以點擊 Finish 完成,當中的路徑可能與圖片不同。 Finish 後就會出現登入畫面 用戶名 admin, 密碼 admin 即可登入(第一次登作後會強迫修改密碼) 等待 5~10 分鐘後,即會有圖形出現。 8. 安裝 NDOUtils 安裝 NDOUtils,NDOUtils 用來將 Nagios 的配置信息和各 event產生的數據存入資料庫,以實現這些數據的快速檢索和處理。http://packages.sw.be/ndoutils/ndoutils-1.4-0.beta7.3.el5.rf.x86_64.rpm
# yum install postgresql-libs-8.1.22-1.el5_5.1.x86_64 postgresql-8.1.22 perl-DBD-MySQL.x86_64 # rpm -ivh ndoutils-1.4-0.beta7.3.el5.rf.x86_64.rpm配置 mysql for ndo
mysql> create database ndodb; mysql> grant all privileges on ndodb.* to ndouser@'192.168.100.%' IDENTIFIED BY '123456'; mysql> grant all privileges on ndodb.* to ndouser@'192.168.100.%' IDENTIFIED BY '123456'; mysql> flush privileges;載入 ndodb
root@h { /usr/share/ndoutils }$ ./installdb -u ndouser -p 123456 -h 192.168.100.1 -d ndodb編輯以下配置檔
/etc/nagios/nagios.cfg /etc/nagios/ndo2db.cfg /etc/nagios/ndomod.cfg
## /etc/nagios/nagios.cfg broker_module=/usr/libexec/ndomod-3x.o config_file=/etc/nagios/ndomod.cfg
## /etc/nagios/ndo2db.cfg socket_type=unix socket_name=/var/nagios/rw/ndo.sock db_servertype=mysql db_host=192.168.100.1 db_name=cacti db_user=cacti db_pass=123456 db_prefix=npc_
## /etc/nagios/ndomod.cfg output_type=unixsocket output=/var/nagios/rw/ndo.sockRestart nagios and cacti. 9. 安裝 NTop
# yum install ntop設定 ntop admin 密碼
# ntop -A Wed Nov 9 18:17:35 2011 NOTE: Interface merge enabled by default Wed Nov 9 18:17:35 2011 Initializing gdbm databases ntop startup - waiting for user response! Please enter the password for the admin user: Please enter the password again: Wed Nov 9 18:17:41 2011 Admin user password has been set10. Cacti 整合 NPC, Nagios 依據你的 npc 版本,下載 http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz
# {/} tar xvfz cacti-plugin-0.8.7g-PA-v2.8.tar.gz # {/} cd cacti-plugin-arch/ # {/cacti-plugin-arch/} cd files-0.8.7g/ # {/cacti-plugin-arch/files-0.8.7g/} cp -rp * /usr/share/cacti/ # {/cacti-plugin-arch/files-0.8.7g/} cd /usr/share/cacti/ # {/usr/share/cacti/} patch -p1 -N < ~/cacti/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diffModify /usr/share/cacti/include/global.php file
$database_type = "mysql"; $database_default = "cacti"; $database_hostname = "192.168.253.6"; $database_username = "cacti"; $database_password = "e29e776dbdd150c30c55171cb3bcd452"; $database_port = "3306"; $url_path = "/"; ## depend on your apache config回到 Browser 介面 http://service_url/cacti 选择左下的 User Managenment 之后点击 admin 在其中最后一项打钩,并保存 ... 好了,现在 cacti 就支持其他插件功能了,下面把 ntop 和 nagios 加进去就可以了 http://docs.cacti.net/_media/plugin:ntop-v0.2-1.tgz 首先去下载cacti的ntop插件,而后解压至cacti的插件目录: # tar zxvf ntop-0.1.tar.gz -C /var/www/html/cacti/plugins/ 接着配置cacti的主配置文件,启用此插件: # vim /var/www/html/cacti/include/config.php 添加如下内容: $plugins[] = 'ntop'; For NPC https://api.opensuse.org/public/source/server:monitoring/cacti-npc/npc-2.0.4.tar.gz
root@img2 { ~/cacti/npc }$ tar xvfz npc-2.0.4.tar.gz root@img2 { ~/cacti/npc }$ cd ../ root@img2 { ~/cacti }$ cp -rp npc /usr/share/cacti/plugins
接下来到cacti的控制台中"settings"中配置此插件,将其指向实际的ntop服务器所在的URL;然后再到cacti控制台的"user Management"中的admin用户中启用此插件即可。
0 意見:
張貼留言