-----------------------------------主要软件应用-------------------------
FreeBSD  apache22 php5 php5-extension Ngios  Nagios-plugin  Nrpe  NSCclient++
-----------------------------------------系统安装-------------------------
1.FreeBSD采用最小化安装
2.更新ports
# portsnap fetch
#portsnap extract
---------------------------------------------软件安装------------------------
1. Nagios
#  cd /usr/ports//net-mgmt/nagios/
#  make instal clean
//此过程会询问建立用户和组nagios
2. Nagios-plugin
#  cd /usr//net-mgmt/nagios-plugin/
#  make install
3. NRpe  下载地址为: http://www.nagios.org/download/addons  
  //如果所要监控的服务器中有linux,不要直接使用ports 安装,因为ports安装过后,其格式为check_nrpe2, 但是linux 采用源码安装的为check_nrpe. 从而导致两者之间不能通信
#  cd /usr/local
#  tar zxvf nrpe-2.12.tar.gz
#  cd nrpe-2.12
#   ./configure
#   make 
#   make install
网页服务器的安装请参考前人的文章
------------------------------------------------配置文件-------------------------
1.查看/var/spool/nagios/下有没如下文件或文件夹,没则建立
drwxrwxr-x  2 nagios  nagios    3072 Apr 23 00:00 archives
drwxrwxr-x  2 nagios  nagios     512 Apr 23 13:53 checkresults
-rw-r--r--  1 nagios  nagios    1416 Feb  2 15:15 dead.letter
-rw-r--r--  1 nagios  nagios       0 Jan 27 11:30 nagios.debug
-rw-r--r--  1 nagios  nagios       4 Apr 21 16:45 nagios.lock
-rw-r--r--  1 nagios  nagios   19371 Apr 23 13:45 nagios.log
-rw-r--r--  1 nagios  nagios       0 Jan 26 14:31 object.cache
-rw-r--r--  1 nagios  nagios       0 Jan 26 14:31 object.precache
-rw-r--r--  1 nagios  nagios  125106 Apr 21 16:45 objects.cache
-rw-------  1 nagios  nagios  203289 Apr 23 13:45 retention.dat
drwxrwxr-x  2 nagios  nagios     512 Apr 21 16:45 rw
-rw-rw-r--  1 nagios  nagios  202933 Apr 23 13:53 status.dat
-rw-r--r--  1 nagios  nagios       0 Apr 21 16:45 status.sav
2. 
#  ee /usr/local/etc/nagios/nagios.cfg  //添加如下两行
   cfg_file=/usr/local/etc/nagios/objects/linux.cfg
cfg_file=/usr/local/etc/nagios/objects/windows.cfg
3.
#  cd /usr/local/etc/nagios/object/
#  ee linux.cfg
 ```````````````````````````````````````````````````````````````````````````````````````````
 define hostgroup{
        hostgroup_name  linux-servers ; The name of the hostgroup
        alias           linux Servers ; Long name of the group
        members         vici01,vici02,vici04
        }
###################### Server CPU Check ######################
define service{
        use                            generic-service 
        host_name                      vici01,vici02,vici04
        service_description            CPU Load
check_command        check_nrpe!check_load
       }
###################### / Driver Space ######################## 
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       vici01,vici02,vici04
        service_description             / Drive Space
check_command check_nrpe!check_/
        }
###################### Ping Check #######################
define service{
        use                             generic-service
        host_name                       vici01,vici02,vici04
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }
###################### mysql Check #######################
define service{
        use                             generic-service
        host_name                       vici01
        service_description             Mysql
check_command check_mysql  
        }
#################### Host define config#################
                          
define host{
        use                     linux-server         
        host_name               vici01
        alias                   vicidial01 Server
        address                 192.168.2.xx
       }
define host{
        use                     linux-server
        host_name               vici02
        alias                   vicidial02 Server
        address                 192.168.2.xx
        }
define host{
        use                     linux-server
        host_name               vici04
        alias                   vicidial04 Server
        address                 192.168.1.xx
        }
`````````````````````````````````````````````````````````````````````````````````````````````````
4. 
#  ee windows.cfg
```````````````````````````````````````````````````````````````````````````````````````````````
define hostgroup{
        hostgroup_name  windows-servers ; The name of the hostgroup
        alias           windows Servers ; Long name of the group
       members         axisoft-symatec,axiadsvr01
        }
###################### Server Uptime Check ######################
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       axisoft-symatec,axiadsvr01        service_description             Uptime
check_command check_nt!UPTIME
        }
##################### Server CPU Check #########################
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       axisoft-symatec,axiadsvr01        service_description             CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
        }
##################### Server Memory Check ######################
 
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       axisoft-symatec,axiadsvr01        service_description             Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
        }
###################### C Driver Space ######################## 
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       axisoft-symatec,axiadsvr01        service_description             C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 98 -c 99
        }
################## D Driver Check #########################
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       axisoft-symatec,axiadsvr01
        service_description             D:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l d -w 98 -c 99
        }
################ E Driver Check ###########################
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       axisoft-symatec,axiadsvr01        service_description             E:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l e -w 98 -c 99
        }
###################### F Driver Check ########################
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       axiadsvr01
        service_description             F:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l f -w 98 -c 99
        }
###################### Ping Check #######################
define service{
        use                             generic-service         ; Name of service template to use
        host_name               axisoft-symatec,axiadsvr01    
    service_description             PING
check_command check_ping!100.0,20%!500.0,60%  
        }
######################## Host define config#################
define host{
        use                     windows-server         
        host_name               axisoft-symatec
        alias                   endpoint
        address                 192.168.2.xx
        }
define host{
        use                     windows-server         
        host_name               axiadsvr01
        alias                   AD Server
        address                 192.168.2.xx
        }                   
``````````````````````````````````````````````````````````````````````````````````````````````````
4.
# ee /usr/local/nagios/nrpe.cfg
log_facility=daemon
pid_file=/var/spool/nagios/nrpe.pid
server_port=5666
nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=127.0.0.1 192.168.xx.xx
dont_blame_nrpe=0
debug=0
command_timeout=60
connection_timeout=300
command[check_users]=/usr/local/libexec/nagios/check_users -w 5 -c 10
command[check_load]=/usr/local/libexec/nagios/check_load -w 15,10,5 -c 30,25,20
command[check_/]=/usr/local/libexec/nagios/check_disk -w 10% -c 5% -p /
command[check_var]=/usr/local/libexec/nagios/check_disk -w 10% -c 5% -p /var
command[check_tmp]=/usr/local/libexec/nagios/check_disk -w 10% -c 5% -p /tmp
command[check_usr]=/usr/local/libexec/nagios/check_disk -w 10% -c 5% -p /usr
command[check_home]=/usr/local/libexec/nagios/check_disk -w 10% -c 5% -p /home
command[check_zombie_procs]=/usr/local/libexec/nagios/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/libexec/nagios/check_procs -w 150 -c 200 
`````````````````````````````````````````````````````````````````````````````````````````````````
5.
#  ee /usr/local/etc/apache22/Include/nagios.cfg
````````````````````````````````````````````````````````````````````````````````````````
ScriptAlias /nagios/cgi-bin "/usr/local/www/nagios/cgi-bin"
<Directory "/usr/local/www/nagios/cgi-bin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
</Directory>
Alias /nagios "/usr/local/www/nagios"
<Directory "/usr/local/www/nagios">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
</Directory>
至此,服务器端已完成,客户端待续```````````

linux 下的客户端安装,请参照如下附件: