nagios監控系統
成都創新互聯服務項目包括渭濱網站建設、渭濱網站制作、渭濱網頁制作以及渭濱網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,渭濱網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到渭濱省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!1:ngios工作原理
1.Nagios的功能是監控服務和主機,但是他自身并不包括這部分功能,所有的監控、檢測功能都是通過各種插件來完成的。
啟動Nagios后,它會周期性的自動調用插件去檢測服務器狀態,同時Nagios會維持一個隊列,所有插件返回來的狀態信息都進入隊列,Nagios每次都從隊首開始讀取信息,并進行處理后,把狀態結果通過web顯示出來。
Nagios提供了許多插件,利用這些插件可以方便的監控很多服務狀態。安裝完成后,在nagios主目錄下的/libexec里放有nagios自帶的可以使用的所有插件,如,check_disk是檢查磁盤空間的插件,check_load是檢查CPU負載的,等等。每一個插件可以通過運行./check_xxx –h來查看其使用方法和功能。
2.Nagios可以識別4種狀態返回信息,即0(OK)表示狀態正常/綠色、1(WARNING)表示出現警告/×××、2(CRITICAL)表示出現非常嚴重的錯誤/紅色、3(UNKNOWN)表示未知錯誤/深×××。Nagios根據插件返回來的值,來判斷監控對象的狀態,并通過web顯示出來,以供管理員及時發現故障。
四種監控狀態

3.Nagios 通過NRPE來遠端管理服務
1. Nagios 執行安裝在它里面的check_nrpe插件,并告訴check_nrpe去檢測哪些服務。
2. 通過SSL,check_nrpe連接遠端機子上的NRPE daemon
3. NRPE 運行本地的各種插件去檢測本地的服務和狀態(check_disk,..etc)
4. 最后,NRPE把檢測的結果傳給主機端的check_nrpe,check_nrpe再把結果送到Nagios狀態隊列中。
5. Nagios 依次讀取隊列中的信息,再把結果顯示出來。
4.nagios監控一個服務或主機的方式
1.【被動監控】nagios通過nsca進行被動監控。那么什么是被動監控呢?被動監測:就是指由被監測的服務器主動上傳數據到nagios監控系統中。這種監測方式提高了實時性(出現問題的時候,被監測的服務器可以及時上傳數據通知nagios,從而使管理員可以盡快作出處理,而不用像主動監測中一樣,非要等到下一個監測周期才能獲知被監測服務器的狀態)。NSCA就是可以實現Nagios被動監測的一個程序。目前所知道的,只能通過nsca插件對linux/unix服務器進行被動監控。對于windows服務器暫時沒發現可用的插件。
2.【主動監控】nagios通過nrpe插件和snmp協議進行主動監控。至于什么是主動監控可以參考上面所述。簡單理解決就是nagios按照檢測周期主動的獲取遠程主機的數據。這樣一來實時性就要差一些了。nagios通過nrpe插件和snmp協議實現了對linux/unix服務器進行監控,同時通過snmp協議實現了對windows服務器、交換機、打印機等的監控。另外,nagios通過NSClient++客戶端也可以對windows進行監控

四、nagios監控一個服務或主機的途徑
nagios本身并沒有監控的功能,所有的監控是由插件完成的,插件將監控的結果返回給nagios,nagios分析這些結果以web的方式展現給我們,同時提供相應的報警功能(這個報警的功能也是由相應的插件完成的)。
根據上圖可以看出有這么幾大類,這些都是nagios所要調用的插件類型
1.snmp類
【可以監控本地/遠程linux/unix主機和遠程windows服務器、交換機、打印機】
2.nrpe類
【主要監控本地主機和遠程主機的服務的狀態,切記是針對于服務】
3.nsca類
【nsca主要是實現被動監控的】
4.nagios-plugins類
【nagios-plugins是nagios官方提供的一套插件程序,nagios監控主機的功能其實都是通過執行插件程序來實現的。】
所有的這些插件是一些實現特定功能的可執行程序,默認安裝的路徑是/
實驗過程:
一、構建nagios監控系統
1.關閉防火墻
#service iptables stop
#chkconfig iptables off

2. 創建nagios用戶和組
[root@centos1 ~]# useradd -s /sbin/nologin nagios
[root@centos1 ~]# mkdir /usr/local/nagios
[root@centos1 ~]# chown -R nagios:nagios /usr/local/nagios
[root@centos1 ~]#

3.安裝依賴包
[root@centos1 ~]# yum -y install php httpd mysql-devel

4.編譯安裝nagios
[root@centos1 nagios-4.0.1]# tar zxf /mnt/nagios-4.0.1.tar.gz -C /usr/src

[root@centos1 nagios-4.0.1]# cd /usr/src/nagios-4.0.1/

