3、配置nagios主配置文件
在这里定义后面的配置文件的保存路径,下面只贴修改部分
vi /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/contacts.cfg      //指定联系人配置文件路径
cfg_file=/usr/local/nagios/etc/contactgroups.cfg   //指定联系人组配置文件路径
#cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg   //注释掉,用自己写的监视时段配置文件
cfg_file=/usr/local/nagios/etc/timeperiods.cfg         //指定监视时段配置文件路径
cfg_file=/usr/local/nagios/etc/objects/templates.cfg     //指定临时配置文件路径
cfg_file=/usr/local/nagios/etc/services.cfg           //服务配置文件路径
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg   //注释掉,
cfg_file=/usr/local/nagios/etc/hosts.cfg               //主机配置文件路径
cfg_file=/usr/local/nagios/etc/hostgroups.cfg              //主机组配置文件路径
 
check_external_commands=1  //web界面下重启nagios,停止主机/服务检查操作,默认关闭;
command_check_interval=10s      //定义这个命令检查时间间隔,默认是1秒;
 
 
4、配置timeperiods.cfg文件
这是个服务器监控时间段的配置文件,一般都是全天24小时,名称是24x7;
vi /usr/local/nagios/etc/timeperiods.cfg
define timeperiod{
        timeperiod_name         24x7
        alias                      24 hours a day,7days 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
        }
在这里要注意时间段名称那里的后面不能有空格出现,
 
 
5、创建联系人配置文件,contacts.cfg
vi /usr/local/nagios/etc/contacts.cfg
 define contact {
     contact_name         kytest
     alias                system administrator
     service_notification_period    24x7
     host_notification_period       24x7
     service_notification_options   w,u,c,r
     host_notification_options       d,u,r
     service_notification_commands  notify-service-by-email
     host_notification_commands     notify-host-by-email
     email                          kyhack@vip.qq.com
    # pager                         13800138000
     }
 
           创建一个名为kytest的联系人,下面列出其中几个重要选项的说明
       #服务出了状况通知的时间段,这个时间段是前面timeperiods.cfg里面定义的。
       service_notification_period    24x7
 
       #主机出现状况时通知的时间段,这个时间段是前面timeperiods.cfg里面定义的。
     host_notification_period       24x7
    
       #当服务出现w—报警(warning),u—未知(unkown),c—严重(critical),r—从异常恢复到正常,在这四种情况下通知联系人
service_notification_options   w,u,c,r
 
#当主机出现d­­­­—当机(down),u—返回不可达(unreachable),r—从异常情况恢复正常,在这3种情况下通知联系人
     host_notification_options       d,u,r
 
       #服务出问题通知采用的命令notify-service-by-email,这个命令是在commands.cfg中定义的,作用是给联系人发邮件. nagios2.x的版本上可以不一样,可以自己到commands.cfg里看一下;在这里也可以设置发送短信的方式通知联系人,前提是你要配置有发送知道的脚本,还要到commands.cfg里面添加发送脚本所用到的命令;
   service_notification_commands  notify-service-by-email
 
       #同上,主机出问题时采用的也是发邮件的方式通知联系人
     host_notification_commands     notify-host-by-email
 
       #指定联系的人email地址
     email         kyhack@vip.qq.com
 
       #联系人的手机,前提是要支持短信通知,这里没有启用通过手机短信的方式发送警报
pager        13800138000
 
如果有多个联系人的话,可以通过复制来创建多个联系人;
 
6、创建联系人组配置文件,contactgroups.cfg ,把多个联系人加到一个组里面
vi  /usr/local/nagios/etc/contactgroups.cfg
define contactgroup{
        contactgroup_name       sagroup
        alias                   system administrator group
        members                 kytest
        }
注意:members选项里面的联系人在contacts.cfgj里面要要定义,多个联系从之间用逗号隔开;
 
7、创建hosts.cfg主机配置文件
vi  /usr/local/nagios/etc/hostgroups.cfg
define host{
host_name               nagios-server          //被监控主机的名称,后面不能带空格
        alias                   nagios server      //别名
        address                 192.168.0.10      //被监控主机的ip地址,这里是监控本机
        contact_groups          sagroup     //联系人组,是在前面contactgroups.cfgj里面定义的组        check_command        check-host-alive    //检查主机是否存活,命令来自commadns.cfg文件
        max_check_attempts      5                            //检查失败后重试次数
        notification_interval   10                           //提醒的间隔,每隔10秒提醒一次
        notification_period     24x7      //提醒的周期,24x7这个时间段来自timeperiods.cfg里的定义
        notification_options    d,u,r        //在什么时候提醒,详见contacts.cfg部分的介绍
        }
define host{
        host_name               win2003
        alias                   web server
        address                 192.168.0.100        //这是我的windows 2003的服务器,
        contact_groups          sagroup
        check_command           check-host-alive
        max_check_attempts      5
        notification_interval   10
        notification_period     24x7
        notification_options    d,u,r
        }
define host{
        host_name               linux
        alias                   web server
        address                 192.168.0.102                //被监控的linux服务器
        contact_groups          sagroup
        check_command           check-host-alive
        max_check_attempts      5
        notification_interval   10
        notification_period     24x7
        notification_options    d,u,r
        }
 
             在这里我定义了三台主机,只是作一个例子;如果你有更多的主机可以通过复制来添加主机,再修改一下相应的位置就可以了;
 
 
8、创建hostgroups.cfg文件
vi  /usr/local/nagios/etc/hostgroups.cfg
define hostgroup{
        hostgroup_name  sa-servers
        alias           sa servers
        members         nagios-server,win2003,linux
        }
这个跟联系人组配置差不多,要是有多台主机可以用逗号隔开;members里的主机成员必须也是要在hosts.cfg里面定义的,其实这个文件也可以不要;
 
ok,到这里就差可以说是完成了最基础的一部份了,现在就是最关键的一部分了,前面已经定义好了联系人,被监控主机,但是还没有定义好要监控主机上的什么东东;现在在这一部分就可以对主机上的各种信息进行监控,nagios监控的信息主要有:本地资源,对外的服务等;本地资源主要包括cpu,硬盘,swap,内存等;对外服务有web,fpt,smtp,pop3等;