CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程
                          Cacti+NTOP+Nagios+nagiosQL全中文版安装详解
最近学习了Allanhi的BLOG实战CentOS 6.0+Nagios中文版+PNP+Nagios..,神de信仰 的BLOG实现企业级开源监控软件cacti+nagios+ntop,网管的BLOG cacti+ntop+飞信机器人, CactiEZ中文版官方论坛 等文章后自己动手实践,成功安装配置了中文版的Cacti、NTOP、Nagios、nagiosQL。我原本想将其都整合到一起,后来发现Nagios Plugin for Cacti(NPC)插件没有中文的,所以就没将nagios整合到cacti中(个人观点:中英结合的软件不太美观  -_-~!)在此感谢你们的无私奉献精神...愿伏羲与你们同在~~~阿门!
下面是软件主要功能:
Cacti:一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmp来获取数据,使用 RRDtool绘画图形。
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第1张图片
NTOP:  开源网络流量分析软件。是一种网络嗅探器,工作在第二层和第三层,嗅探器在协助监测网络数据传输、排除网络故障等方面有着不可替代的作用。可以通过分析网络流量来确定网络上存在的各种问题,如瓶颈效应或性能下降;也可以用来判断是否有***正在***网络系统。如果怀疑网络正在遭受***,通过嗅探器截获的数据包可以确定正在***系统的是什么类型的数据包,以及它们的源头,从而可以及时地做出响应,或者对网络进行相应的调整,以保证网络运行的效率和安全。

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第2张图片
Nagios: 监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);主机资源(处理器负荷、磁盘利用率等);当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、手机短信、用户定义方式);可以支持并实现对主机的冗余监控;可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等。
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第3张图片

nagiosQL: nagios的web管理模块,此模块能方便的为Nagios和lcinga创建,修改和删除配置文件。这些数据存储在MySQL数据库中并且能在任何时候写入标准文件。
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第4张图片


下面是CactiEZ提供的CentOS6 + CactiEZ 的ISO镜像文件,可制作成光盘引导启动,本文是在vmware下实现的。
CactiEZ中文版10.1: CactiEZ-10.1-i386.iso
32位:下载地址:

下载链接:http://www.linkwww.com/down/cactiez/
115网盘: http://115.com/file/anljxgwr#
115网盘: http://u.115.com/file/e65scvs7#
64位:下载地址:
115网盘:http://115.com/file/dptirxso#
CactiEZ中文版是最简单有效的Cacti中文解决方案,整合Spine,RRDTool和美化字体。集成Thold,Monitor,Syslog,Weathermap,Realtime,Errorp_w_picpath,Mobile,Aggregate以及Apache,Squid,F5,Nginx,MySQL等模板。支持多种硬盘控制器和阵列卡,基于CentOS6,启动速度更快,支持EXT4文件系统,原生rsyslog更稳定。全中文页面,中文图形,支持邮件报警,支持声音报警,安装方便使用简单。
 
本文采用VMware Workstion来实现虚拟化主机的应用
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第5张图片


在这里我选择了安装盘镜像文件CactiEZ-10.1-i386.iso
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第6张图片

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第7张图片


 
一. 安装Cacti中文版
CactiEZ-10.1-i386.iso镜像文件是捆绑cacti中文版的CentOS6操作系统安装软件
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第8张图片 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第9张图片 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第10张图片


 
 
到这里CentOS6+cactiEZ已经安装完成了。Reboot重新启动

系统默认的用户名 root  密码 CactiEZ     注意大小写
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第11张图片

更改虚拟机设置-网络适配器-桥接:直接连接到物理网络
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第12张图片

