Nagios+Cacti+Nconf
系統:CentOS5.6-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的安裝,這裏需要安裝的是:rrdtool,rrdtool-devel.rrdtool-perl,rrdtool-php,我用的rrdtools的版本是1.4.4.1_x86_64。
在這裏沒有提供rrdtool的工具,需要下載可以去這裏下載上述的3個軟件包
rrdtool、rrdtool-devel的地址:http://packages.express.org/rrdtool/
http://packages.express.org/rrdtool/rrdtool-1.4.4-1.el5.wrl.x86_64.rpm
http://packages.express.org/rrdtool/rrdtool-perl-1.4.4-1.slc5.wrl.x86_64.rpm
http://packages.express.org/rrdtool/rrdtool-devel-1.4.4-1.el5.wrl.x86_64.rpm
http://packages.express.org/rrdtool/rrdtool-python-1.4.4-1.el5.wrl.x86_64.rpm
rrdtool-php的地址:http://pkgs.org/download/rrdtool-php
注意,rrdtool的組件和附加組件版本儘量一致,而由於rrdtool-php這個包非常稀有,所以,儘量請以rrdtool-php的版本來決定rrdtool以及rrdtool-devel的版本。還有一定要對應環境,別安裝成了fedora的版本了=。=
下載完成後,本地yum安裝
yum localinstall -y --nogpgcheck rrdtool-*
service mysqld start
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.4b9/ndoutils-1.4b9.tar.gz/download
tar zxvf ndoutils-1.4b9.tar.gz
cd ndoutils-1.4b9
./configure -prefix=/var/www/html/nagios -enable-mysql -disable-pgsql -with-mysql-inc=/usr/include/mysql -with-mysql-lib=/usr/lib/mysql
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添加啓動進程
cp ./daemon-init /etc/init.d/ndo2db
vim /etc/init.d/ndo2db
# 檢查裏面的路徑確保不會出現“//”,並將Ndo2dbBin修改成下面的值:
Ndo2dbBin=/var/www/html/nagios/bin/ndo2db-3x
chmod +x /etc/init.d/ndo2db
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配置文件使之生效
二、安裝ntop
安裝輔助軟件
# yum install libpcap libpcap-devel libpng gdbm gdbm-devel glib libxml2-devel pango pango-devel gd -y
# yum localinstall --nogpgcheck GeoIP-1.4.7-0.1.20090931cvs.el5.i386.rpm GeoIP-devel-1.4.7-0.1.20090931cvs.el5.i386.rpm
rrdtool上面已經安裝,這裏就不在安裝
編譯安裝NTOP
http://jaist.dl.sourceforge.net/project/ntop/ntop/Stable/ntop-5.0.1.tar.gz
wget:http://docs.cacti.net/_media/plugin:ntop-v0.2-1.tgz
# tar xvf ntop-5.0.1.tar.gz
# cd ntop-5.0.1
# ./autogen.sh --with-tcpwrap //配置--with-tcpwrap選項用於支持TCP Wrappers訪問控制
# make
# make install
設置NTOP數據存放目錄,NTOP系統默認以低權限用戶nobody身份運行,爲了使ntop可以讀寫數據,需要對默認的存放目錄/usr/local/var/ntop進行權限調整:
# chown -R nobody /usr/local/var/ntop
爲NTOP管理員設置密碼,NTOP默認的管理員爲admin,爲安全起見,需要爲其設置一個密碼。另外,通過web頁面修改NTOP設置或者關閉NTOP服務時,必須使用管理員用戶名和密碼進行驗證:
# ntop -A
# ntop -d -i eth0 //以後臺守護進程的方式(-d)運行NTOP服務,並監測eth0網卡所連接的流量
如果有多塊網卡,可以使用以下命令連接不同的局域網段:
# ntop -d -i eth0,eth1 -M
ntop默認監聽端口爲3000,所以可在瀏覽器中輸入http://IP:3000查看ntop監控畫面
使之開機自動啓動:
# echo 'ntop -i eth0 -d -L -u ntop &> /dev/null' >> /etc/rc.d/rc.local
將其與cacti整合在一起:
首先去下載cacti的ntop插件,而後解壓至cacti的插件目錄:
# tar -xf ntop-v0.2-1.tgz -C /var/www/html/cacti/plugins/
接着配置cacti的主配置文件,啓用此插件:
# vim /var/www/html/cacti/include/config.php
添加如下內容:
$plugins[] = 'ntop';
接下來到cacti的控制檯中"settings"中配置此插件,將其指向實際的ntop服務器所在的URL;然後再到cacti控制檯的"user Management"中的admin用戶中啓用此插件即可。
Nagios+Cacti+Nconf
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
CentOS SVN服務器搭建
CentOS SVN 操作系統:CentOS5.6 X86_64 subversion: subversion-1.6.11-10.el5_8 mo
liyw-9192
2020-07-05 15:36:32
u-boot-1.1.6編譯過程中出現cannot find -lc
伍德禅师
2020-07-04 13:36:39
ubuntu-10.04下 聯想 卲陽E46L以太 網驅動程序安 裝
伍德禅师
2020-07-04 13:36:39
Gnome2.x快捷鍵
fishOnFly
2020-06-25 20:05:13
Linux下hosts,host.conf,resolv.conf的區別
數據通信
2020-05-31 12:39:44
kubernetes 二進制安裝 遇到 etcd 不能啓動報錯 處理
安享落幕
2020-05-13 16:14:27
Kubadm方式安裝K8s----flannel 網絡插件
安享落幕
2020-03-18 15:20:03
Linux 文本處理利器--Awk常用命令
低調的男孩
2020-03-02 13:52:19
linux如何進入單用戶模式
angle0615303
2020-02-24 11:13:42
centos 6 嚐鮮紀實 - PH67A/P67A 主板安裝
suvi
2020-02-22 10:53:23
How To Reset Root User Password In CentOS/RHEL8
SoloLinux
2020-02-22 06:37:32
CentOS 8 系統圖形化安裝教程(超詳細)
低調的男孩
2020-02-20 13:47:55
Webmin:是目前功能最強大的基於Web的Unix系統管理工具
安享落幕
2019-11-12 14:45:14
24小時熱門文章
-
Power Automate Desktop 安裝完,登錄後老是提示one driver 錯誤
-
再談23種設計模式(3):行爲型模式(學習筆記)
-
微前端學習筆記(4):從微前端到微模塊之EMP與hel-micro方案探索
-
微前端學習筆記(1):微前端總體架構概述,從微服務發微
-
985 碩士程序員,空窗 4 個月沒有 Offer!
-
一文搞懂 Spring 循環依賴
-
賽博鬥地主——使用大語言模型扮演Agent智能體玩牌類遊戲。
-
VScode右鍵打開(添加到右鍵)
-
記一次 .NET某工控視覺自動化系統 卡死分析
-
WindowsServer--SQL Server搭建主從同步實現讀寫分離 - 事務性分發