设为首页 收藏本站
查看: 2158|回复: 6

Nagios配置文件介绍

[复制链接]

尚未签到

发表于 2012-12-25 09:01:24 | 显示全部楼层 |阅读模式
Nagios配置文件很多,有主配置文件,各种对象配置文件安装nagios默认路径下/usr/local/nagios/etc会有以下文件:
  • cgi.cfg:cgi配置文件
  • htpasswd.users:存放认证密码的文件
  • nagios.cfg:主配置文件
  • objects :该目录下有各种对象
  • resource.cfg 资源配置文件
1、认识一下nagios的主配置文件nagios.cfg
  • log_file=/usr/local/nagios/var/nagios.log   
  • ##定义nagios的日志文件路径
  • cfg_file用来加载对象定义的相关文件的,下面就是objects中的
  • 8个对象:
  • cfg_file=/usr/local/nagios/etc/objects/commands.cfg
  • cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
  • cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
  • cfg_file=/usr/local/nagios/etc/objects/templates.cfg
  • cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
  • #cfg_file=/usr/local/nagios/etc/objects/windows.cfg
  • #cfg_file=/usr/local/nagios/etc/objects/switch.cfg
  • #cfg_file=/usr/local/nagios/etc/objects/printer.cfg
  • 默认windows主机、交换机和打印机是注释的,其实包含哪些对象
  • 我们可以手动设置的
  • 使用cfg_dir可以把一个目录下的文件全部包含进来
  • #cfg_dir=/usr/local/nagios/etc/routers
  • resource_file=/usr/local/nagios/etc/resource.cfg   
  • ##设定Nagios附加的宏定义的相关文件
  • status_file:  
  • 设定Nagios存储所有主机和服务当前状态信息的文件;
  • status_update_interval:  
  • 设定status_file指定的文件中状态信息的更新频率,默认10s
  • nagiosnagios_user=nagios 用户
  • nagiosnagios_froup=nagios 用户组
  • command_check_interval=-1   
  • 命令检查间隔时间,-1尽可能多的检查
  • command_file=/usr/local/nagios/var/rw/nagios.cmd   
  • 定义commands的执行权限和身份的
  • lock_file=/usr/local/nagios/var/nagios.lock  定义锁文件
  • temp_file=/usr/local/nagios/var/nagios.tmp 临时文件
  • service_check_timeout 设定服务检测的超时时间,默认为60秒;
  • host_check_timeout 设定主机检测的超时时间,默认为30秒;
  • notification_timeout   
  • 设定通知信息发送尝试的超时时间,默认为30秒;
2、resource.cfg是定义宏的配置文件:
  • $USER1$=/usr/local/nagios/libexec   
  • ##定义宏变量的,可以定义32个
  • /usr/local/nagios/libexec目录下存放的是各种插件,
  • nagios对主机或服务等的监控正是通过这些插件来完成的,
  • 该文件中包含了重要的信息如用户密码等,一般是不允许通过前
  • 端的web接口直接访问的
  • $USER3$=someuser
  • $USER4$=somepassword
  • cgi要想访问某个用户的个人信息可以调用resource.cfg,但在we
  • b接口中是不能访问的
3、objects目录    ##各种对象的配置文件
  • commands.cfg   定义各种命令的配置文件
  • localhost.cfg 本地主机的配置文件
  • switch.cfg   交换机的配置文件
  • timeperiods.cfg  时段的配置文件
  • contacts.cfg   联系人的配置文件
  • printer.cfg   打印机的配置文件
  • templates.cfg  模板的配置文件
  • windows.cfg   Windows主机的配置文件
在实际应用中这些对象的配置文件我们可以自己命名,存放于任何位置,
只要在主配置文件中包含进来就可以了

