nagios的配置(監控端和被監控端)

君落塵發表於2014-11-05
配置如下:
[root@mi3 etc]# cd  /usr/local/nagios/etc
[root@mi3 etc]# ls
cgi.cfg  htpasswd.users  nagios.cfg  objects  resource.cfg
[root@mi3 etc]#
[root@mi3 etc]# cd objects/
[root@mi3 objects]# ls
commands.cfg  contacts.cfg  hosts  localhost.cfg  printer.cfg  switch.cfg  templates.cfg  timeperiods.cfg  windows.cfg
每個檔案或目錄含義如下表所示:
檔名或目錄名 用途
cgi.cfg 控制CGI訪問的配置檔案
nagios.cfg Nagios 主配置檔案
resource.cfg 變數定義檔案,又稱為資原始檔,在些檔案中定義變數,以便由其他配置檔案引用,如$USER1$
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 主機的一個配置檔案模板,預設沒有啟用此檔案
1、修改郵箱地址
[root@mi3 objects]# cat contacts.cfg 
define contact{
        contact_name                    nagiosadmin                    
        use                             generic-contact         
        alias                           Nagios Admin            
        email                           luochen@mi.com       
        }
define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 nagiosadmin
        }


2、cgi.cfg檔案使用預設值,此檔案用來控制相關cgi指令碼,如果想在nagios的web監控介面執行cgi指令碼,例如重啟nagios程式、關閉nagios通知、停止nagios主機檢測等,這時就需要配置cgi.cfg檔案了。


3、nagios.cfg檔案預設的路徑為/usr/local/nagios/etc/nagios.cfg,是nagios的核心配置檔案,所有的物件配置檔案都必須在這個檔案中進行定義才能發揮其作用,這裡只需將物件配置檔案在Nagios.cfg檔案中進行引用即可。
修改如下:
[root@mi3 etc]# vi 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_dir=/usr/local/nagios/etc/objects/hosts/
nagios_user=nagios
nagios_group=nagios
status_update_interval=10
check_external_commands=1


4、resource.cfg是nagios的變數定義檔案,檔案內容只有一行:
$USER1$=/usr/local/nagios/libexec


5、模版templates.cfg配置使用預設值


6、timeperiods.cfg檔案使用預設值,此檔案只要用於定義監控的時間段


7、commands.cfg檔案此檔案預設是存在的,無需修改即可使用,當然如果有新的命令需要加入時,在此檔案進行新增即可。
新增如下:
# 'check_nrpe' command definition
define command{
       command_name check_nrpe
       command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}


8、localhost.cfg檔案本地監控
第一個命令定義:
透過check_ping指令碼確保監測主機和被監測主機的連通性,如果網路丟包率到達20%則產生warning警告,到達60%則產生critical警告:
define service{
        use                             local-service         
        host_name                       localhost
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }
第二個命令定義:
監測遠端主機根分割槽磁碟狀況,如果根分割槽可用空間低於20%會產生Warning警告,如果可用空間低於10%則產生Critical警告:
define service{
        use                             local-service         
        host_name                       localhost
        service_description             Root Partition
        check_command                   check_local_disk!20%!10%!/
        }
第三個命令定義:
監測遠端主機當前的登入使用者數量,如果登入數量大於20使用者則產生warning警告,如果大於50則產生critical警告:
define service{
        use                             local-service         
        host_name                       localhost
        service_description             Current Users
        check_command                   check_local_users!20!50
        }
第四個命令定義:
監測遠端主機當前的程式總數,如果大於700程式則產生warning警告,如果大於800程式則產生critical警告:
define service{
        use                             local-service         
        host_name                       localhost
        service_description             Total Processes
        check_command                   check_local_procs!700!800!RSZDT
        }
第五個命令定義:
監測遠端主機當前的殭屍程式,如果大於5程式則產生warning警告,如果大於10程式則產生critical警告:
define service{
        use                             local-service         
        host_name                       localhost
        service_description             zombie Processes
        check_command                   check_local_procs!5!10!Z
        }
第六個命令定義:
監測遠端主機當前的本地負載量:
define service{
        use                             local-service         
        host_name                       localhost
        service_description             Current Load
        check_command                   check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
        }
第七個命令定義:
監測遠端主機swap檔案系統使用量,如果swap可用空間低於20%則產生warning警告,低於10%則產生critical警告:
define service{
        use                             local-service         
        host_name                       localhost
        service_description             Swap Usage
        check_command                   check_local_swap!20!10
        }
第八個命令定義:
監測SSH連線可用性,但訊息通知功能預設被關閉,因為並不是所有使用者都有許可權SSH。
define service{
        use                             local-service         
        host_name                       localhost
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
        }




9、遠端linux主機的的監控
監控端新增如下:
[root@mi3 hosts]# pwd
/usr/local/nagios/etc/objects/hosts
[root@mi3 hosts]# ls
mi1.cfg  mi2.cfg  mi4.cfg  mi5.cfg  mi6.cfg  mi7.cfg
[root@mi3 hosts]# cat mi1.cfg 
define host{
        use     linux-server
        host_name       mi1
        alias           mi1-server
        address         172.16.10.11
}
define service{
        use     generic-service
        host_name       mi1
        service_description     PING
        check_command           check_ping!100.0,20%!200.0,50%
        max_check_attempts 5
        normal_check_interval 1
}
define service{
        use     generic-service
        host_name       mi1
        service_description     Root Partition
        check_command           check_local_disk!20%!10%!/
        max_check_attempts 5
        normal_check_interval 1
}
define service{
        use     generic-service
        host_name       mi1
        service_description     Current Users
        check_command           check_local_users!20!50
        max_check_attempts 5
        normal_check_interval 1
}
define service{
        use     generic-service
        host_name       mi1
        service_description     Total Processes
        check_command           check_local_procs!600!800!RSZDT
        max_check_attempts 5
        normal_check_interval 1
}
define service{
        use     generic-service
        host_name       mi1
        service_description     zombie Processes
        check_command           check_local_procs!5!10!Z
        max_check_attempts 5
        normal_check_interval 1
}
define service{
        use     generic-service
        host_name       mi1
        service_description     Current Load
        check_command           check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
        max_check_attempts 5
        normal_check_interval 1
}
define service{
        use     generic-service
        host_name       mi1
        service_description     Swap Usage
        check_command           check_local_swap!20!10
        max_check_attempts 5
        normal_check_interval 1
}
define service{
        use                             generic-service         
        host_name                       mi1
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
        }
被監控端配置:
[root@mi1 ~]# vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,172.16.10.13
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda6
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c %10


10、監控端執行:[root@mi3 hosts]# service nagios restart

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29819001/viewspace-1321533/,如需轉載,請註明出處,否則將追究法律責任。

相關文章