博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cacti_nagios_nconf_ntop
阅读量:5881 次
发布时间:2019-06-19

本文共 10069 字,大约阅读时间需要 33 分钟。

依赖的软件包的安装 

# yum install gcc glibc glibc-common gd gd-devel php php-mysql php-gd php-snmp php-pdo mysql mysql-server mysql-devel httpd net-snmp net-snmp-libs net-snmp-utils libart_lgpl libart_lgpl-devel 


一、cacti安装 


pango的安装 


# tar jxvf pango-1.17.5.tar.bz2 


# cd pango-1.17.5 

# ./configure 

# make 

# make install 


rrdtool安装 


# tar xvf rrdtool-1.4.4.tar.gz 

# cd rrdtool-1.4.4 

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

# make 

# make install 


为rrdtool的二进制文件创建链接至/usr/local/bin,cacti默认到这里查找所需的rrdtool 

# ln -s /usr/local/rrdtool/bin/* /usr/local/bin 


将rrdtool的库文件添加至系统库文件搜索路径: 

# vi /etc/ld.so.conf 

添加: 

/usr/local/rrdtool/lib 


#ldconfig -v 



所需系统环境的配置 


(1)配置php工作环境 


首先需要确保php能够加载所需的系统模块,cacti所需要用到的php模块有mysql、SNMP 、XML、Session、Sockets、LDAP(仅在使用LDAP认证时需要)、GD(某些插件可能用到)。/etc/php.ini文件中的如下选项可以保证php能够加载到所需的模块: 

extension_dir = /usr/lib/php/modules 



可以使用如下命令查看本机php已经打开的支持模块: 


# php -m 


如果在以后的使用中需要导入cacti模板,这还需要确保在/etc/php.ini中打开了文件上传的功能: 

file_uploads = On 


(2)配置httpd 


默认情况下,打开httpd对php支持所需要的配置文件在/etc/httpd/conf.d/目录中,所以,请确保您的httpd.conf文件中开启了以下选项: 

