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,Errorp_w_picpath,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"
# 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
选择中文后开始安装
下面要求删除安装目录,需要进行
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