首先修改你的网卡配置,使其能连入Internet网络
[root@CactiEZ ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0   #进入网卡配置文件修改按“i”键进入编辑模式
DEVICE=eth0
BOOTPROTO=static
DNS1=202.96.64.68        #填写自己当地的DNS
GATEWAY=10.10.10.1      #填写本地网关
HOSTNAME="CactiEZ.local"
HWADDR=00:30:16:8F:6D:0D     
IPADDR=10.10.10.221        #填写IP地址
MTU=1500
NETMASK=255.255.255.0         #填写子网掩码
NM_CONTROLLED=yes
ONBOOT=yes

然后按“ESC” 输入 :wq   保存退出
service network restart  #重启网络服务
passwd root        #修改root口令为自己常用的口令
 

 
由于后面有大量的命令行操作,建议使用SecureCRT软件登陆操作,可以复制粘贴节省时间。

现在你可以打开你的浏览器http://yourIP/ 来登陆CactiEZ中文版界面。
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第13张图片

 
Cacti默认管理员:admin
Cacti管理员密码:admin
第一次登陆要求修改管理员密码

二.安装NTOP中文版
yum -y install lrzsz           
wget http://dl.fedoraproject.org/pub/epel/6/i386/libnet-1.1.5-1.el6.i686.rpm     #在线下载数据包
wget http://dl.fedoraproject.org/pub/epel/6/i386/libnet-devel-1.1.5-1.el6.i686.rpm
rpm -ivh libnet*.rpm      #安装libnet
wget http://dl.fedoraproject.org/pub/epel/6/i386/ettercap-0.7.4-3.el6.i686.rpm
wget http://dl.fedoraproject.org/pub/epel/6/i386/ettercap-common-0.7.4-3.el6.i686.rpm
wget http://dl.fedoraproject.org/pub/epel/6/i386/ettercap-gtk-0.7.4-3.el6.i686.rpm
yum -y --nogpgcheck localinstall ettercap-*.rpm   #安装ettercap
yum install libpcap libpcap-devel gdbm gdbm-devel zlib zlib-devel  #yum安装所需的rpm包组
yum -y install make
yum -y install libtool libtool-devel libevent libevent-devel libxml2 libxml2-devel libpng libpng-devel pango pango-devel
yum -y install dos2unix     #安装 dos2unix转换工具
yum -y install unzip
wget http://www.netexpert.cn/ntop/ntopchs.zip   #下载ntop中文版
useradd -M -s /sbin/nologin -r ntop
unzip ntopchs.zip -d ntopchs/        #解压ntopchs.zip到ntopchs目录下
cd ntopchs
chmod +x autogen.sh        #给autogen.sh 加执行权限
rm -f config.sub 
cp /usr/share/libtool/config/config.sub ./
cp /usr/share/libtool/config/config.guess ./
dos2unix autogen.sh              #转换格式
./autogen.sh
dos2unix Makefile.in 
dos2unix config.h.in
dos2unix address.c
dos2unix Makefile
dos2unix depcomp
dos2unix mkinstalldirs
cd GeoIP-1.4.8/libGeoIP/
dos2unix Makefile
cd ..
cd ..
vi Makefile       #编辑文件查找lua.lo然后把lua.lo删掉并保存退出
   

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第14张图片


   make
   chmod +x mkinstalldirs
   make install
   chown -R ntop:ntop /usr/local/share/ntop
   chown -R ntop:root /usr/local/var/ntop
   ntop -A          #为ntop的admin用户设置密码:
   ntop -i eth0 -d -L -u ntop      #启动ntop

#  每次启动都会报错,显示 Error Opening file ./GeoLiteCity.dat   Error Opening file ./GeoIPASNum.dat看了好多文章,似乎是bug,期待解决。 
   echo 'ntop -i eth0 -d -L -u ntop &> /dev/null' >> /etc/rc.d/rc.local    #设置开机自动启动

   cd ~
NTOP安装完成,用web页面访问http://yourIP:3000 
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第15张图片

三.将NTOP整合到CactiEZ中
wget http://jaist.dl.sourceforge.net/project/cactiundip/ntop-v0.2-1.tar
tar -xvf ntop-v0.2-1.tar -C /var/www/html/plugins/
cd /var/www/html/
vi include/config.php     #编辑配置文件,添加ntop模块(红字部分)
       $database_type = "mysql";
       $database_default = "cacti";
       $database_hostname = "localhost";
       $database_username = "cactiuser";
       $database_password = "cactiuser";
       $database_port = "3306";
       $plugins[] = 'ntop';    # #添加ntop模块支持
保存退出
进入cactiez网页的控制台--插件管理-点击右面的Ntop前的蓝×××标安装插件
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第16张图片

点击绿×××标启动插件
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第17张图片


进入用户管理-点击右面的admin
在下面的功能权限中把最后一项View NTop勾选上并保存
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第18张图片


这个时候就可以看到网页最上面的标签处多出了ntop标签,至此cacti+ntop整合完毕。

四.安装Nagios中文版+ Nagios Web管理工具nagiosQL
yum -y install httpd gettext mysql mysql-server mysql-devel php php-mysql php-pear
yum install php-mysql mysql perl mysql-server perl-DBI perl-DBD-MySQL httpd gcc glibc glibc-common gd gd-devel php
#注意:不想安装NTOP的朋友,也要安装libnet和libnet-devel
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
wget http://sourceforge.net/projects/nagios-cn/files/sourcecode/zh_CN%203.2.3/nagios-cn-3.2.3.tar.bz2/download        #下载nagios中文版
     useradd nagios           #添加nagios用户
     passwd nagios
     groupadd nagcmd
     usermod -G nagcmd nagios
     usermod -G nagcmd apache
     tar -jxvf nagios-cn-3.2.3.tar.bz2
     cd nagios-cn-3.2.3
     ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd
     make all              #报错make[1]: *** [cmd.cgi] Error 1,解决方法如下:
下面把英文版本的nagios里面的cgi/cmd.c复制过去,否则会报错make[1]: *** [cmd.cgi] Error 1,如果找不到英文版本的,可以点这里下载 http://115.com/file/beo28kk3#cmd.c  然后通过rz上传

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第19张图片


     mv cmd.c cgi/cmd.c    #注意:我的当前路径为/root/nagios-cn-3.2.3/ ,自行下载英文版nagios的朋友只要将cmd.c复制到 nagios-cn-3.2.3/cgi/ 就可以了。
    make clean                  #清除之前编译的可执行文件及配置文件
    make all
    make install
    make install-init
    make install-commandmode
    make install-config
    make install-webconf
    cd ..
    tar -zxvf nagios-plugins-1.4.15.tar.gz  
    cd nagios-plugins-1.4.15
    ./configure --with-nagios-user=nagios --with-nagios-group=nagios
    make
    make install
    htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin    #创建用户nagiosadmin并设置登陆口令用于web访问
    chkconfig --add nagios 
    chkconfig nagios on      #加入开机启动项
    chkconfig httpd on
    chkconfig mysqld on
    service nagios start    #启动服务
    service httpd restart   #注意这里是restart重启服务
    service mysqld start
    /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg   #检查配置文件正确性
    vi /root/.bashrc        #编辑 .bashrc这个文件,在里面用alias 来自定义一个命令check来代替上面的命令行(当然也可以不用,因为后面有nagiosQL管理中有检查配置按钮)
添加 alias check='/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg'
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第20张图片


 保存退出
    source /root/.bashrc
    check
现在就可以用http://yourIP/nagios 方式访问nagios web访问控制台了.
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第21张图片


         安装nrpe_plugins指标采集插件,其主要是用来分析nrpe客户端的plugin脚本采集性能指标数据。主控端和受控端都要安装nrpe,这个插件需要openssl的支持,如果没有请运行 yum install openssl-devel 。
    cd ..
    wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz   #下载nrpe
    tar zxvf nrpe-2.12.tar.gz
    cd nrpe-2.12
    ./configure
    make all
    make install
完成以后没有出错就可以看到以下生成的文件了


 至此nagios安装完成,但由于nagios配置需要建立、更改配置文件,这样比较烦琐且容易出错,因此我们还要再安装nagiosQL用以方便管理。
五.安装nagios的WEB管理工具nagiosQL
    cd ..
    wget http://sourceforge.net/projects/nagiosql/files/nagiosql/NagiosQL%203.1.1/nagiosql_311.tar.gz/download
    tar zxvf nagiosql_311.tar.gz
    mv nagiosql /usr/local/nagios/
建立nagiosQL导出nagios配置文件的目录,并修改权限
    mkdir -p /etc/nagiosql/{hosts,services,backup/{,hosts,services},import}  #创建需要的目录
    chown -R apache:nagios /etc/nagiosql/
    chmod -R 755 /etc/nagiosql
    chmod 777 /usr/local/nagios/nagiosql/config
    chown nagios:apache /usr/local/nagios/etc
    chown nagios:apache /usr/local/nagios/etc/{nagios.cfg,cgi.cfg}
    chown nagios:apache /usr/local/nagios/etc/*
    chmod 664 /usr/local/nagios/etc/{nagios.cfg,cgi.cfg}
    chmod 775 /usr/local/nagios/etc
    chown nagios:apache /usr/local/nagios/bin/nagios
    chmod 750 /usr/local/nagios/bin/nagios
    chown -R apache.nagios /usr/local/nagios/var/spool/
    chown nagios:apache /usr/local/nagios/var/rw/nagios.cmd
    chmod 660 /usr/local/nagios/var/rw/nagios.cmd
    vi /etc/httpd/conf.d/nagios.conf    #为apache添加nagiosQL虚拟目录,在后面添加如下代码
             #add virture directory for nagiosQL
             Alias /nagiosQL "/usr/local/nagios/nagiosql"
              
             # SSLRequireSSL
             Options None 
             AllowOverride None
             Order allow,deny 
             Allow from all
            

 
保存退出
    service httpd restart    #重启服务
    service mysqld start
    touch /usr/local/nagios/nagiosql/install/ENABLE_INSTALLER    #建立nagiosql安装文件
访问http://yourIP/nagiosQL进行安装  #注意是大写的QL
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第22张图片


 
选择中文后开始安装
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第23张图片

 CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第24张图片

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第25张图片


  下面要求删除安装目录,需要进行
rm -rf /usr/local/nagios/nagiosql/install/

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第26张图片
 创建数据库后都显示通过、完成,则你已经顺利安装了nagiosQL,点击右下角-完成
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第27张图片

 左边菜单选择管理-域,在右边域管理中点击localhost-功能中的 图标进行修改
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第28张图片

 下面请按如图所示更改相应的路径即可
Nagios基目录*   /usr/local/nagios/etc/
导入路径   /etc/nagiosql/import/
Nagios命令文件   /usr/local/nagios/var/rw/nagios.cmd
Nagios执行文件   /usr/local/nagios/bin/nagios
Nagios进程文件   /usr/local/nagios/var/nagios.lock
Nagios配置文件   /usr/local/nagios/etc/nagios.cfg

 CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第29张图片
工具-导入数据 右边会列出一些配置文件,按ctrl键全部选择右边的.cfg文件-导入。
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第30张图片


导入只是把配置文件内容导入到Mysql数据库,而使用其配置文件时,是一个个cfg文件,所以下面要进行写入过程
工具-Nagios控制 –写入检测数据和写入其他数据----顺序执行
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第31张图片


检查配置文件   等同于/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第32张图片


点击-重新启动Nagios-执行
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第33张图片

 
写入之后就可以看到相应的cfg文件了,查看写入是否成功,由下面的输出可以看出写入是成功的。
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第34张图片

 
修改nagios的配置文件,将原有以cfg_file开头项全部注释掉,加入上面新写入的配置文件
   vi /usr/local/nagios/etc/nagios.cfg     #下图中每行前加“#”,都注释掉
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第35张图片

加入新的配置文件路径
cfg_dir=/etc/nagiosql/hosts/
cfg_dir=/etc/nagiosql/services/
cfg_file=/etc/nagiosql/commands.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/contacttemplates.cfg
cfg_file=/etc/nagiosql/hostdependencies.cfg
cfg_file=/etc/nagiosql/hostescalations.cfg
cfg_file=/etc/nagiosql/hostextinfo.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/hosttemplates.cfg
cfg_file=/etc/nagiosql/servicedependencies.cfg
cfg_file=/etc/nagiosql/serviceescalations.cfg
cfg_file=/etc/nagiosql/serviceextinfo.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg
cfg_file=/etc/nagiosql/servicetemplates.cfg
cfg_file=/etc/nagiosql/timeperiods.cfg
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第36张图片

 
check    #检查nagios配置文件是否有问题
 

CentOS6下实现企业内部网络监控诊断报警¬一网络监控软件详细安装教程_第37张图片


service nagios restart      #重启nagios服务
至此整个搭建过程终于完成了。下一节我会分别详细介绍cacti、ntop、nagios的配置和应用实例,至于nagiosQL的配置我会转载Allan Fan的NagiosQL添加监控主机及Nagios上启用报警机制。

写的很匆忙,希望大家能批评纠错、回贴补充,我先在此谢过!小人感激不尽!(-_-)哈哈~~~ciywind