[root@centos1 nagios-4.0.1]# ./configure --prefix=/usr/local/nagios

[root@centos1 nagios-4.0.1]# make all //編譯

[root@centos1 nagios-4.0.1]# make install //安裝nagios的主程序的cgi和html

[root@centos1 nagios-4.0.1]# make install-init //生成服務腳本/etc/rc.d/init.d下

[root@centos1 nagios-4.0.1]# make install-commandmode //給外部程序訪問nagios分配權限

[root@centos1 nagios-4.0.1]# make install-config //生成nagios配置文件的樣例,安裝路徑為/usr/local/nagios/etc目錄下

[root@centos1 nagios-4.0.1]# make install-webconf//生成訪問web接口文件,自動修改httpd.conf文件,以讓nagios的web監控頁面必須經過授權才能訪問

[root@centos1 nagios-4.0.1]# chkconfig --add nagios
[root@centos1 nagios-4.0.1]# chkconfig --level 35 nagios on
[root@centos1 nagios-4.0.1]#

5.驗證安裝是否成功要查看/usr/local/nagiso目錄是否如下:
[root@centos1 nagios-4.0.1]# ls /usr/local/nagios
bin etc libexec sbin share var

6.安裝nagios插件
①安裝nagions插件
[root@centos1 nagios-plugins-1.5]# tar zxvf /mnt/nagios-plugins-1.5.tar.gz -C /usr/src

