您好,登錄后才能下訂單哦!
監(jiān)控利器Nagios之二:Nagios的細(xì)致介紹和監(jiān)控外部服務(wù)器的私有信息
Nagios的監(jiān)控對(duì)象的定義和對(duì)被監(jiān)控設(shè)備的動(dòng)作命令是分開的。一個(gè)是主程序包,一個(gè)是插件包。先來說說nagios主程序nagios-plugins插件和nrpe軟件的用處,
Nagios主程序:
Nagios主程序提供一個(gè)的只是一個(gè)監(jiān)控平臺(tái),真正用作工作的并不是它,而是他的插件。在Nagios 安裝完畢后,默認(rèn)的配置文件在/usr/local/nagios/etc目錄下。里面定義了nagios能調(diào)用的命令、對(duì)打印機(jī)和交換機(jī)的監(jiān)控;以及定義的模板和報(bào)警的聯(lián)系。
通常,當(dāng)你要準(zhǔn)備監(jiān)控某個(gè)服務(wù)的時(shí)候,都是在nagios的主程序中定義的。Localhost.cfg配置文件是,nagios系統(tǒng)的默認(rèn)監(jiān)控定義配置文件,里面的內(nèi)容都是nagios的作者寫的一些定義的模板,然而,實(shí)際工作中,是不會(huì)再這里定義的,都是額外編寫配置文件,區(qū)分開來的,作用是為了便于管理。通常都會(huì)在object目錄下編寫hosts.cfg和services.cfg配置文件,用來定義主機(jī)和服務(wù)的信息的。
Nagios-plugins插件包:
Nagios-plugins插件就是用來提供對(duì)被監(jiān)控主機(jī)的動(dòng)作命令,默認(rèn)的有check_tcp check_load等。一般在監(jiān)控外部主機(jī)服務(wù)的時(shí)候會(huì)有特點(diǎn)的監(jiān)控動(dòng)作命令,而默認(rèn)的存放動(dòng)作命令目錄中是沒有這些動(dòng)作命令的腳本文件的。這就需要我們?nèi)ザx,只有定義之后才能使用的。這些插件會(huì)被nagios用在什么地方呢?nagios有很多個(gè)cfg文件,用來定義各式各樣的信息,其中hosts.cfg和services.cfg(一般是這兩個(gè),也可能是其他定義主機(jī)和服務(wù)的配置文件)是用來定義主機(jī)和服務(wù)的信息的。這些插件就被使用在這里。
Nrpe軟件包:
Nrpe軟件包是插件的擴(kuò)展,在監(jiān)控外部主機(jī)的私有信息的時(shí)候,客戶端需要根據(jù)服務(wù)器端發(fā)來的請(qǐng)求來檢索本地私有信息,而檢索本地的私有信息就需要各種的監(jiān)控動(dòng)作命令,這些動(dòng)作命令本身是沒有的,因此就需要安裝它了,通常nrpe插件包之用作于監(jiān)控私有信息的,例如:監(jiān)控外部主機(jī)的硬盤信息。
Nagios的安裝目錄詳解
Nagios默認(rèn)安裝在usr/local/nagios/。安裝完之后會(huì)在其目錄下生成etc、bin、sbin、share、var 這五個(gè)目錄。
Nagios 各個(gè)目錄用途說明如下:
ls /usr/local/nagios | |
目錄 | 作用 |
bin | Nagios 可執(zhí)行程序所在目錄 |
etc | Nagios 配置文件所在目錄 |
sbin | Nagios CGI 文件所在目錄,也就是執(zhí)行外部命令所需文件所在的目錄 |
share | Nagios網(wǎng)頁(yè)文件所在的目錄 |
libexec | Nagios 外部插件所在目錄 |
1、etc目錄
tree /usr/local/nagios/etc/ ├── cgi.cfg ├── htpasswd.users ├── nagios.cfg ├── nagiosgraph.cfg ├── objects │ ├── commands.cfg │ ├── contacts.cfg │ ├── hosts.cfg │ ├── localhost.cfg │ ├── printer.cfg │ ├── service.cfg │ ├── switch.cfg │ ├── templates.cfg │ ├── timeperiods.cfg │ └── windows.cfg └── resource.cfg
在etc存放了nagios.cfg和objects目錄,objects目錄中就是存放nagios定義的配置文件目錄,里面存放了包括定義主配置文件,變量定義文件,命令定義文件,還有定義主機(jī)和服務(wù)等文件。
nagios.cfg文件
nagios.cfg默認(rèn)的路徑為/usr/local/nagios/etc/nagios.cfg,是nagios的核心配置文件,所有的對(duì)象配置文件都必須在這個(gè)文件中進(jìn)行定義才能發(fā)揮其作用,這里只需將對(duì)象配置文件在Nagios.cfg文件中進(jìn)行引用即可。
ls /usr/local/nagios/etc/objects/ | |
目錄 | 作用 |
cgi.cfg | 控制CGI訪問的配置文件 |
nagios.cfg | Nagios 主配置文件 |
resource.cfg | 變量定義文件,又稱為資源文件,在些文件中定義變量,以便由其他配置文件引用, |
objects | objects 是一個(gè)目錄,在此目錄下有很多配置文件模板,用于定義Nagios 對(duì)象 |
objects/commands.cfg | 命令定義配置文件,其中定義的命令可以被其他配置文件引用 |
objects/contacts.cfg | 定義聯(lián)系人和聯(lián)系人組的配置文件 |
objects/localhost.cfg | 定義監(jiān)控本地主機(jī)的配置文件 |
objects/templates.cfg | 定義主機(jī)和服務(wù)的一個(gè)模板配置文件,可以在其他配置文件中引用 |
objects/timeperiods.cfg | 定義Nagios 監(jiān)控時(shí)間段的配置文件 |
objects/windows.cfg | 監(jiān)控Windows 主機(jī)的一個(gè)配置文件模板,默認(rèn)沒有啟用此文件 |
解釋:
在nagios的配置過程中涉及到的幾個(gè)定義有:主機(jī)、主機(jī)組,服務(wù)、服務(wù)組,聯(lián)系人、聯(lián)系人組,監(jiān)控時(shí)間,監(jiān)控命令等,從這些定義可以看出,nagios各個(gè)配置文件之間是互為關(guān)聯(lián),彼此引用的。成功配置出一臺(tái)nagios監(jiān)控系統(tǒng),必須要弄清楚每個(gè)配置文件之間依賴與被依賴的關(guān)系,
看到上面的目錄,定義服務(wù)的目錄態(tài)過于凌亂,因此一般我們不用他的本地配置文件,都會(huì)自行定義文件,這樣能夠更清楚的說明問題,同時(shí)也為了維護(hù)方便,通常將nagios各個(gè)定義對(duì)象創(chuàng)建獨(dú)立的配置文件,如下:
創(chuàng)建hosts.cfg文件來定義主機(jī)和主機(jī)組 |
創(chuàng)建services.cfg文件來定義服 |
用默認(rèn)的contacts.cfg文件來定義聯(lián)系人和聯(lián)系人組 |
用默認(rèn)的commands.cfg文件來定義命 |
用默認(rèn)的timeperiods.cfg來定義監(jiān)控時(shí)間段 |
用默認(rèn)的templates.cfg文件作為資源引用文件 |
重要的文件認(rèn)識(shí):
(1)hosts.cfg文件
hosts.cfg主要用來指定被監(jiān)控的主機(jī)地址以及相關(guān)屬性信息
(2)services.cfg文件
services.cfg文件主要用于定義監(jiān)控的服務(wù)和主機(jī)資源,例如監(jiān)控http服務(wù)、ftp服務(wù)、主機(jī)磁盤空間、主機(jī)系統(tǒng)負(fù)載等等。Nagios-Server 和Nagios-Windows 相關(guān)服務(wù)已在相應(yīng)的配置文件中定義,所以這里只需要定義Nagios-Linux 相關(guān)服務(wù)即可,這里只定義一個(gè)檢測(cè)是否存活的服務(wù)來驗(yàn)證配置文件的正確性,其他服務(wù)的定義將在后面講到。
(3)commands.cfg文件
commands.cfg目錄主要用于定義命令,在nagios-plugins插件包中定義一些基礎(chǔ)的動(dòng)作命令,而有些命令是需要我們?nèi)ザx的。所有命令的使用都必須在這個(gè)目錄下線定義好,下可以使用,
2、libexec
tree /usr/local/nagios/libexec/ ├── check_apt ├── check_pop -> check_tcp ├── process_perfdata.pl ....................... ├── utils.pm └── utils.sh
libexec目錄下面存放的各種動(dòng)作命令,在Nagios-plugins插件包沒有安裝之前,此目錄下僅有兩個(gè)動(dòng)作命令,當(dāng)插件包安裝之后,此目錄中就會(huì)生成插件包定義出的動(dòng)作命令。所有的動(dòng)作命令都是在上文中提到的commands.cfg文件中定義好的,當(dāng)重新定義一個(gè)命令之后,都需要在libexec目錄下編譯一個(gè)同名的腳本文件。只有腳本文件編譯好,此命令才能生效。
Nrpe軟件包生成擴(kuò)展插件也是在libexec目錄下。此目錄下的內(nèi)容解釋如下:
監(jiān)控對(duì)象 | 監(jiān)控闕值 | |
主 機(jī) 資 源 | 主機(jī)存活:check_ping | -w 3000.0,80% -c 5000.0,100% -p 5(3000毫秒響應(yīng)時(shí)間內(nèi),丟包率超過80%報(bào)警告,5000毫秒響應(yīng)時(shí)間內(nèi),丟包率超過100%報(bào)危急,一共發(fā)送5個(gè)包) |
登錄用戶:check_user | -w 5 -c 10(w為警告,c為危急) | |
系統(tǒng)負(fù)載:check_load | -w 15,10,5 -c 30,25,20(1分鐘,5分鐘,15分鐘大于對(duì)應(yīng)的等待進(jìn)程數(shù)則警告或危急) | |
磁盤占用率:check_disk | -w 15,10,5 -c 30,25,20(1分鐘,5分鐘,15分鐘大于對(duì)應(yīng)的等待進(jìn)程數(shù)則警告或危急) | |
腳本檢測(cè)磁盤I/O:check_iostat | -w 20% -c 10% -p /(根分區(qū)剩余空間為總大小的20%警告,10%危急,-p后是根分區(qū)) | |
檢測(cè)僵尸進(jìn)程:check_zombie _procs | -w 5 -c 10 -s Z(有5個(gè)僵尸進(jìn)程報(bào)警告,10個(gè)報(bào)危急) | |
檢測(cè)總進(jìn)程數(shù):check_total_procs | -w 150 -c 200(總進(jìn)程到150個(gè)警告,200個(gè)報(bào)危急) | |
腳本檢測(cè)內(nèi)存剩余:check_mem | -w 90% -c 95%(內(nèi)存空閑率90%以上報(bào)警告,95%以上報(bào)危急) | |
檢測(cè)交換分區(qū)使用率:check_swap | -w 20% -c 10%(交換分區(qū)剩余空間為總大小的20%警告, 10%危急) | |
應(yīng) 用 服 務(wù) 的 流 量 監(jiān) 控 | 監(jiān)控服務(wù)端口:check_tcp | -H localhost2 -p 80(主機(jī)與對(duì)應(yīng)的端口號(hào)) |
監(jiān)控頁(yè)面響應(yīng)時(shí)間:check_http | -H localhost2 -u http:\/\/localhost2/test.jsp –w 5 –c 10(檢查頁(yè)面,超過5s報(bào)警告,超過10s報(bào)危急) | |
腳本檢測(cè)IP連接數(shù):check_ips | -w 200 –c 250(IP連接數(shù)超過200報(bào)警告,超過250報(bào)危急) | |
監(jiān)控server流量:Check_traffi | -V 2c -C public -H localhost2 -I 2 -w 12,30 -c 15,35 -M –b(snmp版本,用戶,主機(jī),對(duì)應(yīng)網(wǎng)卡,警告閥值,危急閥值) |
一:實(shí)驗(yàn)?zāi)繕?biāo)
1、監(jiān)控外部服務(wù)器NFS,服務(wù)端當(dāng)做客戶端
2、監(jiān)控外部服務(wù)器的MySQL服務(wù)
3、監(jiān)控外部服務(wù)器httpd
4、監(jiān)控外部服務(wù)器的私有信息
二:實(shí)驗(yàn)環(huán)境
VMare | 作用 | 主機(jī)名 | Ip地址 | 安裝的軟件 |
RHEL-6.5 | 服務(wù)端 | yu61 | 192.168.1.61 | Nagios軟件,nagios插件,nrpe,LAMP環(huán)境、NFS |
RHEL-6.5 | 客戶端 | yu62 | 192.168.1.62 | nagios插件,nrpe、mysql-server、IO |
RHEL-6.5 | 客戶端 | yu63 | 192.168.1.63 | nagios插件,nrpe、NFS、Http、 |
#所有服務(wù)器都需要關(guān)閉防火墻
三:實(shí)驗(yàn)步驟
實(shí)戰(zhàn):監(jiān)控外部服務(wù)器私有信息
1、修改配置文件
[root@yu61 objects]# vim hosts.cfg ##末尾添加 define host{ use linux-server host_name IO63 alias IO服務(wù) address 192.168.1.63 icon_p_w_picpath switch.gif statusmap_p_w_picpath switch.gd2 2d_coords 100,200 3d_coords 100,200,100 }
[root@yu61 objects]# cat service.cfg ##末尾添加 ###################check_server_IO-63############################# define service{ use local-service host_name IO63 service_description Root Partition check_command check_nrpe!check_sda2 } define service{ use local-service host_name IO63 service_description Total Processes check_command check_nrpe!check_total_procs } define service{ use local-service host_name IO63 service_description Current Load check_command check_nrpe!check_load }
2、檢測(cè)配置和重啟服務(wù)
[root@yu61 ~]# /etc/init.d/nagios checkconfig Total Warnings: 0 Total Errors: 0 [root@yu62 ~]# service httpd restart
3、測(cè)試查看主機(jī)和服務(wù)
4、生成nrpe.cfg
[root@yu63 nrpe-2.12]# make install-daemon-config [root@yu63 nrpe-2.12]# ls /usr/local/nagios/etc/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg
5、安裝xinetd服務(wù)管理nrpe
[root@yu63 nrpe-2.12]# rpm -ivh /mnt/Packages/xinetd-2.3.14-39.el6_4.x86_64.rpm [root@yu63 nrpe-2.12]# cat /etc/xinetd.d/nrpe service nrpe { server = /usr/local/nagios/bin/nrpe server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd log_on_failure += USERID disable = no only_from = 127.0.0.1 192.168.1.61 }
[root@yu63 nrpe-2.12]# vim /etc/services ##服務(wù)端口最后添加
[root@yu63 nrpe-2.12]# /etc/init.d/xinetd restart [root@yu63 nrpe-2.12]# netstat -antup |grep 5666 tcp 0 0 :::5666 :::* LISTEN 62841/xinetd
6、修改文件,指定監(jiān)控標(biāo)準(zhǔn)
[root@yu63 nrpe-2.12]# vim /usr/local/nagios/etc/nrpe.cfg ##在204行添加一下內(nèi)容 command[check_sda1]=/usr/local/nagios/libexec/check_disk-w 38% -c 35% -p /dev/sda1 command[check_sda2]=/usr/local/nagios/libexec/check_disk-w 42% -c 43% -p /dev/sda2 command[check_swap]=/usr/local/nagios/libexec/check_swap-w 20% -c 10% [root@yu61 objects]# /usr/local/nagios/libexec/check_nrpe -H 192.168.1.63 NRPE v2.12
7、檢測(cè)配置和重啟服務(wù)及測(cè)試
[root@yu61 ~]# /etc/init.d/nagios checkconfig Total Warnings: 0 Total Errors: 0 [root@yu62 ~]# service httpd restart
8、波動(dòng)磁盤利用率查看效果
##當(dāng)內(nèi)存使用率達(dá)到測(cè)試值時(shí),就會(huì)出現(xiàn)緊急狀態(tài)
[root@yu63 nrpe-2.12]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 20G 4.8G 14G 26% / tmpfs 750M 224K 750M 1% /dev/shm /dev/sda1 4.9G 162M 4.5G 4% /boot /dev/sr0 3.6G 3.6G 0 100% /mnt [root@yu63 ~]# dd if=/dev/zero of=a.txt count=100 bs=40M [root@yu63 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 20G 6.3G 12G 35% / tmpfs 750M 224K 750M 1% /dev/shm /dev/sda1 4.9G 162M 4.5G 4% /boot /dev/sr0 3.6G 3.6G 0 100% /mnt
[root@yu63 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 20G 7.2G 12G 40% / tmpfs 750M 224K 750M 1% /dev/shm /dev/sda1 4.9G 162M 4.5G 4% /boot /dev/sr0 3.6G 3.6G 0 100% /mnt
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。