nagios 安装配置(包含nrpe端)全 (三)
2016-03-08 15:14
225 查看
四、系统的配置:
1、介绍
在配置过程中涉及到的几个定义有:主机、主机组,服务、服务组。联系人、联系人组,监控时间。监控命令等。
最重要的有四点:
第一:定义监控哪些主机、主机组、服务和服务组;
第二:定义这个监控要用什么命令实现。
第三:定义监控的时间段;
第四:定义主机或服务出现故障时要通知的联系人和联系人组。
2、几个主要配置文件
创建hosts.cfg文件来定义主机和主机组
创建services.cfg文件来定义服务
用默认的contacts.cfg文件来定义联系人和联系人组
用默认的commands.cfg文件来定义命令
用默认的timeperiods.cfg来定义监控时间段
用默认的templates.cfg文件作为资源引用文件
[b]3[/b][b]、定义主机: 定义被监控主机,创建文件hosts.cfg :[/b] # cd /usr/local/nagios/etc# vi hosts.cfg 一个主机定义例如以下(举例): define host{ [b] host_name remote_host_1 //[/b]被监控主机的名称,最好别带空格 [b]alias RemoteHost_1 //[/b]别名 [b]address 192.168.20.154 //[/b]被监控主机的IP地址 check_command check-host-alive //监控的命令check-host-alive,这个命令来自commands.cfg,用来监控主机是否存活 max_check_attempts 5 //检查失败后重试的次数 check_period 24x7 //检查的时间段24x7,相同来自于我们之前在timeperiods.cfg中定义的 [b]contact_groups admins //[/b]联系人组,在contacts.cfg中定义的admins notification_interval 10 //提醒的间隔,每隔10秒提醒一次 notification_period 24x7 //提醒的周期, 24x7,相同来自于我们之前在timeperiods.cfg中定义的 notification_options d,u,r //指定什么情况下提醒 } 在监控系统上定义主机例如以下: [b]先定义一个主机类:[/b] define host{ name linux-box ; Name of this template use generic-host ; Inherit default values check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 10 check_command check-host-alive notification_period 24x7 notification_interval 30 notification_options d,u,r contact_groups admins register 0 ; DONT REGISTER THIS - ITS A TEMPLATE } [b]使用上面的类定义主机:[/b] define host{ use linux-box ; 上面定义的主机类 host_name remotehost_1 ; 被监控主机的名称,最好别带空格 alias RemoteHost_1 ; 别名 address 192.168.20.154 ; 被监控主机的IP地址 }定义多个主机。可參照上面的这个定义。 4、[b]定义主机组 进入配置文件文件夹:[/b] # cd /usr/local/nagios/etc 创建hostgroups.cfg文件: # vi hostgroups.cfg 使用define定义keywordhostgroup表示该定义段内定义的是主机组段。段内的定义请使用两个大括号来包括。 段内的定义项一行一项。 以下定义了一个主机组: define hostgroup{ hostgroup_name MonitoringHosts /*主机组名称*/ alias Group_1 /*主机组还有一个名称*/ members remote_host_1 /*主机组包括哪些主机,多个主机之间用逗号隔开*/ } 另外,假设要定义多个主机组段的话,那么必需要写多个define hostgroup {} 段,參照上面。 [b]5[/b][b]、定义监控服务所需的命令:[/b] # cd /usr/local/nagios/etc/objects # vi commands.cfg 比方要[b]使用zccheck_disk监控主机的磁盘使用情况,定义方式例如以下:[/b] #'zccheck_disk' command defination define command{ command_name zccheck_disk command_line /usr/local/nagios/libexec/zccheck_disk.pl -w $ARG1$ -c $ARG2$ } 插件能够是自己编写的,也能够是已安装的nagios插件中有的插件。 定义方式都一样。 [b]6[/b][b]、定义监控服务: 在 services.cfg 中定义。 [/b] # cd /usr/local/nagios/etc # vi services.cfg 服务的定义分两种: 监控机上的服务和远程被监控机上的服务。这里仅仅介绍监控主机上服务的加入,远程被监控主机的服务在以下第二部分中介绍。 1、使用use generic-service 定义简洁的服务([b]仅仅是举例[/b])。 generic-service 是在/usr/local/nagios/etc/objects/templates.cfg 中定义的一个服务模板。引用这个模板能够创建非常简洁的服务,例如以下例: define service{ use generic-service host_name remotehost service_description IMAP4 Response Check check_command check_imap!-t 5 -e "mygreatmailserver.com" } 2、假设想自己定义一个服务,则能够用以下的方式定义([b]仅仅是举例[/b]): # vi services.cfg define service{ host_name nagios //被监控的主机,hosts.cfg中定义的 service_description check-host-alive //这个监控项目的描写叙述,这个会在web页面中出现 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 //通知的时间段 notification_options w,u,c,r //在监控的结果是wucr时通知联系人 contact_groups sagroup //联系人组,是contactgroups.cfg中定义的 } 3、监控系统上服务的定义([b]实际定义): 能够针对不同的服务定义不同的模板。然后引用这些模板达到简化服务定义的目的。 (1):先定义例如以下的服务模板,假设定义其它的模板能够仅仅改变红色的内容,其它不变:[/b] define service{ [b]name zctech-service ; The 'name' of this service template[/b] active_checks_enabled 1 ; Active service checks are enabled passive_checks_enabled 1 ; Passive service checks are enabled/accepted parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems) obsess_over_service 1 ; We should obsess over this service (if necessary) check_freshness 0 ; Default is to NOT check service 'freshness' notifications_enabled 1 ; Service notifications are enabled event_handler_enabled 1 ; Service event handler is enabled flap_detection_enabled 1 ; Flap detection is enabled failure_prediction_enabled 1 ; Failure prediction is enabled process_perf_data 1 ; Process performance data retain_status_information 1 ; Retain status information across program restarts retain_nonstatus_information 1 ; Retain non-status information across program restarts is_volatile 0 ; The service is not volatile check_period 24x7 ; The service can be checked at any time of the day [b]max_check_attempts 5[/b] ; Re-check the service up to 3 times in order to determine its final (hard) state [b]normal_check_interval 5[/b] ; Check the service every 10 minutes under normal conditions [b]retry_check_interval 2 ; Re-check the service every two minutes until a hard state can be determined[/b] [b]contact_groups admins ; Notifications get sent out to everyone in the 'admins' group[/b] notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery events [b]notification_interval 60[/b] ; Re-notify about service problems every hour notification_period 24x7 ; Notifications can be sent out at any time register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE! } 监控本机上定义例如以下的服务: (2)定义一个[b]服务的方式例如以下:[/b]
defineservice{
use zctech-service
host_namelocalhost
service_descriptionzccheck-disk
check_commandzccheck_disk!90!95
}
(3)使用zccheck_proc_cmd定义的服务,比方监控系统的哪个服务或进程是否正常,则定义方式例如以下:
比方监控
firefox服务:
ps-aux
1000 3355 1.5 6.9 1060900 280412 ? Sl 08:53 7:56
firefox
则服务名定义为cmd-firefox就可以。假设有完整路径名和參数等,比方
mysql 1883 0.1 1.2 311008 50120 ? Sl 08:37 0:47/usr/sbin/mysqld--basedir=/usr
--datadir=/var/lib/mysql --user=mysql--pid-file=/var/run/mysqld/mysqld.pid--socket=/var/run/mysqld/mysqld.sock –port=3306
则service_description
为cmd-mysqld。
defineservice{
use zctech-service
host_namelocalhost
service_descriptioncmd-firefox
check_commandzccheck_proc_cmd!firefox
}
[b]7[/b][b]、改动配置文件:[/b] # cd /usr/local/nagios/etc 在nagios.cfg 文件里加入以下内容: # vi nagios.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 8、使加入的监控服务有效:
检查配置文件有无错误:
[code]/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
假设有错误。则检查配置文件的内容(依据提示信息)。
假设没有错误。则重新启动nagios:
# service nagios restart
在监控系统就能够看到新加的监控服务。(第一次加入之后可能要等几分钟才干显示出来)
监控主机上的安装和配置到此完毕。
相关文章推荐
- iOS开发笔记--iOS之轻松上手block
- ios笔记-多线程相关(phread、NSThread、GCD、NSOperation)
- EasyVideoRecorder短视频拍摄、短视频录制SDK支持IOS版本
- iOS----------SDWebimage源码解析(3)
- iOS实现屏幕旋转
- iOS 录音,播放,转码MP3,上传语音文件
- iOS runtime的一些心得实践
- 在xib中通过kvc设置button的圆角
- iOS 常用的第三方框架
- iOS 动画Animation-1: 动画基础:Block动画
- 关于IOS中通过图片实现动画效果
- iOS获取设备型号、设备类型等信息
- iOS系统结构简介
- iOS多线程基本概念
- ios layout机制相关方法
- IOS学习之Dispath_source 源的使用
- iOS 开发之单例模式
- iOS Xcode工程目录的 folder 和 group的区别(蓝色和黄色文件夹的区别)
- ios 添加.a编译
- iOS 加急审核