Include conf.d/*.conf 


启动httpd服务,并把它加入到自动启动队列(如果是第一次配置httpd): 

# service httpd start 

# chkconfig --level 2345 httpd on 


(3)配置MySQL 


首先启动mysql,并将其加入到自动启动服务队列(如果是第一次配置MySQL): 

# service mysqld start 

# chkconfig --level 2345 mysqld on 




接着登录mysql,创建cacti的数据库,并为其指定cacti用户和密码(cacti)。数据库名字可根据需要指定,这里指定为cacti: 


# mysql  

mysql> create database cacti; 

mysql> GRANT all privileges ON cacti.* TO cacti@localhost IDENTIFIED BY 'cacti'; 

mysql> flush privileges; 

mysql> quit 


(4)配置SNMP 


在net-snmp的主配置文件/etc/snmp/snmpd.conf中,默认的community为public,建议将public修改为您需的密码项。 


接着,启动snmp进程,并将其加入到自动启动服务队列(只在第一次配置时需要): 

# service snmpd start 

# chkconfig --level 2345 snmpd on 



安装设定cacti 


(1)解压cacti的压缩包,并将其移至网站目录中: 

# tar zxvf cacti-0.8.7e.tar.gz 

# mv cacti-0.8.7e  /var/www/html/cacti 


说明:如果您的网站目录在别处,这里需要做相应的改变;同时,您也可以使用httpd的虚拟目录,而不必要一定要将cacti目录移至网站目录; 


(2)使用cacti提供的schema生成cacti所需要的表等对象: 

# cd /var/www/html/cacti 

# mysql -u root -p cacti < cacti.sql 


(3)编辑cacti的主配置文件,为其指定对应的数据库参数: 

# vi /var/www/html/cacti/include/config.php 


将下列各参数的值修改为您前面所设定的: 

$database_type = "mysql"; 

$database_default = "cacti"; 

$database_hostname = "localhost"; 

$database_username = "cacti"; 

$database_password = "cacti"; 

$database_port = "3306"; 


(4)添加运行cacti所需要的用户帐号,并将运行时需要生成rrd文件和日志文件的目录权限赋予给它: 

# useradd cacti 

# passwd cacti 


# chown -R cacti rra/ log/ 


(5)为cacti用户添加周期性任务,以实现所需数据的获取: 

# vi /etc/crontab 

添加如下行: 

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


(6)进入安装界面,开始安装设定cacti 

打开浏览器,在地址栏输入如下地址,当安装界面出现后,按照提示一步步安装即可。 

http://youIP/cacti 


刚刚安装成功时,cacti还没有获取到所需要的数据,因此,可能不会有图表显示。待过上五分钟以上的一段时间,就会有关于本机负载情况的统计图表出现了。如果要监控其它主机,请首先确保其它主机开启中了SNMP服务,接着在cacti控制台“device”中添加新设备,并为其创建“New graph”即可。后文将演示如何监控Windows主机的工作情况。 



二、安装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 

# tar xvf ntop-4.0.1.tar.gz 

# cd ntop-4.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的一个patch--Plugin Architecture,才能支持插件PA 2.8 = cacti 0.8.7g 


# tar xvf cacti-plugin-0.8.7g-PA-v2.8.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.7g-PA-v2.8.diff 

vi include/config.php 

修改为$url_path = “/cacti/”; 


首先去下载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'; 


接下来到cacti的控制台中"settings"中配置此插件,将其指向实际的ntop服务器所在的URL;然后再到cacti控制台的"user Management"中的admin用户中启用此插件即可。 



三、nagios的安装 


# useradd nagios  

# usermod -G nagios apache  

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

# 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  



# htpasswd -c /var/www/html/nagios/etc/htpasswd.users admin    之后提示输入密码 



安装插件: 

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

# tar -xf nagios-plugins-1.4.15.tar  

# cd nagios-plugins-1.4.15  

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

# make  

# make install   


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

# service httpd restart   

# chkconfig httpd on    

# service nagios restart  

# chkconfig --add nagios  

# chkconfig nagios on 




将系统日志存放到mysql数据库中,以供cacti调用 


# 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  

下载补丁 

# wget http://svn.centreon.com/trunk/ndoutils-patch/ndoutils1.4b9_light.patch 

打补丁 

# patch -p1 -N < ndoutils1.4b9_light.patch 

# ./configure --prefix=/var/www/html/nagios --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql  

# make 

# make install  


# 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  

# cp /var/www/html/nagios/etc/ndo2db.cfg-sample /var/www/html/nagios/etc/ndo2db.cfg  

# cp /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/*  





修改nagios.cfg配置文件以适应当前环境 

# vi /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  



修改ndo2db.cfg以适应当前环境 

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

# 确保下列内容为唯一项  

    socket_type=tcp  

    db_servertype=mysql  

    db_host=localhost  

    db_port=3306  


    db_name=cacti  


    db_prefix=nagios_  

    db_user=cacti  

    db_pass=cacti  




修改ndomod.cfg以适应当前环境  

# vi /var/www/html/nagios/etc/ndomod.cfg  

  # 确保下列项的唯一内容为  

   output_type=tcpsocket  

   output=127.0.0.1  


为ndo2db添加启动进程 

# cp ./daemon-init /etc/init.d/ndo2db  

# vi /etc/init.d/ndo2db 

  # 检查里面的路径确保不会出现“//",并将Ndo2dbBin修改成下面的值:  

    Ndo2dbBin=/var/www/html/nagios/bin/ndo2db-3x  

# chmod +x /etc/init.d/ndo2db   


启动守护进程与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 

# 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.修改配置文件以让npc读取到新的数据。 

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

    db_prefix=npc_  



从Web进入Cacti,确保正确使用npc选项。 



重启ndo2db进程,重新加载配置文件重启nagios服务。 

# service ndo2db restart  

# service nagios restart  

7.在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数据库用户/密码 


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-ONE/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配置文件使之生效 

本文转自   bigstone2012  51CTO博客,原文链接:http://blog.51cto.com/lavenliu/1397502

转载地址:http://zocix.baihongyu.com/

你可能感兴趣的文章
控制子窗口的高度
查看>>
Linux 防火墙iptables命令详解
查看>>
打造笔记本电脑基地重庆要当全球“老大”
查看>>
处理 Oracle SQL in 超过1000 的解决方案
查看>>
《JAVA与模式》之简单工厂模式
查看>>
Alpha线性混合实现半透明效果
查看>>
chkconfig 系统服务管理
查看>>
一个简单的运算表达式解释器例子
查看>>
ORACLE---Unit04: SQL(高级查询)
查看>>
Entity Framework Code First 模式-建立多对多联系
查看>>
[LeetCode] Reverse Lists
查看>>
前台页面之<base>标签
查看>>
angular分页插件tm.pagination 解决触发二次请求的问题
查看>>
day08-文件操作
查看>>
教学-45 对象的相等
查看>>
贪食蛇
查看>>
关于Spring 中的事务
查看>>
为什么现在都用面向对象开发,为什么现在都用分层开发结构?
查看>>
【离散数学】 SDUT OJ 偏序关系
查看>>
写给学弟学妹的产品入门建议(持续更新)
查看>>