3.1、定义命令:
“命令”用于描述如何对主机或服务进行状态检测
  • define command{
  •         command_name    check-host-alive   
  •         ##command_name的名字必须全局唯一
  •         command_line    $USER1$/check_ping -H  
  •         $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
  •         }
  • ##$USER1$/check_ping:引用宏$USER1$路径下的一个叫check_pi
  • ng的插件
  • ##-H  $HOSTADDRESS$  
  • :-H后跟主机地址,应用到哪个对象上,就是那个主机的地址
  • ##-w 3000.0,80%:如果是80%的丢包率,延迟3s,就为警告状态
  •          -w:警告,后跟达到警告的值,单位ms
  • ##-c 5000.0,100%  
  • 如果有100%的丢包率,且延迟5s,就是危机状态
  • ##-p:一共检测几个包
各状态及其表示符如下:   
  • w —— WARNING
  •           u —— UNKNOWN
  •           c —— CRITICAL
  •           r —— OK(recovery)
  •           f —— flapping
  •           s —— 调试宕机时间开始或结束

3.2、定义联系人:
“联系人”对象用于定义某主机设备的拥有者或某问题出现时接受通知者

  • define contact{
  •         contact_name                     
  •         nagiosadmin          ##这个名字也要全局唯一
  •         use                              
  •             alias                           Nagios  
  •         Admin           ##定义一个别名
  •         email                           
  •         nagios@localhost       ##联系人的email
  •         }
  • timeperiods.cfg用于定义时段的:  
  • 7x24小时:
  • define timeperiod{
  •         timeperiod_name 24x7    ##名字要全局唯一
  •         alias           24 Hours A Day, 7 Days 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
  •         }
  • 正常工作日:
  • define timeperiod{
  •         timeperiod_name workhours
  •         alias           Normal Work Hours
  •         monday          09:00-17:00
  •         tuesday         09:00-17:00
  •         wednesday       09:00-17:00
  •         thursday        09:00-17:00
  •         friday          09:00-17:00
  •         }   generic-contact        ##从哪个模板继承,引用模板
3.3、localhost.cfg 定义主机:
“主机”指的是被监控的机器,可是物理主机,也可以是虚拟设备。一个主机对象的定义至少应该包含一个简名(short name)、一个别名、一个IP地址和用到的检测命令

  • define host{
  •         use                     linux-server    ##引用模板
  •                                                         
  •         host_name          localhost         
  •         ##主机名,全局唯一
  •         alias                   localhost        ##别名
  •         address              127.0.0.1       ##ip地址
  •         }
3.4、定义服务:
“服务”即某“主机”所提供的功能或资源对象,如HTTP服务、存储空间资源或CPU负载等

  • define service{
  •         use                                   
  •         local-service        
  •         host_name                       localhost     
  •                                ##先说明是在哪个主机上的服务
  •         service_description            PING
  •                                ##服务名不要求全局唯一的,只要在当前主机上唯一就可以了
  •         check_command               
  •         check_ping!100.0,20%!500.0,60%   
  •                                ##说明使用的是check_ping命令
  •         }
服务不能脱离主机而运行的,所有服务定义时必须要说明是对应于哪一个主机而提供什么服务的。
上面使用的check_ping命令在commands.cfg文件中是有对应的命令的:

  • # 'check_ping' command definition
  • define command{
  •         command_name    check_ping      
  •         ##需事先定义好命令,然后再在服务中引用的
  •         command_line    $USER1$/check_ping -H  
  •         $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
  •         }
  • ##$HOSTADDRESS$:对应于上面主机中的$HOSTADDRESS$就是127.0
  • .0.1
  • ##定义service时是有两个参数!100.0,20%和!500.0,60%,就是把
  • 对应的参数传递给command中的 $ARG1$和$ARG2$

3.5、再来看一下templates.cfg这个文件,定义模板的:
Nagios通过功能强大的继承引擎来实现基于模板的对象继承。这就意味着可以定义
将某类型的对象的通用属性组织起来定义为对象模板,并在定义其类型中的对象时
直接从此模板继承其相关属性的定义。

  • define host{
  •         name                            generic-host     
  •         ##模板的名字
  •         notifications_enabled           1               
  •         ##是否发送通知,为1发送
  •         event_handler_enabled           1            
  •         ##是否启动额外的处理器
  •         flap_detection_enabled          1              
  •         ##是否检查flap状态,flap是四个状态中会有不同状态
  •         的随机转换
  •         failure_prediction_enabled      1              
  •         ##是否提前检测prediction失误
  •         process_perf_data               1               
  •         ##进程性能数据是否输出
  •         retain_status_information       1              
  •         ##是否保存状态信息
  •         retain_nonstatus_information    1           
  •         ##是否保存非状态信息的通知
  •         notification_period             24x7            
  •         ##检测的时间段
  •         register                        
  •         0                     
  •         ##并不是一个真正的主机,定义的是一个模板
  •         }
