Centos 5.2安裝Cacti并集成Nagios安裝文檔

本文檔并非原創,而是參照網上很多文檔,因為不能全部都把參照者列舉出來,特在此感謝我參照文檔的作者.

一、本文檔所用軟件說明:
.
二、系統環境部署及調整
1. 檢查系統是否正常
? ?# more /var/log/messages? ? ? ? (檢查有無系統級錯誤信息)
? ?# dmesg (檢查硬件設備是否有錯誤信息)
? ?# ifconfig(檢查網卡設置是否正確)
? ?# ping www.163.com? ? ? ? (檢查網絡是否正常)

2. 關閉不需要的服務
? ?# ntsysv
? ?以下僅列出需要啟動的服務,未列出的服務一律推薦關閉:
atd
crond
? ?irqbalance
? ?microcode_ctl
? ?network
? ?sendmail
? ?sshd
? ?syslog
? ?httpd
? ?mysqld

3. 重新啟動系統
? ?# init 6

4. 配置 vim
? ?# vi /root/.bashrc
? ?在 alias mv='mv -i' 下面添加一行:alias vi='vim' 保存退出。
? ?# echo 'syntax on' > /root/.vimrc
? ?# source /root/.bashrc

5. 使用 yum 對系統進行更新并且安裝必要軟件包
? ? ? ? #wget http://dag.wieers.com/packages/r ... 4-1.el4.rf.i386.rpm
? ? ? ? #rpm –Uvh rpmforge-release-0.3.4-1.el4.rf.i386.rpm
? ? ? ? #rpm -Uvh http://download.fedora.redhat.co ... ease-5-2.noarch.rpm
? ?#yum install php mysql http php-gd php-devel php-mysql mysql-devel
# yum update -y
? ?# yum install ntp -y



6. 定時校正服務器時鐘,定時與中國國家授時中心授時服務器同步
? ?# crontab -e
加入一行:
1 */6 * * * ntpdate 210.72.145.44 > /dev/null 2>&1
? ? ? ?
三.CACTI的安裝
1安裝 net-snmp
yum install net-snmp*
注意加個*,把所有的包都裝上,否則沒有cacti需要的命令.

2安裝 php-snmp
yum install php-snmp

3.安裝rrdtool
#yum –y install rrdtool
4.下載最新的CACTI
#wget http://www.cacti.net/downloads/cacti-0.8.7d.tar.gz
# tar -zxf cacti-0.8.7d.tar.gz
# mv cacti-0.8.7d /var/www/html/cact
# cd /var/www/html/cacti/
# mysqladmin -uroot -p create cacti
# mysql -u root -p
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
mysql> flush privileges;

#mysql -ucactiuser -pcactiuser cacti < /var/www/html/cacti/cacti.sql

crontab -e
插入
*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1
保存退出。

5.安裝安裝Cacti Plugins Arch

#wget http://mirror.cactiusers.org/dow ... -0.8.7d-PA-v2.4.zip
# tar xzf cacti-plugin-arch.tar.gz

plugin arch的安裝有兩種方法,第一中是運行patch文件修改現有的內容,第二種是使用已經patch好的文件覆蓋源文件,我用第二種,直接把files-0.8.7b下面的文件復制到cacti下面
# cd cacti-plugin-arch
#cp??files-0.8.7b/* /var/www/html/cacti/
# mysql -ucactiuser -pcactiuser cacti<pa.sql
**********這個文件不導入的話,將來會看不到plugin management這個頁面,對其他的影響不大,但是我們要用npc(nagios plugin),一定要用這個

現在cacti的配置文件global.php
# vi /var/www/html/cacti/include/global.php
找到
$database_username = "cactiuser";
$database_password = "cactiuser"; //設置成自己數據庫用戶名和密碼

如果你的把CACTI放到WEB目錄的根目錄就不用改下面的設置,我的是放到CACTI目錄下所以把下面的參數改成
$config['url_path'] = '/cacti/';

插件安裝(這里只介紹一般插件的安裝,主要講NPC的安裝)

# cd /soft
#wget http://cactiusers.org/downloads/settings.tar.gz
# wget http://cactiusers.org/downloads/thold.tar.gz
# wget http://www.assembla.com/spaces/n ... c-2.0.0b.166.tar.gz
# mv download\?filename\=npc-2.0.0b.166.tar.gz npc-2.0.0b.166.tar.gz


# tar zxf settings-0.5.tar.gz
# tar zxf thold-0.3.9.tar.gz
# tar zxf npc-2.0.0b.166.tar.gz
# cp -rf settings thold npc /var/www/html/cacti/plugins/

接下來在global.php中加載settings和thold
# vi /var/www/html/cacti/include/global.php
添加下面內容
$plugins[] = 'settings';
$plugins[] = 'thold';
回到網頁中,記得要去user managerment里面,給予相應用戶的permissions,具體做法是,點頁面左邊的菜單User Managerment,然后在右邊點擊某個用戶(如admin),然后在Realm Permissions中選中相應的選項即可。

而NPC,直接進入網頁,點擊左邊的Plugin Management,然后在右邊的Uninstalled中install NPC,在Installed中enable NPC,就可以了。

安裝php-json,在npc中要用到php-json這個組件,如果沒有安裝在npc中只是一片空白
# wget http://aurore.net/projects/php-json/php-json-ext-1.2.1.tar.bz2
# tar jxf php-json-ext-1.2.1.tar.bz2
# cd php-json-ext-1.2.1
# ./configure &&make &&make install
因為編譯安裝的不會加載到php中,所以要手動加個配置文件
# vi /etc/php.d/json.ini
extension=json.so

