監控利器Nagios之二:Nagios的細緻介紹和監控外部服務器的私有信息

監控利器Nagios之二:Nagios的細緻介紹和監控外部服務器的私有信息

 

Nagios的監控對象的定義和對被監控設備的動作命令是分開的。一個是主程序包,一個是插件包。先來說說nagios主程序nagios-plugins插件和nrpe軟件的用處,

Nagios主程序:

Nagios主程序提供一個的只是一個監控平臺,真正用作工作的並不是它,而是他的插件。在Nagios 安裝完畢後,默認的配置文件在/usr/local/nagios/etc目錄下。裏面定義了nagios能調用的命令、對打印機和交換機的監控;以及定義的模板和報警的聯繫。

通常,當你要準備監控某個服務的時候,都是在nagios的主程序中定義的。Localhost.cfg配置文件是,nagios系統的默認監控定義配置文件,裏面的內容都是nagios的作者寫的一些定義的模板,然而,實際工作中,是不會再這裏定義的,都是額外編寫配置文件,區分開來的,作用是爲了便於管理。通常都會在object目錄下編寫hosts.cfgservices.cfg配置文件,用來定義主機和服務的信息的。

Nagios-plugins插件包:

Nagios-plugins插件就是用來提供對被監控主機的動作命令,默認的有check_tcp check_load等。一般在監控外部主機服務的時候會有特點的監控動作命令,而默認的存放動作命令目錄中是沒有這些動作命令的腳本文件的。這就需要我們去定義,只有定義之後才能使用的。這些插件會被nagios用在什麼地方呢?nagios有很多個cfg文件,用來定義各式各樣的信息,其中hosts.cfgservices.cfg(一般是這兩個,也可能是其他定義主機和服務的配置文件)是用來定義主機和服務的信息的。這些插件就被使用在這裏。

Nrpe軟件包:

Nrpe軟件包是插件的擴展,在監控外部主機的私有信息的時候,客戶端需要根據服務器端發來的請求來檢索本地私有信息,而檢索本地的私有信息就需要各種的監控動作命令,這些動作命令本身是沒有的,因此就需要安裝它了,通常nrpe插件包之用作於監控私有信息的,例如:監控外部主機的硬盤信息。

 

Nagios的安裝目錄詳解

Nagios默認安裝在usr/local/nagios/。安裝完之後會在其目錄下生成etcbinsbinsharevar 這五個目錄

Nagios 各個目錄用途說明如下:

ls /usr/local/nagios

目錄

作用

bin

Nagios 可執行程序所在目錄

etc

Nagios 配置文件所在目錄

sbin 

Nagios CGI 文件所在目錄,也就是執行外部命令所需文件所在的目錄

share

Nagios網頁文件所在的目錄

libexec

Nagios 外部插件所在目錄

 

1etc目錄

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.cfgobjects目錄,objects目錄中就是存放nagios定義的配置文件目錄,裏面存放了包括定義主配置文件,變量定義文件,命令定義文件,還有定義主機和服務等文件。

nagios.cfg文件

nagios.cfg默認的路徑爲/usr/local/nagios/etc/nagios.cfg,是nagios的核心配置文件,所有的對象配置文件都必須在這個文件中進行定義才能發揮其作用,這裏只需將對象配置文件在Nagios.cfg文件中進行引用即可。

 

 

ls /usr/local/nagios/etc/objects/

目錄

作用

cgi.cfg

控制CGI訪問的配置文件

nagios.cfg

Nagios 主配置文件

resource.cfg

變量定義文件,又稱爲資源文件,在些文件中定義變量,以便由其他配置文件引用,

objects

objects 是一個目錄,在此目錄下有很多配置文件模板,用於定義Nagios 對象

objects/commands.cfg

命令定義配置文件,其中定義的命令可以被其他配置文件引用

objects/contacts.cfg

定義聯繫人和聯繫人組的配置文件

objects/localhost.cfg

定義監控本地主機的配置文件

objects/templates.cfg

定義主機和服務的一個模板配置文件,可以在其他配置文件中引用

objects/timeperiods.cfg

定義Nagios 監控時間段的配置文件

objects/windows.cfg

監控Windows 主機的一個配置文件模板,默認沒有啓用此文件

 

解釋:

nagios的配置過程中涉及到的幾個定義有:主機、主機組,服務、服務組,聯繫人、聯繫人組,監控時間,監控命令等,從這些定義可以看出,nagios各個配置文件之間是互爲關聯,彼此引用的。成功配置出一臺nagios監控系統,必須要弄清楚每個配置文件之間依賴與被依賴的關係,

 

看到上面的目錄,定義服務的目錄態過於凌亂,因此一般我們不用他的本地配置文件,都會自行定義文件,這樣能夠更清楚的說明問題,同時也爲了維護方便,通常將nagios各個定義對象創建獨立的配置文件,如下:

創建hosts.cfg文件來定義主機和主機組

創建services.cfg文件來定義服

用默認的contacts.cfg文件來定義聯繫人和聯繫人組

用默認的commands.cfg文件來定義命

用默認的timeperiods.cfg來定義監控時間段

 用默認的templates.cfg文件作爲資源引用文件

 

重要的文件認識:

1hosts.cfg文件

hosts.cfg主要用來指定被監控的主機地址以及相關屬性信息

2services.cfg文件