下面定义Linux主机的模板:
  • define host{
  •         name                            linux-server     
  •         ; The name of this host template
  •         use                             generic-host     
  •         ; This template inherits other values from the  
  •         generic-host template
  •         check_period                    24x7            
  •         ; By default, Linux hosts are checked round the  
  •         clock
  •         check_interval                  5               
  •         ; Actively check the host every 5 minutes
  •         retry_interval                  1               
  •         ; Schedule host check retries at 1 minute  
  •         intervals
  •         max_check_attempts              10               
  •         ; Check each Linux host 10 times (max)
  •         check_command                    
  •         check-host-alive    ##先检测主机是否是alive状态
  •         notification_period             workhours        
  •         ##什么时段发送通知信息,此处为workhours
  •                                                          
  • ; Note that the notification_period variable is being  
  • overridden from
  •                                                          
  • ; the value that is inherited from the generic-host  
  • template!
  •         notification_interval           120            
  •         ##发送通知的间隔时间,单位分钟
  •         notification_options            d,u,r           
  •         ##d--宕机,u--UNREACHABLE,r--UP(重新上线)
  •         contact_groups                  admins         
  •         ##在定义好的时段内给这个联系人组发送通知信息
  •         register                        0               
  •         ; DONT REGISTER THIS DEFINITION - ITS NOT A  
  •         REAL HOST, JUST A TEMPLATE!
  •         }
##service要定义相应的服务模板
3.6、对象间的依赖关系
为了描述Nagios对象间的依赖关系,这里要用到两个术语:master(被依赖的主机或服务)和dependent(依赖关系中的依赖于master的Nagios对象)。
可以定义对象间的依赖关系,为某对象定义其父对象,也可以指定此依赖关系生效的时段。

  • 如定义主机间的依赖关系:
  •      define hostdependency
  •      {
  •           dependent_host_name backuphost   
  •           ##定义dependent主机
  •           host_name vpnserver1    ##定义master主机
  •           dependency_period maintenancewindows      
  •           ##定义依赖时段
  •      }
  • 服务间依赖关系的定义类似于主机间的依赖关系,例如:
  •      define servicedependency
  •      {
  •           host_name mysqlserver        ##master主机名
  •           service_description mysql      ##master服务名
  •           dependent_hostgroup_name apacheservers     
  •           ##dependent主机组名
  •           dependent_service_description webservice      
  •           ##denpendent服务名
  •           execution_failure_criteria c,u         
  •           ##定义master为何种状态时不再对依赖
  •                                                          
  • ##于此master的主机或服务进行检测,
  •           notification_failure_criteria c,u,w   
  •           ##用于定义master处于何种状态时不会
  •            ##发送dependent相关的主机问题通知到联系人
  •      }


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-2942-1-1.html 上篇帖子: Nagios监控原理 下篇帖子: 用SHELL脚本自动化安装Nagios服务器端和客户端的 配置文件

尚未签到

发表于 2013-3-14 06:31:40 | 显示全部楼层
不错不错,楼主您辛苦了。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 01:28:35 | 显示全部楼层
自从我变成了狗屎,就再也没有人踩在我头上了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 08:47:15 | 显示全部楼层
打破老婆终身制,实行小姨股份制。引入小姐竞争制,推广情人合同制。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 11:21:48 | 显示全部楼层
花前月下,不如花钱“日”下!*^_^*

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-19 12:32:53 | 显示全部楼层
你的丑和你的脸没有关系。。。。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-20 16:28:43 | 显示全部楼层
饭在锅里,我在床上*^_^*

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表