四,nagios的安裝
1. # mkdir /usr/local/nagios
# useradd nagios -d /usr/local/nagios
# passwd nagios
# chmod 755 /usr/local/nagios/
# grep ^User /etc/httpd/conf/httpd.conf
User apache
查找運行apache的用戶

# groupadd nagcmd
# usermod -G nagcmd apache
# usermod -G nagcmd nagios

2下載并安裝nagios
nagios 主頁:http://www.nagios.org
nagios 當前版本:nagios-3.0.6
nagios 插件當前版本:nagios-plugins-1.4.6
fruity:圖形化配置nagios的工具,需要php5.x版本才能運行
http://heanet.dl.sourceforge.net/sourceforge/fruity/
http://pear.php.net/get/HTML_TreeMenu-1.2.1.tgz
http://puzzle.dl.sourceforge.net/sourceforge/adodb/adodb471-1.tgz
將HTML_TreeMenu-1.2.0.tgz和adodb471-1.tgz直接解壓復制到fruity 下 分別改名為HTML 和adodb 其他不做修改 修改 fruity/includes下的config.ifg,需要更改的地方有,路徑,mysql信息 mysql 添加fruity 數據庫和user,password. 這樣,就可以用fruity來進行配置了。 注意:在cacti服務器上的mysql版本必須是4.1以上,因為npc是以mysql4.1為基礎進行開發的。centos7搭建apache服務器、

# tar zxf nagios-cn-3.0.6.tgz

# cd nagios-cn-3.0.6
#./configure --prefix=/usr/local/nagios --with-gd-lib --with-gd-inc --enable-event-broker
# make all
# make all install
# make install-init? ?//安裝啟動腳本到/etc/init.d/
# make install-commandmode
# make install-config ? ? ? ? ? ? ? ? ? ? ? ? //安裝初始配置文件到/usr/local/nagios


nagios-plugins的安裝
#cd /soft
# tar zxf nagios-plugins-1.4.13.tar.gz
# cd nagios-plugins-1.4.13
# ./configure --prefix=/usr/local/nagios-plugins
# make&&make install
安裝完成以后在/usr/local/nagios-plugins會產生一個libexec的目錄,將該目錄全部移動到/usr/local/nagios目錄下即可。 如下:
# mv /usr/local/nagios-plugins/libexec /usr/local/nagios/

現在配置apache:
在apache的httpd.conf文件中加入如下內容:
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
<Directory "/usr/local/nagios/sbin/">
? ? ? ? AllowOverride AuthConfig
? ? ? ? Options ExecCGI
? ? ? ? Order allow,deny
? ? ? ? Allow from all
</Directory>

Alias /nagios/ /usr/local/nagios/share/
<Directory "/usr/local/nagios/share">
? ? ? ? Options None
? ? ? ? AllowOverride AuthConfig
? ? ? ? Order allow,deny
? ? ? ? Allow from all
</Directory>
然后重啟apache


配置頁面訪問權限:
在/usr/local/nagios/share目錄下加個.htaccess文件
# cd /usr/local/nagios/share
# vi .htaccess
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd
require valid-user

然后復制此.htaccess文件到/usr/local/nagios/sbin下
# cp .htaccess /usr/local/nagios/sbin
# htpasswd -c /usr/local/nagios/etc/.htpasswd nagiosadmin

這個apache目錄根據安裝目錄的不同而不同,用htpasswd命令生成用戶名和密碼以控制訪問權限。

配置和啟動nagios過程
# cd /usr/local/nagios/etc
把目錄里的.cfg-sample文件全部拷貝成.cfg
例如:
# cp nagios.cfg-sample nagios.cfg
修改cgi.cfg,把use_authentication=1改為use_authentication=0,即不用驗證.不然有一些頁面不會顯示。
修改后用如下命令檢查配置文件是否正常:
#/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg

如果出現如下顯示就說明配置沒問題
Total Warnings: 0
Total Errors:? ?0

現在您就可以http://您的IP/nagios/訪問nagios了

五集成nagios到cacti
.1.安裝NDoutils
NDoutils是把Nagios的數據寫到mysql里的插件,這個是集成的關鍵
http://www.nagios.org/download/addons/中下載ndoutils-1.4b7

#cd /soft
# tar zxf ndoutils-1.4b7.tar.gz
# cd ndoutils-1.4b7
# ./configure
#make
然后直接把我們想要的程序及配置文件復制到nagios中就可以
# cd src
# cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin
# cd ../config
# cp ndomod.cfg ndo2db.cfg /usr/local/nagios/etc/
修改相關配置文件
# vi /usr/local/nagios/etc/ndo2db.cfg
db_name=cacti
db_prefix=npc_
db_user=cactiuser
db_pass=cactiuser
debug_level=1
這里是用Cacti在mysql中使用的用戶和密碼以及數據庫.

修改nagios的配置文件,使ndoutils可以在nagios中加載
# vi /usr/local/nagios/etc/nagios.cfg
更改
check_external_commands = 1
command_check_interval = -1
event_broker_options = -1
添加
broker_module = /usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg

然后分別啟動NDoutils和Nagios
#/usr/local/nagios/bin/ndo2db-3x –c /usr/local/nagios/etc/ndo2db.cfg
# service nagios restart

讓NDoutils開機就啟動
# echo “/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg” >>/etc/rc.local

配置到此結束

?