来自:网络 Nagios 监控平台访问 到目前为之 Nagios 基本安装成功,若要投入生产环境,还需要安装其他相应的插件及配置,否则是无法提供相应的监控等功能。 通过浏览器,在地址栏输入: http://IPAddress/nagios, 输入用户名及密码即可访问 Naigos 登录界面。 nagios培训 [ /wyfs02/M01/22/D8/wKiom1MpTkOB0qY6AABBfw01OK4107.jpg][/url] 图 4. Nagios 登录界面 Nagios 目录与相关配置文件说明 Nagios 安装完成后,/usr/local/nagios/目录下会生成 nagios 相关目录及配置文件,默认的的配置文件在/usr/local/nagios/etc 目录下。关于详细的描述,见下表: nagios实施 表 1. Nagios 相关目录的名称及用途 [ /wyfs02/M02/22/D8/wKiom1MpTmfTh1olAAC2qor71M4066.jpg][/url] 表 2. 配置文件的作用概述 [ /wyfs02/M01/22/D8/wKiom1MpTryQbMfBAAHCIGCOBow540.jpg][/url] Nagios 配置文件间的关联 Nagios 的配置过程涉及几个定义有:主机、主机组、服务、服务组、联系人、联系人组、监控时间和监控命令等,从这些定义可以看出,Nagios 的各个配置文件之间是互为关联、彼此引用的。成功配置一台 Nagios 监控系统,需要掌握每个配置文件之间依赖与被依赖的关系,可从下面四个步骤来入手,第一步:定义哪些主机、主机组、服务和服务组,第二步:要定义这个监控要通过什么命令实现,第三步:要定义监控的时间段,第四步:要定义主机或服务出现问题时要通知的联系人和 联系人组;强烈建议依据以上顺序对 Nagios 系统进行相关配置。 监控软件 Nagios 安装成功后,会在/usr/loca/nagios 目下生成相应的主机,服务、命令、模板等配置文件,同时也可看到之前设置的 Nagios 授权目录认证文件 htpasswed.users,而 Object 目录是存放一些配置文件模板,主要用于定义 Nagios 对象,具体如下图: [ /wyfs02/M01/22/D9/wKioL1MpT2ihQrblAAA8nS_TRJk131.jpg][/url] 图 5. Nagios 配置目录与文件 [ /wyfs02/M01/22/D8/wKiom1MpT9LyNUatAABUxlwqnco682.jpg][/url] 图 6. Nagios 对象模板文件 默认情况下 nagios.cfg 会启用一些对象配置文件如:comands.cfg、 contacts.cfg localhost.cfg 、contacts.cfg 、windows.cfg 等,为了更好的对 Nagios 平台的管理与日后的维护,这里采用了自定义目录在/usr/local/nagios/etc/目录下创建一个 monitor 文件夹,用来保存所管理被监控的对象。同时注释 nagios.cfg 配置文件默认定义的对象配置文件,并在 nagios.cfg 文件增加一行:cfg_dir=/usr/local/nagios/etc/monitor 即可, 如下图: [ /wyfs02/M01/22/D8/wKiom1MpUCLTBc0mAAAoM5uU1BM438.jpg][/url] 图 7. Nagios 启用自定义目录 Nagios 的配置大多是对监控对象配置文件进行修改配置,这里需复制了 objects 目录下的所有对象配置文件模板,同时在 monitor 文件下创建了独立的配置文件 hosts.cfg 和 service.cfg 来定义主机和服务,至于联系人和监控的时间段这里保持默认配置。 如下图:
[ /wyfs02/M01/22/DA/wKioL1MpUReRxgnGAABQkw-Sxgw578.jpg][/url] 图 8. 自定义目录下对象配置文件 下面主要描述下此平台架设相关的几个主要配置文件具体含义,分别为:templates.cfg、hosts.cf、services.cfg. templates.cfg 文件 表 3. 默认模板配置文件 开源监控软件
define contact{ name generic-contact #联系人名称 service_notification_period 24x7 #当服务出现异常时,发送通知的时间段,时间段是 7x24 小时 host_notification_period 24x7 #当主机出现异常时,发送通知的时间段,时间段是 7x24 小时 service_notification_options w,u,c,r #这个定义的是“通知可以被发出的情况”。w 即 warning,表示警告状态,u 即 unknown,表示不明状态,c 即 criticle,表示紧急状态,r 即 recover,表示恢复状态 host_notification_options d,u,r #定义主机在什么状态下需要发送通知给使用者,d 即 down,表示宕机状态,u 即 unreachable,表示不可到达状态,r 即 recovery,表示重新恢复状态。 service_notification_commands notify-service-by-email #服务故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件,其中“notify-service-by-email”在 commands.cfg 文件中定义。 host_notification_commands notify-host-by-email #主机故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件,其中“notify-host-by-email”在 commands.cfg 文件中定义。 } define host{ name linux-server #主机名称 use generic-host #use 表示引用,也就是将主机 generic-host 的所有属性引用到 linux-server 中来,在 nagios 配置中,很多情况下会用到引用。 check_period 24x7 #这里的 check_period 告诉 nagios 检查主机的时间段 check_interval 5 #nagios 对主机的检查时间间隔,这里是 5 分钟。 retry_interval 1 #重试检查时间间隔,单位是分钟。 max_check_attempts 10 #nagios 对主机的最大检查次数, check_command check-host-alive #指定检查主机状态的命令,其中“check-host-alive”在 commands.cfg 文件中定义。 notification_period workhours #主机故障时,发送通知的时间范围,其中“workhours”在 timeperiods.cfg 中进行了定义,下面会陆续讲到。 notification_interval 30 #在主机出现异常后,故障一直没有解决,nagios 再次对使用者发出通知的时间。单位是分钟 notification_options d,u,r #定义主机在什么状态下可以发送通知给使用者,d 即 down,表示宕机状态,u 即 unreachable,表示不可到达状态,r 即 recovery,表示重新恢复状态。 contact_groups admins #指定联系人组,这个“admins”在 contacts.cfg 文件中定义。 define service{ name local-service #定义一个服务名称 use generic-service #引用服务 local-service 的属性信息,local-service 主机在 templates.cfg 文件中进行了定义 max_check_attempts 4 #最大检测 4 次,为了确定服务最终状态 normal_check_interval 5 #每 5 分钟检测一次 retry_check_interval 1 #每 1 分钟重新检测服务,最终的状态能被确定 - } nagios安装
host.cfg 文件 此文件默认情况下不存在,需要手动创建。hosts.cfg 主要用来指定被监控的主机地址及相关属性信息。配置如下表: 表 4. 定义主机配置实例
define host { use linux-server #引用主机 linux-server 的属性信息,linux-server 主机在 templates.cfg 文件中进行了定义。 host_name DirHost162 #被监控主机名 alias RHEL6.3_CSDA-FVT-Server #被监控主机别名 address 192.168.1.162 ##被监控主机 IP 地址 } - ........
services.cfg 文件 此文件在默认情况下也不存在,需要手动创建。services.cfg 文件主要用于定义监控的服务和主机资源,例如监控 HTTP 服务、FTP 服务、主机磁盘空间、主机系统负载等。 表 5. 定义服务配置
#Define DirHost162 define service{ use local-service #引用服务 local-service 的属性信息,local-service 主机在 templates.cfg 文件中进行了定义。 host_name DirHost162 #被监控主机名 service_description SSH #监控的服务 check_command check_ssh # nagios 插件监控指令 } define service{ use local-service,services-pnp host_name DirHost162 service_description SSHD check_command check_tcp!22 # 使用的检测命令, 同时多个参数匹配用 “!” 分隔,如:check_ping!100.0,20%!500.0,60% } - …….
想做Nagios, Zabbix,Cacti,iTop各种交流的,可以进入开源监控工具Nagios交流 QQ群号 :476809427
|