nagios 的配置文件

不管是用nagios监控本地还是远程服务器,都需要对nagios进行配置。

nagios这种可插拔的配置非常简单易懂。

Nagios的配置文件结构如下:

在nagios的安装包sample-config/有配置的参考

/usr/local/Nagios/etc/

nagios.cfg

cgi.cfg

resource.cfg

object/

############################

nagios.cfg:

指定对象配置文件的位置:

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

cfg_dir=/usr/local/nagios/etc

check_external_commands=1 #使用外部命令

############################

fabfile:定义fab命令的.

具体怎样写fab命令参考python的fab文档。

###########################

Templates表示模板,分两种:

Use顺序:

Ohtpl

Bhtpl

Htpl

-----------------

Hosts:

App:主要使用这个文件夹里的模板

创建hostgroups之后创建这个hosts模板在hosts中调用。

define host{

use <template-name1>,\

<template-name2> #use表示在这里嵌套调用其它的更底层的模板。

name bhtpl/htpl_<dir>_<file-name> #用templates/hosts/目录下的路径dir来命名。

hostgroups +<hostgroup-name1>,\ #以+开头表示添加

<hostgroup-name2> #这些文件定义在hostgroups中

alias <file-name-upper> - <alias-name> #将这个文件名大写,然后取个别名

_<name> <value> #这里可以定义某些变量的默认值

register 0 #表示没有注册

host的name是 前缀_路径_文件名 组成的

-------------------

Services:

App:主要用这个里面的模板。

defineservice{

use template-name1>,\

<template-name2> #嵌套调用更基础的模板

name <file-name> #和文件名一样,都是用cstpl/stpl开头加路径加名字

check_command <check_XXX>\

!–options $VAR$

!-options/- -options $VAR$ \


$ARGS$ #用!分割参数,同时用$表示一个参数

servicegroups +<servicegroups-name1>,\ #以+开头表示添加

<servicegroups-name2> #这些服务分组名在servicesgroup定义。

alias <file-name-upper> - <alias-name> #将这个文件名大写,然后取个别名

_<VAR> value #在这里定义变量的默认值

register 0 #注册为0

}

Service的name是文件名,也是前缀_路径_名字 组成

###########################

Incgroups:增加或删除对hosts的检查

App:主要用这个里面的

增加一个service就是增加一个incgroups,然后再hosts和services里面同时调用这个incgroups就可以了。

define hostgroup{

hostgroup_name inc_<dir>_<file-name> #inc为前缀

alias <name> - <alias>

register 0

}

define hostgroup{

hostgroup_name exc_<dir>_<file-name> #exc为前缀

alias <name> - <alias>

register 0

}

############################

Commands:

定义宏与外部程序的映射关系。

#说明命令用法

#

#说明参数有哪些

#

#说明返回值


definecommand{


command_name


command_name


command_line


command_line


}


definehost{


host_name


host_name


alias


alias


display_name


display_name


address


address


parents


host_names


hourly_value


#


hostgroups


hostgroup_names


check_command


command_name


initial_state


[o,d,u]


max_check_attempts


#


check_interval


#


retry_interval


#


active_checks_enabled


[0/1]


passive_checks_enabled


[0/1]


check_period


timeperiod_name


obsess_over_host|obsess


[0/1]


check_freshness


[0/1]


freshness_threshold


#


event_handler


command_name


event_handler_enabled


[0/1]


low_flap_threshold


#


high_flap_threshold


#


flap_detection_enabled


[0/1]


flap_detection_options


[o,d,u]


process_perf_data


[0/1]


retain_status_information


[0/1]


retain_nonstatus_information


[0/1]


contacts


contacts


contact_groups


contact_groups


notification_interval


#再次发出通知的时间间隔,分钟。0表示不重新发送。


first_notification_delay


#


notification_period


timeperiod_name#再次发送通知的时间。


notification_options


[d,u,r,f,s]


notifications_enabled


[0/1]


stalking_options


[o,d,u]


notes


note_string


notes_url


url


action_url


url


icon_image


image_file


icon_image_alt


alt_string


vrml_image


image_file


statusmap_image


image_file


2d_coords


x_coord,y_coord


3d_coords


x_coord,y_coord,z_coord


}


definehostgroup{


hostgroup_name


hostgroup_name


alias


alias


members


hosts


hostgroup_members


hostgroups


notes


note_string


notes_url


url


action_url


url


}


defineservice{


host_name


host_name


hostgroup_name


hostgroup_name


service_description


service_description


display_name


display_name


parents


service_descriptions


hourly_value


#


servicegroups


servicegroup_names


is_volatile


[0/1]


check_command


command_name


initial_state


[o,w,u,c]


max_check_attempts


#


check_interval


#


retry_interval


#


active_checks_enabled


[0/1]


passive_checks_enabled


[0/1]


check_period


timeperiod_name


obsess_over_service|obsess


[0/1]


check_freshness


[0/1]


freshness_threshold


#


event_handler


command_name


event_handler_enabled


[0/1]


low_flap_threshold


#


high_flap_threshold


#


flap_detection_enabled


[0/1]


flap_detection_options


[o,w,c,u]


process_perf_data


[0/1]


retain_status_information


[0/1]


retain_nonstatus_information


[0/1]


notification_interval


#


first_notification_delay


#


notification_period


timeperiod_name


notification_options


[w,u,c,r,f,s]


notifications_enabled


[0/1]


contacts


contacts


contact_groups


contact_groups


stalking_options


[o,w,u,c]


notes


note_string


notes_url


url


action_url


url


icon_image


image_file


icon_image_alt


alt_string


}


defineservicegroup{


servicegroup_name


servicegroup_name


alias


alias


members


services


servicegroup_members


servicegroups


notes


note_string


notes_url


url


action_url


url


}


definecontact{


contact_name


contact_name


alias


alias


contactgroups


contactgroup_names


minimum_value


#


host_notifications_enabled


[0/1]


service_notifications_enabled


[0/1]


host_notification_period


timeperiod_name主机故障通知联系人的时间


service_notification_period


timeperiod_name服务故障通知联系人的时间


host_notification_options


[d,u,r,f,s,n]


service_notification_options


[w,u,c,r,f,s,n]


host_notification_commands


command_name


service_notification_commands


command_name


email


email_address


pager


pager_numberor pager_email_gateway


addressx


additional_contact_address


can_submit_commands


[0/1]


retain_status_information


[0/1]


retain_nonstatus_information


[0/1]


}


definecontactgroup{


contactgroup_name


contactgroup_name


alias


alias


members


contacts


contactgroup_members


contactgroups


}


definetimeperiod{


timeperiod_name


timeperiod_name


alias


alias


[weekday]


timeranges


[exception]


timeranges


exclude


[timeperiod1,timeperiod2,...,timeperiodn]


}


definehostescalation{


host_name


host_name


hostgroup_name


hostgroup_name


contacts


contacts


contact_groups


contactgroup_name


first_notification


#正常规则的第几次通知开始激活这个升级规则。


last_notification


#0表示升级规则持续到主机正常。


notification_interval


#


escalation_period


timeperiod_name


escalation_options


[d,u,r]


}


defineserviceescalation{


host_name


host_name


hostgroup_name


hostgroup_name


service_description


service_description


contacts


contacts


contact_groups


contactgroup_name


first_notification


#


last_notification


#


notification_interval


#


escalation_period


timeperiod_name


escalation_options


[w,u,c,r]


}


definehostdependency{


dependent_host_name


host_name


dependent_hostgroup_name


hostgroup_name


host_name


host_name


hostgroup_name


hostgroup_name


inherits_parent


[0/1]


execution_failure_criteria


[o,d,u,p,n]


notification_failure_criteria


[o,d,u,p,n]


dependency_period


timeperiod_name


}


defineservicedependency{


dependent_host_name


host_name


dependent_hostgroup_name


hostgroup_name


servicegroup_name


servicegroup_name


dependent_servicegroup_name


servicegroup_name


dependent_service_description


service_description


host_name


host_name


hostgroup_name


hostgroup_name


service_description


service_description


inherits_parent


[0/1]


execution_failure_criteria


[o,w,u,c,p,n]


notification_failure_criteria


[o,w,u,c,p,n]


dependency_period


timeperiod_name


}

command_line中使用宏和参数

$USER1$…
变量宏

$ARG1$…
参数宏

这些宏定义在/usr/local/Nagios/etc/resource.cfg

自定义变量通过下划线_开头,前面有HOST、SERVICE、CONTACT这样的前缀。

通过check_command调用:

check_command command_name\

!$_HOSTNAME1$\

!$_SERVICENAME2$\

!$_SERVICEEXTRA_ARGS$

参数用!分割,

_EXTRA_ARGS直接传插件的选项和参数,多个选项用,分割。

###########################

Hosts:

定义主机

Use决定了使用哪些模板中的基础服务。

Hostgroups决定了这个host特有的服务。

在host的hostgroups里添加services的hostgroup_name就是让host具有这个service。

如果包含的模板中有这个service就不用再添加hostgroups了。

Host中的变量要和service里面调用command的变量一样,去掉HOST就可以了。

###########################

Hostgroups:

主机可以属于任何用户定义的主机组

新建之前需要创建一个hostgroups,然后在templates中调用。

###########################

Services:

定义由主机提供的一个或多个服务

Hostgroup_name中的inc和exc开头的定义在incgroups里面。

Check_command使用!来分隔参数。

hostgroup_name决定了这个服务被哪个组中的host调用。

###########################

Servicegroups:

服务可以属于任何用户定义的分组。

###########################

Contacts:增加nagios的用户

定义具体联系人。

###########################

Contactgroups:

发送通知的对象一般是联系人组,一个联系人可以属于多个组。

###########################

Timeperiods:

定义检查hosts和service的时间

00:00-11:59,12:00-23:59 #使用空格来添加多个时间段.

定义24* 7
表示一直监控。

###########################

Escalations:

升级规则,通过升级规则能使nagios通知另一组联系人。

###########################

denpendency:

依赖关系会基于其它对象的状态过滤某个对象的测试或通知。

###########################

时间: 2024-10-13 20:49:50

nagios 的配置文件的相关文章

Nagios重要配置文件说明

Nagios重要配置文件说明,布布扣,bubuko.com

Nagios服务器端配置文件详解(2)

上一步骤: http://blog.csdn.net/mchdba/article/details/25654889 6 配置nagios Nagios 主要用于监控一台或者多台本地主机及远程的各种信息,包括本机资源及对外的服务等.默认的Nagios 配置没有任何监控内容,仅是一些模板文件.若要让Nagios 提供服务,就必须修改配置文件,增加要监控的主机和服务,下面将详细介绍. 6.1 默认配置文件介绍 Nagios 安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下

监控软件nagios之配置文件详解

1.nagios根目录 [[email protected] nagios-4.0.8]# lltotal 28drwxrwxr-x.  2 nagios nagios 4096 Apr  1 14:50 bin          --二进制文件drwxrwxr-x.  3 nagios nagios 4096 Apr  1 15:27 etc          --配置文件drwxr-xr-x.  2 root   root   4096 Apr  1 15:23 include       

nagios的配置文件解析

在上篇文章安装部署好nagios监控软件后,本文主要为解析nagios的配置文件. 一.服务主目录配置文件说明:[[email protected] ~]# cd /etc/nagios/[[email protected] nagios]# lscgi.cfg  conf.d  nagios.cfg  nrpe.cfg  objects  passwd  private | 文件                | 说明                                      

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

1.安装路径/usr/local/nagios/下存在etc.bin.sbin.share.var 这五个目录.Nagios 各个目录用途说明如下: bin Nagios 可执行程序所在目录 etc Nagios 配置文件所在目录 sbin Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录 share Nagios网页文件所在的目录 libexec Nagios 外部插件所在目录 var Nagios 日志文件.lock 等文件所在的目录 var/archives Nag

修正nagios主机配置文件

# cat 172.16.1.1.cfg define host{ use                     linux-server host_name               172.16.1.1 alias                   172.16.1.1 address                 172.16.1.1 } define service{ use                     generic-service host_name      

python写简单的nagios主机配置文件

__author__ = 'Administrator' import sys,os dir_cfg="./" #file=sys.argv[1] #hostname=sys.argv[2] #app=sys.argv[3] #ip=sys.argv[4] #port=sys.argv[5] def test(file,hostname,app,ip,port):     filepath=dir_cfg+file     if os.path.exists(filepath):   

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

一.Nagios的配置文件类型: Nagios安装后有四种默认的配置文件:主配置文件.CGI配置文件.资源定义文件.对象定义文件.这些配置文件间具有一些关系,只有充分理解各配置文件,才能使得配置Nagios服务如行云流水. 二.Nagios配置文件详解: 1.主配置文件(nagios.cfg): Nagios的主配置文件是用来定义Nagios服务的基本参数信息的,其中包括:对象定义文件的声明.CGI配置文件的声明.资源定义文件的声明等.其常用参数如下: log_file=/usr/local/n

Nagios配置文件nagios.cfg详解

这里开始要讲一些Nagios的配置. 首先要看看目前Nagios的主配置路径下有哪些文件.[[email protected] etc]# ll总用量 152-rwxrwxr-x. 1 nagios nagios 1825 9月  24 14:40 cgi.cfg-rwxrwxr-x. 1 nagios nagios 9747 9月  24 14:40 checkcommands.cfg-rwxrwxr-x. 1 nagios nagios 1089 9月  24 14:40 connector