services.cfg文件主要用於定義監控的服務和主機資源,例如監控http服務、ftp服務、主機磁盤空間、主機系統負載等等。Nagios-Server Nagios-Windows 相關服務已在相應的配置文件中定義,所以這裏只需要定義Nagios-Linux 相關服務即可,這裏只定義一個檢測是否存活的服務來驗證配置文件的正確性,其他服務的定義將在後面講到。

3commands.cfg文件

commands.cfg目錄主要用於定義命令,在nagios-plugins插件包中定義一些基礎的動作命令,而有些命令是需要我們去定義的。所有命令的使用都必須在這個目錄下線定義好,下可以使用,

 

2libexec

 tree /usr/local/nagios/libexec/
├── check_apt
├── check_pop -> check_tcp
├── process_perfdata.pl
.......................
├── utils.pm
└── utils.sh


 

libexec目錄下面存放的各種動作命令,在Nagios-plugins插件包沒有安裝之前,此目錄下僅有兩個動作命令,當插件包安裝之後,此目錄中就會生成插件包定義出的動作命令。所有的動作命令都是在上文中提到的commands.cfg文件中定義好的,當重新定義一個命令之後,都需要在libexec目錄下編譯一個同名的腳本文件。只有腳本文件編譯好,此命令才能生效。

Nrpe軟件包生成擴展插件也是在libexec目錄下。此目錄下的內容解釋如下:

 

 

監控對象

監控闕值

 

 

 

 

 

 

 

 

主機存活:check_ping

-w 3000.0,80% -c 5000.0,100% -p 5(3000毫秒響應時間內,丟包率超過80%報警告,5000毫秒響應時間內,丟包率超過100%報危急,一共發送5個包)

登錄用戶:check_user

-w 5 -c 10(w爲警告,c爲危急)

系統負載:check_load

-w 15,10,5 -c 30,25,20(1分鐘,5分鐘,15分鐘大於對應的等待進程數則警告或危急)

磁盤佔用率:check_disk

-w 15,10,5 -c 30,25,20(1分鐘,5分鐘,15分鐘大於對應的等待進程數則警告或危急)

腳本檢測磁盤I/Ocheck_iostat

-w 20% -c 10% -p /(根分區剩餘空間爲總大小的20%警告,10%危急,-p後是根分區)

檢測殭屍進程:check_zombie _procs

-w 5 -c 10 -s Z(有5個殭屍進程報警告,10個報危急

檢測總進程數:check_total_procs

-w 150 -c 200(總進程到150個警告,200個報危急

腳本檢測內存剩餘:check_mem

-w 90% -c 95%(內存空閒率90%以上報警告,95%以上報危急)

檢測交換分區使用率:check_swap

-w 20% -c 10%(交換分區剩餘空間爲總大小的20%警告,

10%危急)

監控服務端口:check_tcp

-H localhost2 -p 80(主機與對應的端口號)

監控頁面響應時間:check_http

-H localhost2 -u http:\/\/localhost2/test.jsp –w 5 –c 10(檢查頁面,超過5s報警告,超過10s報危急)

腳本檢測IP連接數:check_ips

-w 200 –c 250(IP連接數超過200報警告,超過250報危急)

監控server流量:Check_traffi

-V 2c -C public -H localhost2 -I 2 -w 12,30 -c 15,35 -M –b(snmp版本,用戶,主機,對應網卡,警告閥值,危急閥值)

 

 

一:實驗目標

1、監控外部服務器NFS,服務端當做客戶端

2、監控外部服務器的MySQL服務

3、監控外部服務器httpd

4、監控外部服務器的私有信息

二:實驗環境

VMare

作用

主機名

Ip地址

安裝的軟件

RHEL-6.5

服務端

yu61

192.168.1.61

Nagios軟件,nagios插件,nrpeLAMP環境、NFS

RHEL-6.5

客戶端

yu62

192.168.1.62

nagios插件,nrpemysql-serverIO

RHEL-6.5

客戶端

yu63

192.168.1.63

nagios插件,nrpeNFSHttp

 #所有服務器都需要關閉防火牆

 

三:實驗步驟

 

實戰:監控外部服務器私有信息

1、修改配置文件

[root@yu61 objects]# vim hosts.cfg  ##末尾添加
define host{
        use                     linux-server
        host_name               IO63
        alias                   IO服務
        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、檢測配置和重啓服務

[root@yu61 ~]# /etc/init.d/nagios checkconfig 
Total Warnings: 0
Total Errors:   0
[root@yu62 ~]# service httpd restart


3、測試查看主機和服務

wKiom1lLI9XjA3StAABdwIQoJrg388.png

wKioL1lLI9WDMx3GAACySzw4iAs298.png

 

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服務管理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   ##服務端口最後添加

wKioL1lLJAqgWslTAAAS8kcHUgk599.png 

[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、修改文件,指定監控標準

[root@yu63 nrpe-2.12]# vim /usr/local/nagios/etc/nrpe.cfg
##在204行添加一下內容
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、檢測配置和重啓服務及測試

[root@yu61 ~]# /etc/init.d/nagios checkconfig 
Total Warnings: 0
Total Errors:   0
[root@yu62 ~]# service httpd restart


 wKiom1lLJDShsGtyAACJIR9eJtg377.png 

8、波動磁盤利用率查看效果

##當內存使用率達到測試值時,就會出現緊急狀態

[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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章