发博文
个人资料
  • 博客访问:831
  • 博文数量:4
  • 博客积分:170
  • 博客等级:民兵
  • 注册时间:2007-09-11 11:37:41
订阅我的博客
  • 订阅
  • 订阅到鲜果
  • 订阅到抓虾
  • 订阅到Google
字体大小: 博文
nagios的参数详解 (2007-09-11 13:47)
分类: Nagios

vi nagios.cfg
注释行 #cfg_file=/usr/local/nagios/etc/localhost.cfg[2],然后把下面几行的注释去掉:
 
cfg_file=/usr/local/nagios/etc/contactgroups.cfg           //联系组配置文件路径
cfg_file=/usr/local/nagios/etc/contacts.cfg                    //联系人配置文件路径
cfg_file=/usr/local/nagios/etc/hostgroups.cfg               //主机组配置文件路径
cfg_file=/usr/local/nagios/etc/hosts.cfg                        //主机配置文件路径
cfg_file=/usr/local/nagios/etc/services.cfg                    //服务配置文件路径
cfg_file=/usr/local/nagios/etc/timeperiods.cfg             //监视时段配置文件路径
 
 
 
vi cgi.cfg
第二个要修改的配置文件是cgi.cfg,它的作用是控制相关cgi脚本。先确保use_authentication=1。曾看过不少的文章,都是建议把use_authentication的值设置成”0”来取消验证,这是一个十分糟糕的想法。接下来修改default_user_name=test ,再后面的修改在下表列出:
 
 
authorized_for_system_information=nagiosadmin,test
authorized_for_configuration_information=nagiosadmin,test
authorized_for_system_commands=test                         //多个用户之间用逗号隔开
authorized_for_all_services=nagiosadmin,test
authorized_for_all_hosts=nagiosadmin,test
authorized_for_all_service_commands=nagiosadmin,test
authorized_for_all_host_commands=nagiosadmin,test
 
 
定义监控时间段,创建配置文件timeperiods.cfg
[root@localhost etc]# vi 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
        }
 
 
定义联系人,创建配置文件contacts.cfg
[root@localhost etc]# vi contacts.cfg
 
 
define contact{
        contact_name                               test   //联系人的名称,这个地方不要有空格
        alias                                             sys admin
        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-by-email
        host_notification_commands      host-notify-by-email
        email                                          yahoon@test.com
        pager                                         1338757xxxx
        address1                                    xxxxx.xyyy@icq.com
        address2                                    555-555-5555
        }
 
 
service_notification_period     24x7
服务出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的.
 
host_notification_period        24x7
主机出了状况通知的时间段, 这个时间段就是上面在timeperiods.cfg中定义的
 
service_notification_options    w,u,c,r
当服务出现w—报警(warning),u—未知(unkown),c—严重(critical),或者r—从异常情况恢复正常,在这四种情况下通知联系人.
host_notification_options       d,u,r
当主机出现d­­­­—当机(down),u—返回不可达(unreachable),r—从异常情况恢复正常,在这3种情况下通知联系人
 
service_notification_commands   notify-by-email
服务出问题通知采用的命令notify-by-email,这个命令是在commands.cfg中定义的,作用是给联系人发邮件.至于commands.cfg之后将专门介绍
 
host_notification_commands      host-notify-by-email
同上,主机出问题时采用的也是发邮件的方式通知联系人
 
email                           yahoon@test.com
很明显,联系的人email地址
 
pager                           1338757xxxx
联系人的手机,如果支持短信的通知的话,这个就很有用了.
 
alias是联系人别名,address是地址 意义不大.
 
下面就可以将多个联系人组成一个联系人组,创建文件contactgroups.cfg
[root@localhost etc]# vi contactgroups.cfg
 
 
define contactgroup{
        contactgroup_name               sagroup                             
//联系人组的名称,同样不能空格
        alias                                    System Administrators       
//别名
        members                              test                               
//组的成员,来自于上面定义的contacts.cfg,如果有多个联系人则以逗号相隔
        }
 
 
定义被监控主机,创建文件hosts.cfg
[root@localhost etc]# vi hosts.cfg
 
 
define host{
        host_name                       nagios-server
        //被监控主机的名称,最好别带空格
        alias                               nagios server
        //别名
        address                           192.168.0.111
        //被监控主机的IP地址,我现在暂时先填本机的IP
        check_command                check-host-alive
        //监控的命令check-host-alive,这个命令来自commands.cfg,用来监控主机是否存活
        max_check_attempts          5
        //检查失败后重试的次数
        check_period                    24x7
        //检查的时间段24x7,同样来自于我们之前在timeperiods.cfg中定义的
contact_groups              sagroup
        //联系人组,上面在contactgroups.cfg中定义的sagroup
notification_interval        10
        //提醒的间隔,每隔10秒提醒一次
notification_period          24x7
        //提醒的周期, 24x7,同样来自于我们之前在timeperiods.cfg中定义的
notification_options         d,u,r
      
//指定什么情况下提醒,具体含义见之前contacts.cfg部分的介绍
        }
 
 
与联系人可以组成联系人组一样,多个主机也可以组成主机组.创建文件hostgrops.cfg
[root@localhost etc]# vi hostgroups.cfg
 
define hostgroup{
        hostgroup_name          sa-servers  
             //主机组名称
        alias                          sa Servers 
            //别名
        members                    nagios-server
//组的成员主机,多个主机以逗号相隔,必须是上面hosts.cfg中定义的
        }
 
 
定义监控的项目,也叫服务,创建services.cfg
[root@localhost etc]# vi services.cfg
 
#service definition
define service{
        host_name                          nagios-server
        //被监控的主机,hosts.cfg中定义的
        service_description               check-host-alive
        //这个监控项目的描述(也可以说是这个项目的名称),可以空格,我们这里定义的是监控这个主机是不是存活
        check_command                   check-host-alive
        //所用的命令,commands.cfg中定义的
        max_check_attempts              5
        normal_check_interval             3
        retry_check_interval               2
        check_period                        24x7
        //监控的时间段,timeperiods.cfg中定义的
        notification_interval               10
        notification_period                 24x7
        //通知的时间段, ,timeperiods.cfg中定义的
        notification_options               w,u,c,r
        //在监控的结果是wucr时通知联系人,具体含义看前文.
        contact_groups                    sagroup
        //联系人组,contactgroups.cfg中定义的
        }

博客推荐文章