LINUX开源监控平台Nagios(主机监控配置)

启动nagios服务

Nagios的基础平台和插件都安装完成之后,下一步就是启动nagios的服务了。不要着急,在启动之前,我们还要做点准备工作。

1
、准备各种配置文件。还记得在基础系统安装的时候,敲过这样一个命令吧:make install-config 。这个命令的作用是生成配置文件的样式文件。你可以在 nagios/etc/ 目录下找到这些文件,其名字类似commands.cfg-sample 。我们首先要做的就是将这些文件变成我们初始的配置文件。
 
代码:
cd ...nagios/etc
cp nagios.cfg-sample nagios.cfg
cp commands.cfg-sample commands.cfg
cp cgi.cfg-sample cgi.cfg
cp localhost.cfg-sample localhost.cfg
....

总之,就是把那些sample去掉,让它们真正的上岗。

然后,我们修改cgi.cfg文件:
 
代码:
use_authentication=1 (默认)
default_user_name=nagios
authorized_for_system_information=nagiosadmin,nagios
authorized_for_configuration_information=nagiosadmin,nagios
authorized_for_system_commands=nagiosadmin,nagios
authorized_for_all_services=nagiosadmin,nagios
authorized_for_all_hosts=nagiosadmin,nagios
authorized_for_all_service_commands=nagiosadmin,nagios
authorized_for_all_host_commands=nagiosadmin,nagios

我是用nagios这个名字做为默认用户的,所以在上述几个配置项中,我都在最后添加了这个用户。

ok
,做了上述几个简单的操作之后,我们就可以检测一下配置文件的正确性了,这个操作是很重要且必要的,在以后对nagios做配置修改或者添加监控对象的时候,也都要记得重启nagios之前要做这个操作:
 
代码:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果没有问题的话,会有如下显示:
引用:
Total Warnings: 0
Total Errors: 0
如果存在问题,会提示你问题,出在什么地方,修复错误就可以了。如果不清楚如何修改,请参详我之后关于各个配置文件的说明文档。

终于可以启动了吧,命令如下:
 
代码:
/etc/rc.d/init.d/nagios start

如果正常启动,那么就可以去验收我们的成果了,打开浏览器,在地址栏中输入

http://ServerIP/nagios/

这是会提示你输入用户名和密码,这个密码就是我们在安装基本系统的时候,用命令
 
代码:
/usr/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios

生成的,命令后面的参数分别是认证文件和用户名。如果你忘记了用户名和密码,没关系,再执行一次吧。
如果要添加用户的认证,那么要去掉参数“-c”,否则会覆盖之前的用户验证信息。另外,添加了用户之后,也要在cgi.cfg文件中进行相应的添加哦!

主机监控的配置

Nagios
的主要功能是监控,其监控对象包括主机和服务。在配置需要监控的主机时,不用把主机上面跑的服务和监听的端口等等都加进来,监控主机只是监控 该服务器是否是开机,网络是否是正常即可。至于该主机上运行的服务,就交给配置服务的时候再细致的加以配置吧,这样在Nagios的界面中显示的也比较清 楚。

针对主机监控的配置项都是怎样的呢?一般对于主机的监控配置都会写在一个名字为hosts.cfg的配置文件中,以下是定义一台主机可以用到的定义参数:

 

代码:

define host{
host_name host_name    #简短的主机名称
alias alias    #别名,可以更详细的说明主机
address address    ip地址,当然你如果足够信任你的DNS的话,也可以写名称。如果你不定义这个值,nagios将会用host_name去寻找主机。
parents host_names    #上一节点的名称,也就是指从nagios服务器到被监控主机之间经过的节点,可以是路由、交换机、主机等等。当然,这个节点也要定义,并且要被nagios监控。
hostgroups hostgroup_names    #主机组名称,简短的
check_command command_name    #检查命令的简短名称,如果此项留空,nagios将不会去判断该主机是否alive
max_check_attempts 整数    #当检查命令的返回值不是“OK”时,重试的次数
check_interval 数字    #循环检查的间隔时间。
active_checks_enabled [0/1]    #是否启用“active_checks”
passive_checks_enabled [0/1]    #是否启用“passive_checks”,及被动检查
check_period timeperiod_name    #检测时间段简短名称,注意这个只是个名称,具体的时间段要写在其他的配置文件中哦!
obsess_over_host [0/1]    #是否启用主机操作系统探测。
check_freshness [0/1]    #是否启用freshness测试。freshness测试是对于启用被动测试模式的主机而言的,其作用是定期检查该主机报告的状态信息,如果该状态信息已经过期,freshness将会强制作主机检查。
freshness_threshold  数字     fressness的临界值,单位为秒。 如果定义为0,则为自动定义。
event_handler command_name    #当主机发生状态改变时,采用的处理命令的简短的名字(可以在commands.cfg中对其定义)
event_handler_enabled [0/1]    #是否启用event_handler
low_flap_threshold  数字    #抖动的下限值。这里我简单解释一下抖动的含义,它定义了这样一种现象:在一段时间内,主机(或服务)的状态值频繁的发生变化,类似一个问题风暴或者一个网络问题。
high_flap_threshold 数字   #抖动的上限值
flap_detection_enabled [0/1]    #是否启用抖动检测
process_perf_data [0/1]    #是否启用processing of performance data
retain_status_information [0/1]    #程序重启时,是否保持主机状态相关的信息
retain_nonstatus_information [0/1]    #程序重启时,是否保持主机状态无关的信息
contact_groups contact_groups    #联系人组(这个组会在contactgroup.cfg文件中定义),在此组中的联系人都会受到该主机的告警提醒信息。
notification_interval  整数    #告警临界值。达到此次数之后,才会发送该机的报警提醒信息。
notification_period timeperiod_name   #该机的告警时间段
notification_options [d,u,r,f]    #该机告警包括的状态变化结果
notifications_enabled [0/1]    #是否启用告警提醒功能
stalking_options [o,d,u]    #持续状态检测参数,o = 持续的UP状态, d = 持续的DOWN状态, and u = 持续的UNREACHABLE状态.
}

呵呵,看了上面那么长的配置说明是否有点头晕,一般我们对主机的监控需求是很简单的,如:

在任何时间内,只要用ping命令判断是否可以ping通主机即可。连续出现5ping不通,则断定其出现问题。连续出现3次问题发通知到 mygroup 组。发送提醒包括以下状态改变:DOWNping不通) UNREACHABLE(不可达) RECOVERY(恢复正常,可以ping通了)

根据以上需求,其监控主机的配置如下即可:

 

代码:

define host {
host_name test.1
alias test.1
address 192.168.0.1
contact_groups mygroup
check_command check-host-alive
max_check_attempts 5
notification_interval  3
notification_period 24x7
notification_options d,u,r
}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章