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  ,插件所在目录,切记不要随意修改

nagios–配置文件的更多相关文章

  1. Nagios配置文件详解

    首先要看看目前Nagios的主配置路径下有哪些文件.[root@nagios etc]# ll总用量 152-rwxrwxr-x. 1 nagios nagios 1825 9月  24 14:40 ...

  2. Nagios配置文件nagios.cfg详解

    这里开始要讲一些Nagios的配置. 首先要看看目前Nagios的主配置路径下有哪些文件.[root@nagios etc]# ll总用量 152-rwxrwxr-x. 1 nagios nagios ...

  3. Nagios配置文件说明

    Lepus 安装配置:http://www.cnblogs.com/xuanzhi201111/p/5200757.html Nagios 各个目录用途说明如下:bin                ...

  4. 监控服务 - Nagios配置文件详解

    Nagios的配置文件: Nagios安装后有四种默认的配置文件:主配置文件.CGI配置文件.资源定义文件.对象定义文件.这些配置文件间具有一些关系,只有充分理解各配置文件,才能使得配置Nagios服 ...

  5. nginx环境下配置nagios-关于nagios配置文件nginx.conf

    接上文:nginx环境下配置nagios-关于nginx.conf 配置如下: ;          location ~ .*\.(php|php5)?$          {            ...

  6. Nagios详解(基础、安装、配置文件解析及监控实例)

    一.Nagios基础 1.简介Nagios是一款开源网络监视工具.可监控网络服务(SMTP.POP3.HTTP.NNTP.ICMP.SNMP.FTP.SSH.PING---).监控主机资源.根据需求设 ...

  7. Nagios监控配置文件及监控流程

    1.安装路径/usr/local/nagios/下存在etc.bin.sbin.share.var 这五个目录.Nagios 各个目录用途说明如下: bin Nagios 可执行程序所在目录 etc ...

  8. Nagios服务器端配置文件详解

    Nagios服务器端安装部署详解见:http://www.cnblogs.com/ginvip/p/6505948.html Nagios 主要用于监控一台或者多台本地主机及远程的各种信息,包括本机资 ...

  9. Nagios监控平台搭建及配置文件详解

    Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...

随机推荐

  1. Firefox 火狐网址生成二维码扩展推荐

    该扩展并未在火狐官方的扩展站中上线,在火狐中国的站点中也几乎很难找到,只是作为火狐中国版的一个集成扩展. 各位想要使用该扩展,但又不愿安装火狐中国版的的浏览迷可以通过以下地址独立安装该扩展. 扩展地址 ...

  2. 30 分钟 Java Lambda 入门教程

    Lambda简介 Lambda作为函数式编程中的基础部分,在其他编程语言(例如:Scala)中早就广为使用,但在Java领域中发展较慢,直到java8,才开始支持Lambda. 抛开数学定义不看,直接 ...

  3. oracle中in与exists的区别

    exists是用来判断是否存在的,当exists中的查询存在结果时则返回真,否则返回假.not exists则相反. exists做为where 条件时,是先对where 前的主查询询进行查询,然后用 ...

  4. HDU 5783 Divide the Sequence (贪心)

    Divide the Sequence 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5783 Description Alice has a seq ...

  5. 嵌入式LINUX入门到实践(一)

    MINI2440 IIC协议 IIC协议在工程中应用广泛,在我看来,此协议的优势就在于其硬件及其简单,结构清晰. 首先来解读一下S3C2440A这款芯片的IIC协议. 一.一个协议的解读从如上结构图中 ...

  6. sublime text2 用ctags插件实现方法定位

    sublime text2 用ctags插件实现方法定位(转) 我们用sublime几乎都会首先安装这个插件,这个插件是管理插件的功能,先安装它,再安装其他插件就方便了. 点击sublime的菜单栏 ...

  7. java操作redis之jedis篇

    首先来简单介绍一下jedis,其实一句话就可以概括的,就是java操作redis的一种api.我们知道redis提供了基本上所有常用编程语言的clients,大家可以到http://redis.io/ ...

  8. mmap和普通文件读写的区别和比较 & mmap的注意点

    参考 http://www.cnblogs.com/huxiao-tee/p/4660352.html 对linux文件系统不了解的朋友,请参阅我之前写的博文<从内核文件系统看文件读写过程> ...

  9. stm32的DFU使用方法

    stm32的dfu看上去是个很高级的东西,似乎可以通过USB给内部flash.外部spi flash.外部nor等东西刷写数据.把数据读出来,但是用了一下感觉确实有点麻烦. 先不管原理是怎样的,使用方 ...

  10. C++ 不支持模版的分离式编译

    1.C++不支持模版的分离式编译,为什么? C++是分别,单独编译,对于每个cpp文件,预编译为编译单元,这个编译单元是自包含文件,编译的时候,不需要其他的文件,编译好了,生成obj文件,然后连接成e ...