Linux下Nagios的安装与配置
2013-10-11 16:52:52 点击:

一、Nagios简介  Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印...
address 192.168.1.111 #被监控的主机地址,这个地址可以是ip,也可以是域名。 }
#定义一个主机组   
define hostgroup{      
        hostgroup_name          bsmart-servers        #主机组名称,可以随意指定。
        alias                   bsmart servers        #主机组别名
        members                 Nagios-Linux          #主机组成员,其中“Nagios-Linux”就是上面定义的主机。     
        }
复制代码

注意:在/usr/local/nagios/etc/objects 下默认有localhost.cfg 和windows.cfg 这两个配置文件,localhost.cfg 文件是定义监控主机本身的,windows.cfg 文件是定义windows 主机的,其中包括了对host 和相关services 的定义。所以在本次实验中,将直接在localhost.cfg 中定义监控主机(Nagios-Server),在windows.cfg中定义windows 主机(Nagios-Windows)。根据自己的需要修改其中的相关配置,详细如下:

localhost.cfg

复制代码
define host{
        use                     linux-server            ; Name of host template to use
                                                        ; This host definition will inherit all variables that are defined
                                                        ; in (or inherited by) the linux-server host template definition.
        host_name               Nagios-Server
        alias                   Nagios-Server
        address                 127.0.0.1
        }
define hostgroup{
        hostgroup_name  linux-servers ; The name of the hostgroup
        alias           Linux Servers ; Long name of the group
        members         Nagios-Server ; Comma separated list of hosts that belong to this group
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       Nagios-Server
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       Nagios-Server
        service_description             Root Partition
        check_command                   check_local_disk!20%!10%!/
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       Nagios-Server
        service_description             Current Users
        check_command                   check_local_users!20!50
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       Nagios-Server
        service_description             Total Processes
        check_command                   check_local_procs!250!400!RSZDT
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       Nagios-Server
        service_description             Current Load
        check_command                   check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       Nagios-Server
        service_description             Swap Usage
        check_command                   check_local_swap!20!10
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       Nagios-Server
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       Nagios-Server
        service_description             HTTP
        check_command                   check_http
        notifications_enabled           0
        }
复制代码

windows.cfg

复制代码
define host{
        use             windows-server  ; Inherit default values from a template
        host_name       Nagios-Windows  ; The name we're giving to this host
        alias           My Windows Server       ; A longer name associated with the host
        address         192.168.1.113   ; IP address of the host
        }
define hostgroup{
        hostgroup_name  windows-servers ; The name of the hostgroup
        alias           Windows Servers ; Long name of the group
        }
define service{
        use                     generic-service
        host_name               Nagios-Windows
        service_description     NSClient++ Version
        check_command           check_nt!CLIENTVERSION
        }
define service{
        use                     generic-service
        host_name               Nagios-Windows
        service_description     Uptime
        check_command           check_nt!UPTIME
        }
define service{
        use                     generic-service
        host_name               Nagios-Windows
        service_description     CPU Load
        check_command           check_nt!CPULOAD!-l 5,80,90
        }
define service{
        use                     generic-service
        host_name               Nagios-Windows
        service_description     Memory Usage
        check_command           check_nt!MEMUSE!-w 80 -c 90
        }
define service{
        use                     generic-service
        host_name               Nagios-Windows
        service_description     C:\ Drive Space
        check_command           check_nt!USEDDISKSPACE!-l c -w 80 -c 90
        }
define service{
        use                     generic-service
        host_name               Nagios-Windows
        service_description     W3SVC
        check_command           check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
        }
define service{
        use                     generic-service
        host_name               Nagios-Windows
        service_description     Explorer
        check_command           check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
        }
复制代码

e. services.cfg文件

此文件默认也不存在,需要手动创建,services.cfg文件主要用于定义监控的服务和主机资源,例如监控http服务、ftp服 务、主机磁盘空间、主机系统负载等等。Nagios-Server 和Nagios-Windows 相关服务已在相应的配置文件中定义,所以这里只需要定义Nagios-Linux 相关服务即可,这里只定义一个检测是否存活的服务来验证配置文件的正确性,其他服务的定义将在后面讲到。

define service{  
        use                     local-service          #引用local-service服务的属性值,local-service在templates.cfg文件中进行了定义。
        host_name               Nagios-Linux           #指定要监控哪个主机上的服务,“Nagios-Server”在hosts.cfg文件中进行了定义。
        service_description     check-host-alive       #对监控服务内容的描述,以供维护人员参考。
        check_command           check-host-alive       #指定检查的命令。
        }  

f. contacts.cfg文件

contacts.cfg是一个定义联系人和联系人组的配置文件,当监控的主机或者服务出现故障,nagios会通过指定的通知方式(邮件或者短信)将信息发给这里指定的联系人或者使用者。

复制代码
define contact{
        contact_name                    David             #联系人的名称,这个地方不要有空格
        use                             generic-contact   #引用generic-contact的属性信息,其中“generic-contact”在templates.cfg文件中进行定义
        alias                           Nagios Admin
        email                           david.tang@bsmart.cn
        }
define contactgroup{
        contactgroup_name       ts                              #联系人组的名称,同样不能空格
        alias                   Technical Support               #联系人组描述
        members                 David                           #联系人组成员,其中“david”就是上面定义的联系人,如果有多个联系人则以逗号相隔
        }
复制代码

g. timeperiods.cfg文件

此文件只要用于定义监控的时间段,下面是一个配置好的实例:

复制代码
#下面是定义一个名为24x7的时间段,即监控所有时间段  
define timeperiod{  
        timeperiod_name 24x7       #时间段的名称,这个地方不要有空格
        alias           24 Hours A Day, 7 Days A Week  
        sunday          00:00-24:00  
        monday          00:00-24:00  
        tuesday         00:00-24:00  
        wednesday       00:00-24:00  
        thursday        00:00-24:00  
        friday          00:00-24:00  
        saturday        00:00-24:00  
        }  
#下面是定义一个名为workhours的时间段,即工作时间段。  
define timeperiod{  
        timeperiod_name workhours   
        alias           Normal Work Hours  
        monday          09:00-17:00  
        tuesday         09:00-17:00  
        wednesday       09:00-17:00  
        thursday        09:00-17:00  
        friday          09:00-17:00  
        }  
复制代码

h. cgi.cfg文件

此文件用来控制相关cgi脚本,如果想在nagios的web监控界面执行cgi脚本,例如重启nagios进



相关热词搜索:Linux Nagios 安装

上一篇:分布式文件系统MFS(moosefs)实现存储共享(第二版)
下一篇:Linux下Nagios的安装与配置