3、配置nagios主配置文件<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
在这里定义后面的配置文件的保存路径,下面只贴修改部分
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等;
转载于:https://blog.51cto.com/kyhack/213359