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