cacti_nagios_nconf_ntop

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:
依赖的软件包的安装 
# 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



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
JSON 数据安全/隐私保护 数据格式
|
监控 关系型数据库 C++
|
Web App开发 监控 关系型数据库
|
SQL 关系型数据库 数据库
|
Web App开发 关系型数据库 MySQL