Nagios系統監控軟件的安裝設置(1)

Nagios是一款開源的免費監控軟件,能很好的監控WindowsLinuxUnix的主機狀態,交換機、路由器等網絡設備等。相信很多朋友都有用過這個軟件,下面把我的安裝使用過程中拿出來和大家分享一下,有不足之處希望大家指正。

安裝環境: Redhat 5.5 x86_64bit

一、主監控機系統的安裝

1、建目錄用戶與授權:

[root@localhost ]# groupadd nagios

[root@localhost ]# useradd -g nagios  nagios

[root@localhost ]# mkdir /usr/local/nagios

[root@localhost ]# chown nagios:nagios /usr/local/nagios

 

2、解壓與安裝(下載地址:http://sourceforge.net/projects/nagios/files/)

[root@localhost ]# tar -zxvf nagios-3.2.3.tar.gz

[root@localhost ]# cd nagios-3.2.3

[root@localhost ]# ./configure

[root@localhost ]# make all

[root@localhost ]# make install

[root@localhost ]# make install-init

[root@localhost ]# make install-commandmode

[root@localhost ]# make install-config

 

3、安裝相關插件(下載地址:http://www.nagios.org/download/plugins/)

[root@localhost ]# tar -zxvf nagios-plugins-1.4.15.tar.gz

[root@localhost ]# cd nagios-plugins-1.4.15

[root@localhost ]# ./configure

[root@localhost ]# make && make install

[root@localhost ]# ls /usr/local/nagios/libexec/  查看有無安裝成功,成功會顯示組件包)

 

4、安裝apache發佈器(如果之前系統未安裝httpd組件的話,要新裝一下相關的rpm)

[root@localhost ]# rpm -ivh apr-1.2.7-11.x86_64.rpm

[root@localhost ]# rpm -ivh postgresql-libs-8.1.11-1.el5_1.1.x86_64.rpm

[root@localhost ]# rpm -ivh apr-util-1.2.7-7.el5.x86_64.rpm

[root@localhost ]# rpm -ivh httpd-2.2.3-22.el5.x86_64.rpm

[root@localhost ]# rpm -ivh httpd-manual-2.2.3-22.el5.x86_64.rpm

(注意這上面的rpm包要按照順序來安裝)

 

5、配置發佈器httpd.conf的參數:

[root@localhost ]# vim /etc/httpd/conf/httpd.conf

(在文件內容的最底下添加)

  1. ServerName localhost:80   
  2. ScriptAlias /nagios/cgi-bin  /usr/local/nagios/sbin  
  3. <Directory "/usr/local/nagios/sbin"> 
  4. Options ExecCGI  
  5. AllowOverride None  
  6. Order allow,deny  
  7. Allow from all  
  8. AuthName "Nagios Access"  
  9. AuthType Basic   
  10. AuthUserFile /usr/local/nagios/etc/htpasswd.users  
  11. Require valid-user   
  12. </Directory>   
  13.  
  14. Alias /nagios  /usr/local/nagios/share  
  15. <Directory "/usr/local/nagios/share">   
  16. Options None   
  17. AllowOverride None  
  18. Order allow,deny   
  19. Allow from all   
  20. AuthName "Nagios Access"   
  21. AuthType Basic   
  22. AuthUserFile /usr/local/nagios/etc/htpasswd.users  
  23. Require valid-user   
  24. </Directory> 

6、添加nagios的登錄用戶(nagiosadmin)

[root@localhost ]# htpasswd -c /usr/local/nagios/etc/htpasswd.users  nagiosadmin

[root@localhost ]# cat /usr/local/nagios/etc/htpasswd.users  (說明:查看有無添加成功)

7、添加啓動nagios服務:

[root@localhost ]# chkconfig --add nagios

[root@localhost ]# chkconfig nagios on

[root@localhost ]# service nagios start

8、啓動http發佈服務:

[root@localhost ]# service httpd start

[root@localhost ]# chkconfig httpd on

9、登錄頁面:

1http://IP地址/nagios  

2) 輸入登錄用戶名和密碼

3) 進入管理平臺

 

注意: 如果輸入用戶名和密碼成功登錄以後,頁面顯示“無權訪問網頁”,這是因爲沒有安裝PHP的套件,nagios的網頁需要php來支持。解決辦法如下:

(1) 確保linux主機或服務器能夠上互聯網

  (2) 執行下面的安裝命令

[root@localhost ]# yum install php

(說明:yum命令會先對比本機缺少的php包,然後自動從互聯網上尋找,找到以後會列出來,提示你是否下載安裝,這時候再點擊“yes”下載過來自動安裝。)

 

二、主監控機系統的參數配置

1、主配置文件:nagios.cfg

[root@localhost ]# cd /usr/local/nagios/etc

