nagios+cacti+nconf部署文檔

這是我在線上部署參考的文檔,期間遇到各種問題,比如nagios爲off狀態,沒有數據顯示等等,最後和百度大神一起都一一解決了,

Nagios+Cacti+Nconf


系統:CentOS5.8-x86_64


安裝前的準備工作

yum install -y httpd-* mysql-* php-* net-snmp* gcc glibc glibc-common gd gd-devel

一、nagios 環境的搭建

1.安裝nagios

wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.3.1/nagios-3.3.1.tar.gz

useradd nagios

tar zxf nagios-3.3.1.tar.gz

cd nagios

./configure -prefix=/var/www/html/nagios

make all

make install && make install-init && make install-commandmode && make install-config && make install-webconf

2.增加nagios登陸認證文件,一定要用默認的nagiosadmin作爲用戶,否則需要修改其他文件。

htpasswd -c /var/www/html/nagios/etc/htpasswd.users nagiosadmin

3. 安裝插件:

wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz

tar -zvxf nagios-plugins-1.4.15.tar.gz

cd nagios-plugins-1.4.15

./configure -prefix=/var/www/html/nagios/

make

make install

4.將運行Apache的用戶添加到nagios組裏,這樣Apache纔有權限讀取文件

usermod -G nagios apache ##將apache用戶加到nagios組。

5.階段測試

chown nagios.nagios /var/www/html/nagios/ -R

service httpd restart

chkconfig httpd on

/etc/init.d/nagios start

二:cacti環境的搭建

1.rrdtool的安裝,

#tar -zxvf rrdtool-1.4.5.tar.gz

#./configure --prefix=/usr/local/rrdtool

#make

#make install

安裝rrdtool的時候報錯

解決方法:yum -y install zlib zlib-devel libpng libpng-devel freetype freetype-devel libart_lgpl

libart_lgpl-devel libxml2 libxml2-devel gd gd-devel cairo cairo-devel pango pango-devel

2.配置snmp

vim /etc/snmp/snmpd.conf

# 修改3項 127.0.0.1 、 all、啓用項(修改的內容詳見我Cacti的安裝文檔,上面有非常詳細的內容介紹)

com2sec notConfigUser 127.0.0.1 public

access notConfigGroup "" any noauth exact all none none

view all included .1 80

service snmpd restart

3.安裝cacti

wget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz

tar zxvf cacti-0.8.7h.tar.gz

mv cacti-0.8.7h /var/www/html/cacti

4.創建cacti數據庫

#mysql

mysql> create database cacti;

mysql> grant all on cacti.* to 'cacti' @'localhost' identified by 'cacti';

mysql> flush privileges;

5.將cacti的表內容導入創建的數據庫

cd /var/www/html/cacti

mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql

6.分別編輯兩個.php文件,以適應環境,修改內容相同。

vim /var/www/html/cacti/include/config.php

vim /var/www/html/cacti/include/global.php

$database_username = "cacti";

$database_password = "cacti";

useradd -r -M cacti

chown -R cacti /var/www/html/cacti/rra/

chown -R cacti /var/www/html/cacti/log/

7.在cacti用戶下創建計劃任務以畫圖

su cacti

crontab -e

*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1

php /var/www/html/cacti/poller.php > /dev/null 2>&1

exit

8.從web頁面啓動cacti,安裝,並查看圖形化界面

三:整合Nagios與Cacti

1.下載並安裝ndoutils

wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b7/ndoutils-1.4b7.tar.gz/download

tar zxvf ndoutils-1.4b7.tar.gz

cd ndoutils-1.4b7

./configure

make

2.準備配置文件

cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /var/www/html/nagios/bin

cd db

./installdb -ucacti -pcacti -hlocalhost -d cacti

cd ..

cp -v config/{ndo2db.cfg-sample,ndomod.cfg-sample} /var/www/html/nagios/etc

mv /var/www/html/nagios/etc/ndo2db.cfg-sample /var/www/html/nagios/etc/ndo2db.cfg

mv /var/www/html/nagios/etc/ndomod.cfg-sample /var/www/html/nagios/etc/ndomod.cfg

chmod 644 /var/www/html/nagios/etc/ndo*

