您好,登錄后才能下訂單哦!
目 錄
序言(必備知識)
一、安裝規劃
1.1系統環境
1.2所需軟件包
二、配置安裝環境
2.1同步時間
2.2禁用SElinux
2.3 xftp上傳軟件包
2.4安裝郵件服務
三、監控主機安裝
3.1安裝nagios的運行環境
3.2增加用戶
3.3安裝nagios
3.4配置權限
3.5安裝插件
3.6安裝nrpe
四、遠程主機安裝
4.1配置運行環境
4.2安裝nagios-plugin
4.3安裝nrpe
4.4啟動nrpe
五、監控主機安裝PNP
5.1配置開發環境
5.2安裝pnp4nagios
5.3配置pnp4nagios
六、圖表展示
相關鏈接:
Centos 7安裝與配置nagios監控詳細圖解(一):
http://seiang.blog.51cto.com/10819863/1916303
系統版本號 | [root@seiang ~]# cat /etc/centos-release CentOS Linux release 7.1.1503 (Core) |
監控主機 (一臺) | IP地址:10.1.1.66/24 主機名稱:seiang.comsys.com |
遠程主機 (兩臺) | IP地址:10.1.1.55/24 主機名稱:nagios-slave-55
IP地址:10.1.1.58/24 主機名稱:nagios-slave-58 |
分區情況 | 安裝時使用默認分區(使用 df 命令來查看) |
一共3臺機器,監控主機我選擇根據自己的需求進行安裝,兩臺監控主機按照CentOS 7最小化模式安裝系統
(1)監控主機
軟件包 | 下載地址 |
nagios-4.2.4.tar.gz | 請到我的百度網盤下載: 鏈接:http://pan.baidu.com/s/1slaw6xJ 密碼:q4fl |
nagios-plugins-2.1.4.tar.gz | |
nrpe-2.15.tar.gz | |
pnp4nagios-0.6.25.tar.gz |
(2)遠程主機
軟件包 | 下載地址 |
nagios-plugins-2.1.4.tar.gz | 請到我的百度網盤下載: 鏈接:http://pan.baidu.com/s/1slaw6xJ 密碼:q4fl |
nrpe-2.15.tar.gz |
二、配置安裝環境
2.1同步時間
(1)把監控系統里的所有機器都同步一次網絡時間(非常重要)
[root@seiang ~]timedatectl #該命令用來檢查當前時間和時區
如果發現存在機器的時區不一致,此時就要使用命令來進行修改
[root@seiang ~]timedatectllist-timezones #該命令列出了所有的時區
[root@seiang ~]timedatectlset-timezone Asia/Shanghai #該命令把時區設置為上海
[root@seiang ~]ntpdatetime.nist.gov #該命令同步網絡當前的時間
如果提示沒有ntpdate命令,則安裝ntp,并且配置系統自動更新時間
[root@seiang ~]# yuminstall ntp -y
[root@seiang ~]# /usr/sbin/ntpdatetime.nist.gov
[root@seiang ~]# echo'#time sync' >> /var/spool/cron/root
2.2禁用SElinux
為了保險起見,首先禁用selinux:
[root@seiang ~]vi/etc/selinux/config
重啟機器,檢查selinux是否關閉:
[root@seiang ~]getenforce #如果顯示enforcing則沒有關閉
2.3 xftp上傳軟件包
我在這里使用xftp上傳工具,通過這個工具上傳安裝包到Linux
2.4安裝郵件服務
因為郵件報警服務需要安裝mail功能
[root@seiang ~]yuminstall –y mailx
[root@seiang ~]yuminstall –y sendmail
[root@seiang ~]systemctlrestart sendmail.service
[root@localhost ~]mail–s 'wjq-test' jqwei@comsys.com.cn(郵箱地址)
#此時進入輸入模式,輸入完郵件內容后按ctrl + d退出并且發送
3.1安裝nagios的運行環境
[root@seiang ~]# yuminstall gcc glibc glibc-common -y
[root@seiang ~]# yuminstall php php-gd perl -y
[root@seiang ~]# yuminstall httpd gd gd-devel openssl openssl-devel -y
[root@seiang ~]# systemctlenable httpd.service #設置CentOS開機啟動服務
[root@seiang ~]useradd-m nagios
[root@seiang ~]groupaddnagcmd
[root@seiang ~]usermod-G nagcmd nagios
[root@seiang ~]usermod-a -G nagcmd apache #把apace用戶添加到與nagios的一個組(apache用戶會在安裝apache時自動創建)
(1)解壓安裝包
[root@seiang nagios]# tar-zxvf nagios-4.2.4.tar.gz
[root@seiang nagios]# cdnagios-4.2.4
(2)初始化和建立編譯的環境
[root@seiang nagios-4.2.4]#./configure--with-command-group=nagcmd
如果能看到下面的基本配置信息則說明初始的環境已經成功配置完成:
(3)按照提示執行命令來進行編譯:
[root@seiang nagios-4.2.4]# make all
[root@seiang nagios-4.2.4]# make install
[root@seiang nagios-4.2.4]# make install-init
[root@seiang nagios-4.2.4]# make install-config
[root@seiang nagios-4.2.4]# make install-commandmode
[root@seiang nagios-4.2.4]# makeinstall-webconf
(4)安裝完成之后,在/usr/local/nagios目錄下如果能夠看到這些目錄,就表示Naigos安裝成功了。
(5)Nagios的樣例配置文件默認安裝在/usr/local/nagios/etc目錄下,配置這些文件就可以使得nagios按要求運行,每個目錄及文件的含義如下:
(6)配置文件之間的關系
在nagios的配置過程中涉及到的幾個定義有:主機、主機組,服務、服務組,聯系人、聯系人組,監控時間,監控命令等,從這些定義可以看出,nagios各個配置文件之間是互為關聯,彼此引用的。
成功配置出一臺nagios監控系統,必須要弄清楚每個配置文件之間依賴與被依賴的關系,最重要的有四點:
第一:定義監控哪些主機、主機組、服務和服務組
第二:定義這個監控要用什么命令實現,
第三:定義監控的時間段,
第四:定義主機或服務出現問題時要通知的聯系人和聯系人組。
(7)此時應該為email指定您想用來接收nagios警告信息的郵件地址,默認是本機的nagios用戶:
[root@seiang]# vi/usr/local/nagios/etc/objects/contacts.cfg
在vi中,通過搜索email,修改郵箱
email nagios@localhost #描紅的地方修改為你的email地址
(8)創建一個登錄nagios web程序的用戶(用戶名配置為nagiosadmin則不需要配置權限,設置為其他用戶名就要配置權限),我在這里把用戶名設置為nagioseiang,密碼為beijing,這個用戶帳號在以后通過web登錄nagios認證時所用:
[root@seiang ~]# htpasswd-bc /usr/local/nagios/etc/htpasswd.users nagioseiang beijing #把描紅的地方修改為你的用戶名和密碼
3.4配置權限
(1)如果在上面創建登陸nagios web程序的用戶名不是nagiosadmin,我在上面已經設置為nagioseiang,在登陸nagios的web界面后(此時我們還不能登錄),是因為nagios默認把全部的權限給nagiosadmin,所以可以通過修改cgi.cfg文件賦予nagioseiang權限,切換到/usr/local/nagios/etc目錄下
[root@seiang ~]#cd /usr/local/nagios/etc
[root@seiang etc]# sed-i 's#nagiosadmin#kylinlin#g' cgi.cfg #這條命令將nagiosadmin用戶名替換為nagioseiang
[root@seiang etc]# grep nagioseiangcgi.cfg #這條命令檢查是否修改成功
以上過程配置結束以后需要重新啟動httpd:
[root@seiang etc]# systemctlrestart httpd.service
(2)檢查其主配置文件的語法是否正確:
[root@seiang etc]#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
或者使用下面這個命令來檢查語法
[root@seiang etc]# /etc/init.d/nagioscheckconfig
錯誤數為0,配置成功
3.5安裝插件
剛才已經提到Nagios主程序只是一個控制中心,而能夠起到服務監測和系統監測等功能的是眾多Nagios的插件,沒有插件的Nagios系統其實只是一個空殼。因此在安裝了Nagios平臺之后我們還需要安裝插件。
(1)Nagios插件同樣是在其官方網站下載。我將下載的源碼包放到/software/nagios目錄下,按照下面的步驟進行解壓,編譯和安裝:
[root@seiang src]# tar -zxfnagios-plugins-2.1.4.tar.gz
[root@seiang nagios]# cdnagios-plugins-2.1.4/
[root@seiang nagios-plugins-2.1.4]#./configure --with-nagios-user=nagios --with-nagios-group=Nagios
[root@seiang nagios-plugins-2.1.4]# make&& make install
(2)通過下面的命令查看安裝了多少個插件
[root@seiang nagios-plugins-2.1.4]#ls/usr/local/nagios/libexec/ | wc –l
(3)把Nagios加入到服務列表中以使之在系統啟動時自動啟動:
[root@seiang nagios-plugins-2.1.4]#chkconfig –add nagios
[root@seiang nagios-plugins-2.1.4]# chkconfignagios on
(4)執行下面的命令來驗證Nagios的樣例配置文件:
[root@seiang nagios-plugins-2.1.4]#/usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg
(5)如果防火墻的服務沒有安裝的話,首先使用yum來安裝防火墻服務
[root@seiangnagios-plugins-2.1.4]# yum install firewall*
(6)在防火墻中打開http端口
[root@seiang nagios-plugins-2.1.4]# firewall-cmd--add-service=http (臨時打開)
[root@seiang nagios-plugins-2.1.4]# firewall-cmd--permanent --add-service=http(寫入配置文件)
[root@seiang nagios-plugins-2.1.4]# firewall-cmd--reload (重啟防火墻)
(7)啟動nagios服務
[root@seiang ~]# /usr/local/nagios/bin/nagios-d /usr/local/nagios/etc/nagios.cfg
(8)在瀏覽器上訪問鏈接http://10.1.1.66/nagios,輸入登陸名和密碼,如果能夠正常看到頁面,證明主程序和插件都安裝和配置成功,如下圖所示:
點擊“Host”的鏈接來查看你本機的監視詳情。
點擊“Service”的鏈接來查看你本機的監視詳情。此時可能需要給點時間讓Nagios來檢測你機器上所依賴的服務。
注意:
上圖中出現了一個處于WARNING狀態的服務,所以我配置過的郵箱里已經收到了報警信息,如果你沒有收到報警信息,此時檢查你是否已經配置了接收報警信息的郵箱,同時檢查是否被當做垃圾郵件而屏蔽了。
3.6安裝nrpe
[root@seiang nagios]# tar-zxf nrpe-2.15.tar.gz
[root@seiang nrpe-2.15]# cdnrpe-2.15
[root@seiang nrpe-2.15]# ./configure--with-nrpe-user=nagios \
--with-nrpe-group=nagios\
--with-nagios-user=nagios\
--with-nagios-group=nagios\
--enable-command-args\
--enable-ssl
[root@seiang nrpe-2.15]# makeall
[root@seiang nrpe-2.15]# makeinstall-plugin
[root@seiang nrpe-2.15]# makeinstall-daemon
[root@seiang nrpe-2.15]# makeinstall-daemon-config
檢查一下/usr/local/nagios/libexec目錄下是否已經安裝了check_nrpe插件
[root@seianglibexec]# ls | grep check_nrpe
check_nrpe
至此,監控主機已經完成了nagios的安裝
注意:規劃中共有兩臺遠程主機(10.1.1.55和10.1.1.58),所以兩臺遠程主機都必須進行配置
(1)關閉防火墻:
[root@nagios-slave-55~]# systemctl stop firewalld.service
[root@nagios-slave-55~]# yum install gcc glibc glibc-common -y
[root@nagios-slave-55~]# yum install gd gd-devel openssl openssl-devel -y
[root@nagios-slave-55~]# yum install php php-gd perl net-tools -y
4.2安裝nagios-plugin
(1)先添加nagios用戶
[root@ nagios-slave-55 ~]# useradd-s /sbin/nologin nagios #禁止nagios用戶登錄
(2)NRPE依賴于nagios-plugins,因此,需要先安裝
進入到/software/nagios目錄下開始執行下面開始安裝
[root@ nagios-slave-55 nagios]# tar -zxfnagios-plugins-2.0.3.tar.gz
[root@ nagios-slave-55 nagios]# cd nagios-plugins-2.1.4
[root@nagios-slave-55nagios-plugins-2.1.4]# ./configure--with-nagios-user=nagios--with-nagios-group=nagios
[root@nagios-slave-55 nagios-plugins-2.1.4]#make all
[root@nagios-slave-55nagios-plugins-2.1.4]# make install
(1)進入到/software/nagios目錄下開始執行下面的命令
[root@ nagios-slave-55 nagios]# tar-zxf nrpe-2.15.tar.gz
[root@ nagios-slave-55 nagios]# cdnrpe-2.15
[root@ nagios-slave-55 nrpe-2.15]#./configure --with-nrpe-user=nagios \
--with-nrpe-group=nagios \
--with-nagios-user=nagios \
--with-nagios-group=nagios \
--enable-command-args \
--enable-ssl
[root@ nagios-slave-55 nrpe-2.15]# makeall
[root@ nagios-slave-55 nrpe-2.15]# makeinstall-plugin
[root@ nagios-slave-55 nrpe-2.15]# makeinstall-daemon
[root@ nagios-slave-55 nrpe-2.15]# makeinstall-daemon-config
[root@ nagios-slave-55 nrpe-2.15]# ls/usr/local/nagios/libexec/ #如果安裝成功里面有好多NRPE的插件
注意是否有check_nrpe這個插件(沒有的話就說明了nrpe沒有安裝成功)
(1)用命令啟動nrpe
[root@ nagios-slave-55 ~]#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d #這條命令啟動nrpe
(2)如果要重啟nrpe,先執行命令:
[root@ nagios-slave-55 ~]# pkillnrpe #關閉nrpe
[root@ nagios-slave-55 ~]# netstat-lntp #這條命令用來檢查端口,看5666端口是否已經被關閉
[root@ nagios-slave-55 ~]# /usr/local/nagios/bin/nrpe-c /usr/local/nagios/etc/nrpe.cfg -d
#重啟nrpe進程
(3)檢查5666端口是否成功啟動
[root@ nagios-slave-55 ~]# netstat-tnlp
5666端口已經成功啟動
(4)在/usr/local/nagios/etc/nrpe.cfg文件中添加監控主機的ip地址
[root@ nagios-slave-55 etc]# vinrpe.cfg +81
將allowed_hosts=127.0.0.1 修改為 allowed_hosts=127.0.0.1,10.1.1.55(這是監控主機的ip地址,本機的ip地址為10.1.1.55)
(5)重啟nrpe
[root@localhost ~]#pkill nrpe
[root@localhost ~]# /usr/local/nagios/bin/nrpe-c /usr/local/nagios/etc/nrpe.cfg –d
(6)在監控主機上(ip地址為10.1.1.66)輸入下面的命令來檢查兩個機器之間是否成功通信
[root@seiang ~]# cd/usr/local/nagios/libexec/
[root@seiang libexec]# ./check_nrpe-H 10.1.1.55
NRPEv2.15 #通信成功
至此,遠程主機安裝nagios完畢
五、監控主機安裝PNP
溫馨提醒:看清楚你要安裝的pnp4nagios的版本,因為0.4和0.6的配置方式是不一致的
5.1配置開發環境
[root@seiang ~]# yuminstall rrdtool librrds-perl –y
這里我的pnp的版本號為0.6
(1)進入到/software/nagios目錄下開始執行下面的命令
[root@seiang src]# tar -zxvfpnp4nagios-0.6.25.tar.gz
[root@seiang src]# cdpnp4nagios-0.6.25
[root@seiang pnp4nagios-0.6.25]# ./configure--with-nagios-user=nagios --with-nagios-group=nagios
[root@seiang pnp4nagios-0.6.25]# makeall
[root@seiangpnp4nagios-0.6.25]# makeinstall
[root@seiang pnp4nagios-0.6.25]# makeinstall-webconf
[root@seiang pnp4nagios-0.6.25]# makeinstall-config
[root@seiang pnp4nagios-0.6.25]# makeinstall-init
[root@seiang pnp4nagios-0.6.25]# cd./sample-config
[root@seiang sample-config]# makeinstall-webconf
(1)基本配置
[root@ seiang pnp4nagios-0.6.25]# cd/usr/local/pnp4nagios/etc/
[root@ seiang etc]# mvmisccommands.cfg-sample misccommands.cfg
[root@ seiang etc]# mvrra.cfg-sample rra.cfg
[root@ seiang etc]# mvnagios.cfg-sample nagios.cfg
[root@ seiang etc]# cdpages/
[root@ seiang pages]# mvweb_traffic.cfg-sample web_traffic.cfg
[root@ seiang pages]# cd../check_commands/
[root@ seiang check_commands]# mvcheck_all_local_disks.cfg-sample check_all_local_disks.cfg
[root@ seiang check_commands]# mvcheck_nrpe.cfg-sample check_nrpe.cfg
[root@ seiang check_commands]# mvcheck_nwstat.cfg-sample check_nwstat.cfg
[root@ seiang check_commands]# /etc/init.d/npcdstart
[root@ seiang check_commands]# chkconfignpcd on
(2)配置Nagios數據輸出接口(以BULK模式運行)
[root@seiang ~]# vi/usr/local/nagios/etc/nagios.cfg
process_performance_data=1#默認為0,修改為1
并在該文件中添加下面的內容
(3)配置command.cfg
[root@seiang ~]# vi/usr/local/nagios/etc/objects/commands.cfg
在該文件中添加下面的內容 define command{ command_name process-service-perfdata-file command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata } define command{ command_name process-host-perfdata-file command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata } |
(4)在模板配置文件中添加圖表圖標模板:
[root@seiang ~]# vi/usr/local/nagios/etc/objects/templates.cfg
在該文件中添加下面的內容 define host { name host-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_ register 0 }
define service { name service-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 } |
(5)在監控主機和服務中調用圖表模板(在主機和服務后面添加新的模板):
[root@seiang ~]# vi/usr/local/nagios/etc/objects/localhost.cfg
按下面的內容修改(不是添加)該文件 define host{ use linux-server,host-pnp host_name localhost alias localhost address 127.0.0.1 } define service{ use local-service,service-pnp host_name localhost service_description PING check_command check_ping!100.0,20%!500.0,60% } define service{ use local-service,service-pnp host_name localhost service_description Root Partition check_command check_local_disk!20%!10%!/ } …(共8處修改) |
配置Nagios數據輸出接口(以BULK模式運行)詳情參考官網https://docs.pnp4nagios.org/pnp-0.6/config#bulk_mode
(1)重啟nagios和apache
[root@seiang~]# systemctlrestart nagios.service
[root@seiang ~]# systemctlrestart httpd.service
(2)訪問nagios界面即可看到圖表小圖標:
點擊圖標會顯示pnp4nagios測試頁面:全是綠色代表配置正常,如果不是全綠,要逐個解決錯誤。然后移除或修改install.php文件:
[root@seiang ~]# rm-rf /usr/local/pnp4nagios/share/install.php
再次點擊圖標就會顯示當前監控服務由pnp4nagios生成的圖表了:
至此,nagios監控主機的出圖配置已經全部完成。
作者:SEian.G ◇本文在ITPUB:http://blog.itpub.net/31015730/ 51CTO:http://seiang.blog.51cto.com/ 上有同步更新 ◇本文itpub地址:http://blog.itpub.net/31015730/viewspace-2136850/ ◇本文51CTO地址:http://seiang.blog.51cto.com/10819863/1916315
|
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。