nagios–配置文件

ngios的配置文件位于/etc/nagios目录下

# ll /etc/nagios
总用量 68
-rw-rw-r-- 1 nagios nagios 11659 3月 21 14:48 cgi.cfg
-rw-r--r-- 1 root root 26 3月 21 14:52 htpasswd.users
-rw-rw-r-- 1 nagios nagios 44580 3月 21 14:48 nagios.cfg
drwxrwxr-x 2 nagios nagios 4096 3月 21 14:48 objects
-rw-rw---- 1 nagios nagios 1340 3月 21 14:48 resource.cfg

要成功配置出一台nagios监控系统,必须要理解每个配置文件之间彼此的依赖关系,最重要的有四点:

第一、定义监控哪些主机、主机组、服务、服务组

第二、定义实现这个监控要使用什么命令

第三、定义监控的时间段

第四、定义主机或服务出现问题是要通知的联系人和联系人组

1.  nagios.cfg    主配置文件

语法非常简洁,格式为 <参数>=<值>, 常用的参数设置如下:

log_file :   设定nagios的日志文件

Format:    log_file=<file_name>

Example: log_file=/usr/local/nagios/var/nagios.log

cfg_file: nagios对象定义的相关文件,此参数可重复使用多次以定义多个对象

Format: cfg_file=<file_name>

Example: cfg_file=/usr/local/nagios/etc/hosts.cfg

cfg_file=/usr/local/nagios/etc/services.cfg

cfg_dir:  设定nagios对象定义的相关文件所在的目录,此目录中的所有文件都会被作为对象定义的文件

Format:  cfg_dir=<directory_name>

Example: cfg_dir=/usr/local/nagios/etc/commands

cfg_dir=/usr/local/nagios/etc/services

resource_file: 设定nagios的宏定义的相关文件

Format:    resource_file=<file_name>

Example:  resource_file=/usr/local/nagios/etc/resource.cfg

status_file:  设定nagios存储所有主机和服务当前状态信息的文件

Format: status_file=<file_name>

Example: status_file=/usr/local/nagios/var/status.dat

status_update_interval: 设定status_file指定的文件中状态信息的更新频率

Format:  status_update_interval=<seconds>

Example: status_update_interval=15   最小是1秒

services_check_timeout:  设定服务检测的超时时间,默认为60s

host_check_timeout: 设定主机检测的超时时间,默认为30秒

notification_timeout: 设定通知信息发送尝试的超时时间,默认为30秒

2. resource_file和宏定义

在主配置文件中,resource_file用于定义所有用户变量(即宏)的存储文件,它用于存储对象定义中的可访问的额外信息,如访问某服务的密码,因此这些信息都是敏感的,一般不允许通过web接口来访问。此文件中可以定义的宏可达32个,这些宏一般在check命令中引用。通常情况下$USER1$用于引用nagios插件所在目录,因此, 一般不建议修改这个值。

nagios事先定义了这么多宏,它们的值通常依赖于其上下文,如下:

HOSTNAME : 用于引用host_name指定所定义的主机的主机名:每个主机的主机名都是唯一的。

HOSTADRESS: 用于引用host对象中的adress指令的值,它可以是IP地址或主机名。

HOSTISPLAYNAME: 用于引用host对象中的address指令的值,用于描述当前主机,即主机的显示名称

HOSTSTATE: 某主机的当前状态,为UP, DOWN, UNREACHABLE 三者之一。

HOSTGROUPNAMES: 用于引用某主机所属的所有主机组的简名,主机组名称之间用逗号分隔

LASTHOSTCHECK: 用于引用某主机上次检测的时间和日期, unix时间戳

SERVICEDESC: 用于引用对应service对象中的description指令的值

SERVICESTATE: 用于引用某服务的当前状态,为ok, warning, unknown, critical 之一

$CONTACTNAME$:  表示联系人,在联系人文件中定义

通知宏:  $NOTIFICATIONTYPE$

日期时间宏: $LONGDATETIME$     当前日期/时间戳

文件宏: $LOGFILE$   日志文件保存位置

$MAINCONFIGFILE$ :  主配置文件的保存位置

其它宏:

$ADMINEMAIL$ :  全局的管理员Email地址

$ARGN$:  指向第n个命令传递参数(通知,事件处理,服务检测等). 支持最多32个参数宏

object: 包含各种对象(对象定义文件目录)

3. resouce.cfg

定义宏的配置文件(nagios的环境变量) ,资源配置文件,内容可能会包含敏感信息。

宏:变量, nagios默认支持32个宏 【$USER1$-$USER32$】

$USER1$=/usr/local/nagios/libexec  ,插件所在目录,切记不要随意修改

上一篇:SpringCloud微服务实战——搭建企业级开发框架(三十四):SpringCloud + Docker + k8s实现微服务集群打包部署-Maven打包配置


下一篇:PLSQL不好用,提示ora-12514 错误解决方法