chown nagios:nagios /var/www/html/nagios/etc/*

chown nagios:nagios /var/www/html/nagios/bin/*

3.修改nagios.cfg配置文件以適應當前環境

vim /var/www/html/nagios/etc/nagios.cfg

# 在文件中添加:

broker_module=/var/www/html/nagios/bin/ndomod-3x.o config_file=/var/www/html/nagios/etc/ndomod.cfg

# 檢查

event_broker_options=-1 ## 爲Nagios開啓event broker

4.修改ndo2db.cfg以適應當前環境

vim /var/www/html/nagios/etc/ndo2db.cfg

# 確保下列內容爲唯一項

socket_type=unix

db_servertype=mysql

db_host=localhost

db_port=3306

db_name=cacti

db_prefix=nagios_

db_user=cacti

db_pass=cacti

5.修改ndomod.cfg以適應當前環境

vim /var/www/html/nagios/etc/ndomod.cfg

# 確保下列項的唯一內容爲

output_type=unixsocket

output=127.0.0.1

6.ndo2db啓動

/var/www/html/nagios/bin/ndo2db-3x -C /var/www/html/nagios/etc/ndo2db.cfg

7.啓動守護進程與nagios

service ndo2db start

tail -20 /var/log/messages ## 查看其中是否有錯誤出現。如無報錯請繼續

service nagios start

四:安裝ncp,以在Cacti中展現Nagios

1.先安裝cacti擴展模塊

wget http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gz

tar xvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz

cp -R cacti-plugin-arch/* /var/www/html/cacti/

cd /var/www/html/cacti/

mysql -ucacti -pcacti cacti < pa.sql

patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff

## 爲cacti配置文件打補丁的時候注意在爲include/config.php打補丁的時候有可能它將 include/config.php.dist給打補丁了,我們只需要手動加入下面的內容即可。

vim include/config.php

# 修改(或新加入)爲

$url_path = "/cacti/";

從web進入cacti,啓用cacti plugin擴展

2.安裝npc

http://en.sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Fgibtmirdas%2Fnpc-2.0.4.tar.gz

tar zxvf npc-2.0.4.tar.gz

mv npc /var/www/html/cacti/plugins/

vim /var/www/html/cacti/include/config.php

# 加入:

$plugins[] = 'npc';


3.安裝 npc支持:json

wget http://pkgs.fedoraproject.org/repo/pkgs/php-pecl-json/json-1.2.1.tgz/d8904d2f004ceec85eeacf524cd25539/json-1.2.1.tgz

tar zxvf json-1.2.1.tgz

cd json-1.2.1

phpize ## 如果發現沒有Phpize文件,則是因爲php-devel包沒有安裝導致的

./configure

make && make install


php -i | grep php.ini ## 查看是否有導入信息

4.打開php.ini文件添加對json的支持

vim /etc/php.ini

# 添加

extension=json.so

5.爲apache添加php支持。

vim /etc/httpd/conf/httpd.conf

# 添加一行:

AddType application/x-httpd-php .php .phtml

# 修改原DirectoryIndex內容爲:

DirectoryIndex index.html index.html.var index.php


usermod -G cacti apache

service httpd restart ## 重啓apache以讓php生效

php -m ## 查看是否有json被加載

6

從Web進入Cacti,確保正確使用npc選項。

6.1修改配置文件以讓npc讀取到新的數據。

vim /var/www/html/nagios/etc/ndo2db.cfg

db_prefix=npc_


6.2 修改mysql中的表結構:

#mysql -ucacti -pcacti

mysql> use cacti;

mysql> alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;

mysql> alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;

mysql> alter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;

mysql> alter table npc_notifications add long_output TEXT NOT NULL default '' after output;

mysql> alter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;

mysql> alter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;

mysql> alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;

mysql> alter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;

7.重啓ndo2db進程,重新加載配置文件重啓nagios服務。

service ndo2db restart

service nagios restart

8.在Web上配置NPC以使之正常讀取工作。

在Settings->npc中 ,勾上Remote Commands

Nagios Command File Path= /var/www/html/nagios/var/rw/nagios.cmd

Nagios URL=你的地址(http://ocalhost/nagios/)

接下來刷新npc就可以看到數據啦:


五:Nconf的安裝與配置

1.nconf的準備工作

# 進入mysql數據庫

mysql> create database nconf;

# 創建nconf數據庫

mysql> grant all privileges on nconf.* to nconf@localhost identified by 'nconf';

# 創建nconf用戶並賦權

mysql> flush privileges;

# 刷新特權表

mysql> quit

2.安裝nconf

wget http://sourceforge.net/projects/nconf/files/nconf/1.2.6-0/nconf-1.2.6-0.tgz/download

tar -zxf nconf-1.2.6-0.tgz -C /var/www/html/

cd /var/www/html/nconf

chown -R apache.apache config/ temp/ static_cfg/ output/

3.進入Web頁面在web頁面按照安裝提示一步步安裝

4.使用剛纔創建的nconf數據庫和nconf數據庫用戶/密碼

五:Nconf的安裝與配置

1.nconf的準備工作

# 進入mysql數據庫

mysql> create database nconf;

# 創建nconf數據庫

mysql> grant all privileges on nconf.* to nconf@localhost identified by 'nconf';

# 創建nconf用戶並賦權

mysql> flush privileges;

# 刷新特權表

mysql> quit

2.安裝nconf

wget http://sourceforge.net/projects/nconf/files/nconf/1.2.6-0/nconf-1.2.6-0.tgz/download

tar -zxf nconf-1.2.6-0.tgz -C /var/www/html/

cd /var/www/html/nconf

chown -R apache.apache config/ temp/ static_cfg/ output/

3.進入Web頁面在web頁面按照安裝提示一步步安裝

4.使用剛纔創建的nconf數據庫和nconf數據庫用戶/密碼

5.成功連接mysql數據庫,之後一切保持默認,直到下面的,設置nconf管理員密碼,此時默認登錄用戶爲admin

6.之後,網頁安裝完成。

rm -rf INSTALL INSTALL.php UPDATE UPDATE.php

# 刪除安裝所需的初始化文件

ln -s /var/www/html/nagios/bin/nagios bin/nagios

chmod +x /var/www/html/nconf/bin/generate_config.pl

chown -R apache.apache bin

chmod +x /var/www/html/nagios/bin/nagios

chmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh

vim /var/www/html/nconf/ADD-ONS/deploy_local.sh

修改裏面的Nagios路徑爲 /var/www/html/nagios/etc/

7.重新刷新頁面,輸入admin/您設置的密碼,進入nconf頁面

8.點擊Generate Nagios config嘗試生成配置文件,以測試是否與nagios成功關聯

9.最後的設置

①在web頁面對監控服務和主機配置完畢,點擊Generate Nagios config

②deploy_local.sh是nconf自帶配置文件導入腳本

/var/www/html/nconf/ADD-ONS/deploy_local.sh

手動執行此腳本,將在/var/www/html/nagios/etc下生成兩目錄Default_collector與global

③修改nagios主配置文件

vim /var/www/html/nagios/etc/nagios.cfg

# 將其中cfg_file=*******字段全部註釋 ,並加入

cfg_dir=/var/www/html/nagios/etc/Default_collector

cfg_dir=/var/www/html/nagios/etc/global

service nagios reload

# 重載nagios配置文件使之生效


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