本文共 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/