Nagios+Cacti+Nconf

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用户中启用此插件即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值