[root@centos1 nagios-plugins-1.5]# cd /usr/src/nagios-plugins-1.5/
make[1]: Leaving directory `/usr/src/nagios-plugins-1.5'

[root@centos1 nagios-plugins-1.5]# ./configure --prefix=/usr/local/ngios
[root@centos1 nagios-plugins-1.5]# make&&make install

如要獲取遠程主機的本地資源或屬性,如cpu利用率、磁盤資源等,需要借用外部構建NRPE來完成
②監控端和被監控端之間使用ssl安全同道。需要首先安裝openssl-devel
[root@centos1 nagios-plugins-1.5]# yum -y install openssl-devel

#tar zxvf /mnt/nrpe-2.15.tar.gz -C /usr/src
#cd /usr/src/nrpe-2.15

#./configure
#make all
#make install-plugin //將check_nrpe插件安裝到/usr/local/nagios/libexec目錄下

③為了安全起見,一般情況下要讓nagios的web監控頁面必須經過授權才能訪問。這需要增加驗證配置,之前在安裝nagios時安裝了install-webconfig所以就不用手工修改httpd.conf文件了,只需要創建用于訪問nagios的web頁面的驗證賬戶即可
[root@centos1 nrpe-2.15]# /usr/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadm

④驗證,在客戶機上打開瀏覽器


二、配置nagios監控系統
1.配置文件介紹
[root@centos1 etc]# cd /usr/local/nagios/etc

cgi.cfg //控制cgi訪問的配置文件
nagios.cfg //nagios主配置文件
resource.cfg //變量定義文件,又稱為資源文件,在這些文件只能給的定義的變量。在其他配置文件中可以被使用,如$USER1$=/usr/local/nagios/libexec
objects //objects是一個目錄,在此目錄下又很多配置文件模版,用于定義nagios對象
objects/commands.cfg //定義命令配置文件,其中定義的命令可以被其它配置文件引用
objects/contacts.cfg //定義聯系人和聯系人組的配置文件
objects/localhost.cfg //定義監控問地主及的配置文件
objects/printer.cfg //定義監控打印機的一個配置文件模版。默認沒有啟用此文件
objects/switch.cfg //定義監控路由器的一個配置文件,默認沒有啟用
objects/templates.cfg //定義主機和服務的一個模版配置文件,可以在其他配置文件中引用
objects/timeperiods.cfg //定義nagios監控時間段的配置文件
objects/windows.cfg //定義監控windows主機的一個配置文件模版,默認沒有啟動此文件
2.配置文件之間的關聯
四點:
l 定義監控哪些主機、主機組、服務和服務組
l 定義這個監控要什么命令實現
l 定義監控的時間段
l 定義主機或服務出現問題時要通知的聯系人和聯系人組
3修改配置文件
①/usr/local/nagios/etc/nagios.cfg //主配置文件
cfg_file=/usr/local/nagios/etc/objects/commands.cfg //默認有
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg //默認有
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg //默認有
cfg_file=/usr/local/nagios/etc/objects/templates.cfg //默認有
cfg_file=/usr/local/nagios/etc/objects/hostgroups.cfg //手工寫
cfg_dir=/usr/local/nagios/etc/conf //存放主機配置的目錄
需要手工添加:

[root@centos1 etc]# mkdir /usr/local/nagios/etc/conf
②/usr/local/nagios/etc/objects/commands.cfg //加上電子郵件、飛信和nrpe插件,本例主要添加一個nrpe插件,其他都不定義(飛信、郵件等)

③/usr/local/nagios/etc/objects/contacts.cfg //定義監控服務聯系人
define contactgroup{ //手工添加
contactgroup_name yumwei
alias yunwei
members ywgcsz
}

/usr/local/nagios/etc/objects/hostgroups.cfg //定義主機組 要手工創建
define hostgroup{
hostgroup_name mysqlserver
alias mysqlserver
members 192.168.1.2
}

4.下面開始具體監控mysql、http主機的存活、負載和進程
[root@centos1 conf]# vim 192.168.1.2.cfg
define host {
host_name 192.168.1.2
alias 192.168.1.2
address 192.168.1.2
check_command check-host-alive
max_check_attempts 5
check_period 24x7
contact_groups yunwei
notification_period 24x7
notification_options d,u,r
}

define service {
host_name 192.168.1.2
service_description check-host-alive
check_command check-host-alive
max_check_attempts 3
normal_check_interval 2
retry_check_interval 2
check_period 24x7
notification_interval 10
contact_groups yunwei
notification_period 24x7
notification_options w,u,c,r
}

define service {
host_name 192.168.1.2
service_description check-procs
check_command check_nrpe!check_total_procs
max_chacek_attempts 3
normal_check_interval 2
retry_check_interval 2
check_period 24x7
notification_interval 10
contact_groups yunwei
}

define service {
host_name 192.168.1.2
service_description check-load
check_command check_nrpe!check_load
max_chacek_attempts 3
normal_check_interval 2
retry_check_interval 2
check_period 24x7
notification_interval 10
contact_groups yunwei
notification_period 24x7
notification_options w,u,c,r
}

define service{
host_name 192.168.1.2
service_description check-space
check_command check_nrpe!check_disk_space_free
max_check_attempts 3
normal_check_interval 2
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
contact_groups yunwei
notification_options w,u,c,r
}

define service{
host_name 192.168.1.2
service_description check-http
check_command check_nrpe!check_http
max_check_attempts 3
normal_check_interval 2
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
contact_groups yunwei
}

define service{
host_name 192.168.1.2
service_description check-user
check_command check_nrpe!check_user
max_check_attempts 3
normal_check_interval 2
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
contact_groups yunwei
}

5.修改/usr/local/nagios/etc/cgi.cfg
use_authentication=0

三、被控端配置 (配置和管理服務器基本一樣如以下命令)
[root@centos2 ~]# yum -y install openssl openssl-devel
[root@centos2 ~]# useradd nagios -s /sbin/nologin
[root@centos2 nagios-plugins-1.5]# tar zxvf /mnt/nagios-plugins-1.5.tar.gz -C /usr/src
[root@centos2 nagios-plugins-1.5]# cd /usr/src/nagios-plugins-1.5/
[root@centos2 nagios-plugins-1.5]# ./configure --prefix=/usr/local/nagios
[root@centos2 nagios-plugins-1.5]# make&&make install
[root@centos2 nagios-plugins-1.5]# chown -R nagios:nagios /usr/local/nagios
[root@centos2 nagios-plugins-1.5]# tar zxvf /mnt/nrpe-2.15.tar.gz -C /usr/src
#cd /usr/src/nrpe-2.15
#./configure --prefix=/usr/local/nagios
[root@centos2 nrpe-2.15]# make all &&make install-plugin && make install-daemon
[root@centos2 nrpe-2.15]# make install-daemon-config
[root@centos2 nrpe-2.15]# ps -ef |wc -l
[root@centos2 nrpe-2.15]# more /proc/cpuinfo |grep proc |wc -l
[root@centos2 nrpe-2.15]# vim /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,192.168.1.1(主控端)
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 170
commad[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk_space_free]=/usr/local/nagios/libexec/check_disk -w 95% -c 98% -p /
command[check_http]=/usr/local/nagios/libexec/check_tcp -H 192.168.1.1-p 80
command[check_user]=/usr/local/nagios/libexec/check_users -w 2 -c 3

然后在服務器端測試nrpe運行是否正常
connect to host 192.168.1.1 port 5666: Connection refused[root@centos1 conf]# /usr/local/nagios/libexec/check_nrpe -H 192.168.1.2(被控端)

四、啟動主控端ngios服務
#/etc/init.d/nagios restart
五、啟動nagios后,觀察監控顯示界面

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
標題名稱:nagios監控服務-創新互聯
網站URL:http://www.yijiale78.com/article32/cesesc.html
成都網站建設公司_創新互聯,為您提供做網站、全網營銷推廣、品牌網站建設、品牌網站設計、企業建站、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