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绘画图形。
NTOP: 开源网络流量分析软件。是一种网络嗅探器,工作在第二层和第三层,嗅探器在协助监测网络数据传输、排除网络故障等方面有着不可替代的作用。可以通过分析网络流量来确定网络上存在的各种问题,如瓶颈效应或性能下降;也可以用来判断是否有黑客正在攻击网络系统。如果怀疑网络正在遭受攻击,通过嗅探器截获的数据包可以确定正在攻击系统的是什么类型的数据包,以及它们的源头,从而可以及时地做出响应,或者对网络进行相应的调整,以保证网络运行的效率和安全。
Nagios: 监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);主机资源(处理器负荷、磁盘利用率等);当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、手机短信、用户定义方式);可以支持并实现对主机的冗余监控;可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等。
nagiosQL: nagios的web管理模块,此模块能方便的为Nagios和lcinga创建,修改和删除配置文件。这些数据存储在MySQL数据库中并且能在任何时候写入标准文件。
下面是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,Errorimage,Mobile,Aggregate以及Apache,Squid,F5,Nginx,MySQL等模板。支持多种硬盘控制器和阵列卡,基于CentOS6,启动速度更快,支持EXT4文件系统,原生rsyslog更稳定。全中文页面,中文图形,支持邮件报警,支持声音报警,安装方便使用简单。
本文采用VMware Workstion来实现虚拟化主机的应用
在这里我选择了安装盘镜像文件CactiEZ-10.1-i386.iso
一. 安装Cacti中文版
CactiEZ-10.1-i386.iso镜像文件是捆绑cacti中文版的CentOS6操作系统安装软件
到这里CentOS6+cactiEZ已经安装完成了。Reboot重新启动
系统默认的用户名 root 密码 CactiEZ 注意大小写
更改虚拟机设置-网络适配器-桥接:直接连接到物理网络
首先修改你的网卡配置,使其能连入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中文版界面。
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删掉并保存退出
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
三.将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前的蓝色图标安装插件
点击绿色图标启动插件
进入用户管理-点击右面的admin
在下面的功能权限中把最后一项View NTop勾选上并保存
这个时候就可以看到网页最上面的标签处多出了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上传
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'
保存退出
source /root/.bashrc
check
现在就可以用http://yourIP/nagios 方式访问nagios web访问控制台了.
安装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"
<Directory "/usr/local/nagios/nagiosql">
# SSLRequireSSL
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
保存退出
service httpd restart #重启服务
service mysqld start
touch /usr/local/nagios/nagiosql/install/ENABLE_INSTALLER #建立nagiosql安装文件
访问http://yourIP/nagiosQL进行安装 #注意是大写的QL
选择中文后开始安装
下面要求删除安装目录,需要进行
rm -rf /usr/local/nagios/nagiosql/install/
创建数据库后都显示通过、完成,则你已经顺利安装了nagiosQL,点击右下角-完成
左边菜单选择管理-域,在右边域管理中点击localhost-功能中的 图标进行修改
下面请按如图所示更改相应的路径即可
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
工具-导入数据 右边会列出一些配置文件,按ctrl键全部选择右边的.cfg文件-导入。
导入只是把配置文件内容导入到Mysql数据库,而使用其配置文件时,是一个个cfg文件,所以下面要进行写入过程
工具-Nagios控制 –写入检测数据和写入其他数据----顺序执行
检查配置文件 等同于/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
点击-重新启动Nagios-执行
写入之后就可以看到相应的cfg文件了,查看写入是否成功,由下面的输出可以看出写入是成功的。
修改nagios的配置文件,将原有以cfg_file开头项全部注释掉,加入上面新写入的配置文件
vi /usr/local/nagios/etc/nagios.cfg #下图中每行前加“#”,都注释掉
加入新的配置文件路径
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
check #检查nagios配置文件是否有问题
service nagios restart #重启nagios服务
至此整个搭建过程终于完成了。下一节我会分别详细介绍cacti、ntop、nagios的配置和应用实例,至于nagiosQL的配置我会转载Allan Fan的NagiosQL添加监控主机及Nagios上启用报警机制。
写的很匆忙,希望大家能批评纠错、回贴补充,我先在此谢过!小人感激不尽!(-_-)哈哈~~~ciywind