转载自http://www.cnblogs.com/hanxiaomeng/p/5423028.html
Nagios的配置文件:
Nagios安装后有四种默认的配置文件:主配置文件、CGI配置文件、资源定义文件、对象定义文件。这些配置文件间具有一些关系,只有充分理解各配置文件,才能使得配置Nagios服务如行云流水。
主配置文件(nagios.cfg):
Nagios的主配置文件是用来定义Nagios服务的基本参数信息的,其中包括:对象定义文件的声明、CGI配置文件的声明、资源定义文件的声明等。其常用参数如下:
按 Ctrl+C 复制代码
CGI配置文件(cgi.cfg):
CGI配置文件是用来定义Nagios的Web接口的配置,例如网页目录、认证用户等等。CGI的配置在主配置文件也有一部分。其常用参数如下:
资源定义文件(resource.cfg):
资源定义文件用来定义Nagios的配置文件中的宏,”宏”类似变量,其可以灵活的引用到不同监控对象获得不同值,Nagios支持用户自定义32个宏,从$USER1~$USER32$。CGI程序不会读取资源定义文件,所以除了宏外,还可以在其中定义一些敏感信息,例如访问某服务的密码等,从而避免这些敏感信息被展示到Web接口上。
资源定义文件中默认只有一行宏定义:
对象定义文件(object_name.cfg):
Nagios中,需要定义的监控我们称作一个对象,对象定义文件用来定义对哪些对象进行什么样的监控(对象定义文件需要事先在主配置文件中声明才会生效)。Nagios常定义的对象有如下几个:
①主机:“主机”指的是被监控的机器,可是物理主机,也可以是虚拟设备。一个主机对象的定义至少应该包含一个简名(short name)、一个别名、一个IP地址和用到的检测命令。此外,很多时候,其定义中还应该包含监控时段、联系人及要通知的相关问题、检测的频率、重试检测的方式、发送通知的频率等。主机的定义例子如下:
其中的notification_options用于指定当服务处于什么状态时应该发送通知。其各状态及其表示符如下:
当命令对象用于检测其它对象时,其通常需要用到额外的参数以标识要检测的某特定对象,此时,命令对象需要以command_name[!arg1][!arg2][…]的语法格式进行引用。因此,命令对象的定义中,命令行指令中通常会用到宏$ARG1$, $ARG2$…,对应用于接收[!arg1][!arg2][…]传递而来的参数。例如:
⑩依赖关系:为了描述Nagios对象间的依赖关系,这里要用到两个术语:master(被依赖的主机或服务)和dependent(依赖关系中的依赖于master的Nagios对象)。Nagios可以定义对象间的彼此依赖性,也可以为某对象定义其父对象,甚至也可以指定此依赖关系生效的时段。下面是一个关于主机依赖关系定义的例子:
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214175.html原文链接:https://javaforall.net