[root@localhost ]# vim nagios.cfg

 (主要配置參數說明)

  1. cfg_file=/usr/local/nagios/etc/objects/commands.cfg    #監控命令配置文件  
  2. cfg_file=/usr/local/nagios/etc/objects/contacts.cfg    #聯繫人配置文件路徑  
  3. cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg #監視時段配置文件路徑  
  4. cfg_file=/usr/local/nagios/etc/objects/templates.cfg   #監控服務報警配置文件  
  5. cfg_file=/usr/local/nagios/etc/objects/localhost.cfg   #監控本機服務配置文件  
  6. cfg_file=/usr/local/nagios/etc/objects/windows.cfg     # 監控windows機器列表的配置文件  
  7. cfg_file=/usr/local/nagios/etc/objects/linux.cfg    #新增監控linux機器列表的配置文件  
  8. check_external_commands=1    #允許在web界面下執行重啓nagios、停止主機/服務檢查等操作,0表不啓用  
  9. command_check_interval=5     #監控正常檢測週期間隔時間,可以以設成10秒(10s),默認值是-1(爲儘可能的快速輪詢);注意這是檢測週期,不是報警週期,檢測週期設置一定要比服務的告警週期要小  
  10. interval_length=60           #間隔長度,默認值爲60,代表基數是60秒,表示週期是1分鐘  
  11. service_check_timeout=60     #服務檢查時間間隔  
  12. host_check_timeout=30        #主機檢查時間間隔  
  13. event_handler_timeout=30 
  14. notification_timeout=10        
  15. ocsp_timeout=5 
  16. perfdata_timeout=5 

 

2、監控(哪些)機器的配置文件:linux.cfg

[root@localhost ]# cd /usr/local/nagios/etc/objects

[root@localhost ]# vim linux.cfg 

  1. define host{      ;要監控的主機定義  
  2.     use                linux-server    ;被監控主機用途          
  3.     host_name          web_host        ;被監控主機名稱 
  4.     alias              It’s http server  ;被監控主機別
  5.     address            10.0.0.2         ;被監控主機IP地址  
  6.     }   
  7.  
  8. define hostgroup{      ;要監控的組定義 
  9.     hostgroup_name   remote-linuxt-server   ;被監控組名稱
  10.     alias            linuxserver       ;被監控組別名 
  11.     members          web_host  ;被監控組成員主機名有哪些,這裏不能用別名,多個成員之間用,逗號隔開 
  12.     }     
  13.  
  14. define service{  ;要監控的服務定義 
  15.    use                     local-service   ;服務模型,可自定義   
  16.    hostname                web_host        ;要加入此服務的主機名稱,要與上面一致。 
  17. hostgroup_name          remote-linux-server ;要加入此服務的組名稱,要與上面一致
  18.    service_description     HTTP_port      ;要監控的項目名稱,可自己起
  19.    check_command           check_tcp!80!0.1!0.3  ;檢測命令,配置文件在commands.cfg 
  20. notifications_enabled   0              ;是否通知報告
  21. notification_interval   10  ;發告警的時間間隔10分鐘,默認單位是分鐘,這行不設的話默認是1小時
  22. }   

(注意:這邊的“notification_interval報警時間間隔要與templates.cfg文件中“normal_check_interval”的時間相對應,不能小於那邊設置的時間,不然會報錯normal_check_interval默認是10分鐘發送報警郵件一次)

(說明:定義service服務的時候,要加入此服務的主機名稱和組名稱,可只設置一個,不必同時設置

如果服務是多臺主機共用的(如檢測內存),可設置一個組名稱

如果服務只是某一臺或幾臺主機用的,設置一個主機名稱就可以了

 

3、命令參數配置文件:command.cfg

[root@localhost ]# cd /usr/local/nagios/etc/objects

[root@localhost ]# vim command.cfg

  1. define command{  
  2.          command_name    check_local_disk  
  3.          command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$  
  4.         }  

說明這裏的$USER1$$ARG1$, $ARG2$, $ARG3$是什麼意思呢?

1$USER1$  是指插件路徑/usr/local/nagios/libexec

2-w $ARG1$的參數指定磁盤剩了多少是警告狀態,

3-c $ARG2$的參數指定剩多少是嚴重狀態,

4-p $ARG3$用來指定路徑目錄.

loccalhost.cfg調用命令的時候可寫成 check_command check_local_disk!10%!5%!/

在命令名後面用!分隔出了3個參數,10%$ARG1$的值,5%$ARG2$的值,/ $ARG3$的值,

 

4、報警聯繫人蔘數配置文件:contacts.cfg

[root@localhost ]# cd /usr/local/nagios/etc/object

[root@localhost ]# vim contacts.cfg

  1. define contact{        ;聯繫人  
  2.     contact_name       nagiosadmin  
  3.     use                generic-contact      
  4.     alias              Nagios Admin      
  5.     email              [email protected]   ;接收報警的郵件地址  
  6.         }  
  7.  
  8. define contactgroup{    ;聯繫人組            
  9.     contactgroup_name     admins                  ;聯繫人組名  
  10.     alias                 Nagios Administrators   ;組別名  
  11.     members               nagiosadmin             ;組成員名單  
  12.         } 

5、配置完參數以後一定要重新檢測是否正確

[root@localhost ]# /usr/local/nagios/bin/nagios  -v  /usr/local/nagios/etc/nagios.cfg

                                       ( -v 檢查配置參數 )

[root@localhost ]# /usr/local/nagios/bin/nagios  -d  /usr/local/nagios/etc/nagios.cfg

                                       ( -d 後臺重啓服務進程 )

6、命令和插件監控

[root@localhost ]# cd /usr/local/nagios/libexec

[root@localhost ]# ./check_disk  -h      (查看磁盤情況的命令使用方法,提示:這邊所有命令的使用方法都可以通過命令名 –h來查看)

 

命令使用:check_disk -w 10% -c 5% /    此命令的含義是檢查/分區的使用情況,若剩餘10%以下,爲警告狀態(warning)5%以下,爲嚴重狀態(critical)命令調用時簡寫成check_disk!10%!5%!/

 

(小結:localhost.cfg定義監控項目用某個命令,這個命令必須在commands.cfg中定義,定義這個命令時使用了libexec下的插件)

 

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