宏观有效性
尽管宏可以在您定义的所有命令中使用,但并非所有宏在特定类型的命令中都可能是“有效的”。例如,某些宏可能仅在服务通知命令期间有效,而其他宏可能仅在主机检查命令期间有效。Nagios识别和对待的命令有十种类型。它们如下:
下表列出了Nagios Core中当前可用的所有宏,以及每个宏的简要说明以及有效的命令类型。如果在无效的命令中使用了宏,则将其替换为空字符串。应当注意,宏由所有大写字符组成,并用$字符括起来。
宏可用性图表
没有 | 宏不可用 |
是 | 该宏可用 |
宏描述
主机宏:3 | |
$ HOSTNAME $ | 主机的简称(即“ biglinuxbox”)。此值来自主机定义中的host_name指令。 |
$ HOSTDISPLAYNAME $ | 主机的备用显示名称。此值来自主机定义中的display_name指令。 |
$ HOSTALIAS $ | 主机的长名称/说明。该值取自主机定义中的alias伪指令。 |
$ HOSTADDRESS $ | 主机地址。该值取自主机定义中的address指令。 |
$ HOSTSTATE $ | 指示主机当前状态的字符串(“ UP”,“ DOWN”或“ UNREACHABLE”)。 |
$ HOSTSTATEID $ | 对应于主机当前状态的数字:0 = UP,1 = DOWN,2 = UNREACHABLE。 |
$ LASTHOSTSTATE $ | 一个字符串,指示主机的最后状态(“ UP”,“ DOWN”或“ UNREACHABLE”)。 |
$ LASTHOSTSTATEID $ | 对应于主机最后状态的数字:0 = UP,1 = DOWN,2 = UNREACHABLE。 |
$ HOSTSTATETYPE $ | 一个字符串,指示当前主机检查的状态类型(“ HARD”或“ SOFT”)。当主机检查返回非OK(非UP)状态并处于重试过程时,就会出现软状态。当对主机检查进行了指定的最大次数检查时,会产生硬状态。 |
$ HOSTATTEMPT $ | 当前主机检查重试的次数。例如,如果这是第二次重新检查主机,那么它将是第二位。当前尝试次数实际上仅在为基于主机重试次数采取特定操作的“软”状态编写主机事件处理程序时才有用。 |
$ MAXHOSTATTEMPTS $ | 为当前主机定义的最大检查尝试次数。在为基于主机重试编号执行特定操作的“软”状态编写主机事件处理程序时很有用。 |
$ HOSTEVENTID $ | 与主机当前状态关联的全局唯一编号。每当主机(或服务)经历状态更改时,全局事件ID号就会增加一(1)。如果主机未经历任何状态更改,则此宏将设置为零(0)。 |
$ LASTHOSTEVENTID $ | 先前赋予主机的(全局唯一)事件号。 |
$ HOSTPROBLEMID $ | 与主机当前问题状态关联的全局唯一编号。每次主机(或服务)从UP或OK状态转换为问题状态时,全局问题ID号就会增加一(1)。如果主机当前处于非UP状态,则此宏将为非零值。非UP状态之间的状态转换(例如DOWN到UNREACHABLE)不会导致此问题ID增加。如果主机当前处于UP状态,则此宏将设置为零(0)。与事件处理程序结合使用时,该宏可用于在主机首次进入问题状态时自动打开故障单。 |
$ LASTHOSTPROBLEMID $ | 先前给主机的(全局唯一)问题编号。与事件处理程序结合使用时,此宏可用于在主机恢复到UP状态时自动关闭故障单等。 |
$ HOSTLATENCY $ | 一个(浮点数)数字,表示计划的主机检查落后于其计划的检查时间的秒数。例如,如果检查计划在03:14:15进行,并且直到03:14:17才执行,则检查延迟为2.0秒。按需主机检查的延迟为零秒。 |
$ HOSTEXECUTIONTIME $ | 一个(浮点数)数字,表示执行主机检查所需的秒数(即检查执行的时间)。 |
$ HOSTDURATION $ | 一个字符串,指示主机在其当前状态所花费的时间。格式为“ XXh YYm ZZs”,表示小时,分钟和秒。 |
$ HOSTDURATIONSEC $ | 一个数字,指示主机在当前状态下花费的秒数。 |
$ HOSTDOWNTIME $ | 一个数字,指示主机的当前“停机时间深度”。如果此主机当前处于计划的停机时间,则该值将大于零。如果主机当前不在停机时间,则该值为零。 |
$ HOSTPERCENTCHANGE $ | 一个(浮点数)数字,表示主机经历的状态变化百分比。襟翼检测算法使用状态变化百分比。 |
$ HOSTGROUPNAME $ | 该主机所属主机组的简称。该值取自主机组定义中的hostgroup_name指令。如果该主机属于多个主机组,则此宏将仅包含其中一个主机名。 |
$ HOSTGROUPNAMES $ | 以逗号分隔的列表,列出了该主机所属的所有主机组的简称。 |
$ HOSTINFOURL $ | 从website_url主配置选项派生的主机信息页面的URL。版本:4.3.3+ |
$ LASTHOSTCHECK $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示最后一次执行主机检查的时间。 |
$ LASTHOSTSTATECHANGE $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示主机上次更改状态的时间。 |
$ LASTHOSTUP $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示最后一次检测到主机处于UP状态的时间。 |
$ LASTHOSTDOWN $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示最后一次检测到主机处于DOWN状态的时间。 |
$ LASTHOSTUNREACHABLE $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示最后一次检测到主机处于UNREACHABLE状态的时间。 |
$ HOSTOUTPUT $ | 最后一个主机检查输出的第一行文本(即“ Ping OK”)。 |
$ LONGHOSTOUTPUT $ | 上次主机检查的全文输出(除了第一行)。 |
$ HOSTPERFDATA $ | 该宏包含上次主机检查可能返回的任何性能数据。 |
$ HOSTCHECKCOMMAND $ | 该宏包含用于执行主机检查的命令名称(以及传递给它的所有参数)。 |
$ HOSTACKAUTHOR $ 8 | 包含确认主机问题的用户名的字符串。该宏仅在$ NOTIFICATIONTYPE $宏设置为“ ACKNOWLEDGEMENT”的通知中有效。 |
$ HOSTACKAUTHORNAME $ 8 | 包含确认主机问题的联系人(如果适用)的简称的字符串。该宏仅在$ NOTIFICATIONTYPE $宏设置为“ ACKNOWLEDGEMENT”的通知中有效。 |
$ HOSTACKAUTHORALIAS $ 8 | 包含确认主机问题的联系人(如果适用)的别名的字符串。该宏仅在$ NOTIFICATIONTYPE $宏设置为“ ACKNOWLEDGEMENT”的通知中有效。 |
$ HOSTACKCOMMENT $ 8 | 包含确认主机问题的用户输入的确认注释的字符串。该宏仅在$ NOTIFICATIONTYPE $宏设置为“ ACKNOWLEDGEMENT”的通知中有效。 |
$ HOSTACTIONURL $ | 主机的操作URL。该宏可能包含其他宏(例如$ HOSTNAME $),当您要将主机名传递到网页时,这些宏可能很有用。 |
$ HOSTNOTESURL $ | 主机的注释URL。该宏可能包含其他宏(例如$ HOSTNAME $),当您要将主机名传递到网页时,这些宏可能很有用。 |
$ HOSTNOTES $ | 主机说明。该宏可能包含其他宏(例如$ HOSTNAME $),当您要在描述中托管特定于状态的信息等时,这些宏可能很有用。 |
$ TOTALHOSTSERVICES $ | 与主机关联的服务总数。 |
$ TOTALHOSTSERVICESOK $ | 处于OK状态的与主机关联的服务总数。 |
$ TOTALHOSTSERVICESWARNING $ | 处于警告状态的与主机关联的服务总数。 |
$ TOTALHOSTSERVICESUNKNOWN $ | 处于未知状态的与主机关联的服务总数。 |
$ TOTALHOSTSERVICESCRITICAL $ | 处于严重状态的与主机关联的服务总数。 |
$ HOSTIMPORTANCE $ | 主机的重要性值。 |
主机组宏:5 | |
$ HOSTGROUPALIAS $ 5 | 长名称/别名的以下两者之一:1)作为按需宏参数传递的主机组名称,或2)与当前主机关联的主要主机组(如果未在按需宏的上下文中使用)。该值取自主机组定义中的alias指令。 |
$ HOSTGROUPMEMBERS $ 5 | 包含以下所有主机的逗号分隔列表:1)作为按需宏参数传递的主机组名称,或2)与当前主机关联的主要主机组(如果未在按需宏的上下文中使用) 。 |
$ HOSTGROUPTES $ 5 | 与以下内容相关的注释:1)作为按需宏参数传递的主机组名称,或与2)与当前主机相关联的主要主机组(如果未在按需宏的上下文中使用)。该值取自主机组定义中的notes指令。 |
$ HOSTGROUPNOTESURL $ 5 | 与以下内容关联的注释URL:1)作为按需宏参数传递的主机组名称,或2)与当前主机关联的主要主机组(如果未在按需宏的上下文中使用)。此值来自主机组定义中的notes_url指令。 |
$ HOSTGROUPACTIONURL $ 5 | 与以下操作相关联的操作URL:1)作为按需宏参数传递的主机组名称,或2)与当前主机相关联的主要主机组(如果未在按需宏的上下文中使用)。此值来自主机组定义中的action_url指令。 |
服务宏: | |
$ SERVICEDESC $ | 服务的全名/描述(即“主网站”)。此值来自服务定义的service_description指令。 |
$ SERVICEDISPLAYNAME $ | 服务的备用显示名称。此值来自服务定义中的display_name指令。 |
$ SERVICESTATE $ | 指示服务当前状态的字符串(“ OK”,“ WARNING”,“ UNKNOWN”或“ CRITICAL”)。 |
$ SERVICESTATEID $ | 对应于服务当前状态的数字:0 = OK,1 = WARNING,2 = CRITICAL,3 = UNKNOWN。 |
$ LASTSERVICESTATE $ | 指示服务的最后状态的字符串(“确定”,“警告”,“未知”或“严重”)。 |
$ LASTSERVICESTATEID $ | 对应于服务的最后状态的数字:0 = OK,1 = WARNING,2 = CRITICAL,3 = UNKNOWN。 |
$ SERVICESTATETYPE $ | 一个字符串,指示当前服务检查的状态类型(“ HARD”或“ SOFT”)。当服务检查返回非OK状态并处于重试过程中时,就会出现软状态。硬状态是在对服务检查进行了指定的最大次数检查后得出的。 |
$ SERVICEATTEMPT $ | 当前服务检查重试的次数。例如,如果这是第二次重新检查服务,则将是第二个。当前尝试次数实际上仅在为基于服务重试次数采取特定操作的“软”状态编写服务事件处理程序时才有用。 |
$ MAXSERVICEATTEMPTS $ | 为当前服务定义的最大检查尝试次数。在为根据服务重试号采取特定操作的“软”状态编写主机事件处理程序时很有用。 |
$ SERVICEISVOLATILE $ | 指示服务是否被标记为易失性:0 =不易失,1 =易失。 |
$ SERVICEEVENTID $ | 与服务的当前状态关联的全局唯一编号。每当服务(或主机)经历状态更改时,全局事件ID号就会增加一(1)。如果服务未经历任何状态更改,则此宏将设置为零(0)。 |
$ LASTSERVICEEVENTID $ | 赋予服务的先前(全局唯一)事件号。 |
$ SERVICEPROBLEMID $ | 与服务当前问题状态关联的全局唯一编号。每次服务(或主机)从OK或UP状态转换为问题状态时,全局问题ID号都会增加一(1)。如果服务当前处于非正常状态,则此宏将为非零值。非OK状态之间的状态转换(例如,警告为CRITICAL)不会导致此问题ID增大。如果服务当前处于OK状态,则此宏将设置为零(0)。与事件处理程序结合使用时,该宏可用于在服务首次进入问题状态时自动打开故障单。 |
$ LASTSERVICE问题MID $ | 先前提供给服务的(全球唯一)问题编号。与事件处理程序结合使用时,此宏可用于在服务恢复到OK状态时自动关闭故障单等。 |
$ SERVICELATENCY $ | 一个(浮点数)数字,表示计划服务检查落后于计划检查时间的秒数。例如,如果检查计划在03:14:15进行,并且直到03:14:17才执行,则检查延迟为2.0秒。 |
$ SERVICEEXECUTIONTIME $ | 一个(浮点数)数字,表示执行服务检查所需的秒数(即检查执行的时间)。 |
$ SERVICEDURATION $ | 一个字符串,指示服务在其当前状态所花费的时间。格式为“ XXh YYm ZZs”,表示小时,分钟和秒。 |
$ SERVICEDURATIONSEC $ | 一个数字,指示服务在其当前状态下花费的秒数。 |
$ SERVICEDOWNTIME $ | 一个数字,指示服务的当前“停机时间深度”。如果此服务当前处于计划的停机时间,则该值将大于零。如果该服务当前不在停机时间,则该值为零。 |
$ SERVICEPERCENTCHANGE $ | 一个(浮点数)数字,表示服务已经历的状态变化百分比。襟翼检测算法使用状态变化百分比。 |
$ SERVICEGROUPNAME $ | 该服务所属的服务组的简称。此值来自服务组定义中的servicegroup_name指令。如果该服务属于多个服务组,则此宏将仅包含其中一个的名称。 |
$ SERVICEGROUPNAMES $ | 以逗号分隔的列表,列出了该服务所属的所有服务组的简称。 |
$ SERVICEINFOURL $ | 从website_url主配置选项派生的服务信息页面的URL。版本:4.3.3+ |
$ LASTSERVICECHECK $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示最后一次执行服务检查的时间。 |
$ LASTSERVICESTATECHANGE $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示服务上次更改状态的时间。 |
$ LASTSERVICEOK $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示最后一次检测到该服务处于OK状态的时间。 |
$ LASTSERVICEWARNING $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示最后一次检测到该服务处于WARNING状态的时间。 |
$ LASTSERVICEUNKNWN $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示上次检测到服务处于UNKNOWN状态的时间。 |
$ LASTSERVICECRITICAL $ | 这是time_t格式的时间戳(自UNIX时代以来的秒数),指示上次检测到服务处于CRITICAL状态的时间。 |
$ SERVICEOUTPUT $ | 上次服务检查(即“ Ping OK”)输出的第一行文本。 |
$ LONGSERVICEOUTPUT $ | 上次服务检查的全文输出(第一行除外)。 |
$ SERVICEPERFDATA $ | 该宏包含上次服务检查可能返回的任何性能数据。 |
$ SERVICECHECKCOMMAND $ | 该宏包含用于执行服务检查的命令名称(以及传递给它的所有参数)。 |
$ SERVICEACKAUTHOR $ 8 | 一个字符串,其中包含确认服务问题的用户的名称。该宏仅在$ NOTIFICATIONTYPE $宏设置为“ ACKNOWLEDGEMENT”的通知中有效。 |
$ SERVICEACKAUTHORNAME $ 8 | 一个字符串,其中包含确认服务问题的联系人的简称(如果适用)。该宏仅在$ NOTIFICATIONTYPE $宏设置为“ ACKNOWLEDGEMENT”的通知中有效。 |
$ SERVICEACKAUTHORALIAS $ 8 | 一个字符串,其中包含确认服务问题的联系人的别名(如果适用)。该宏仅在$ NOTIFICATIONTYPE $宏设置为“ ACKNOWLEDGEMENT”的通知中有效。 |
$ SERVICEACKCOMMENT $ 8 | 包含确认服务问题的用户输入的确认注释的字符串。该宏仅在$ NOTIFICATIONTYPE $宏设置为“ ACKNOWLEDGEMENT”的通知中有效。 |
$ SERVICEACTIONURL $ | 服务的操作URL。该宏可能包含其他宏(例如$ HOSTNAME $或$ SERVICEDESC $),当您要将服务名称传递给网页时,这些宏可能很有用。 |
$ SERVICENOTESURL $ | 服务的注释URL。该宏可能包含其他宏(例如$ HOSTNAME $或$ SERVICEDESC $),当您要将服务名称传递给网页时,这些宏可能很有用。 |
$ SERVICENOTES $ | 服务说明。此宏可能包含其他宏(例如,$ HOSTNAME $或$ SERVICESTATE $),当您想在描述中提供特定于服务的状态信息时,这些宏可能很有用。 |
$ SERVICEIMPORTANCE $ | 服务的重要性值。 |
服务组宏:6 | |
$ SERVICEGROUPALIAS $ 6 | 长名称/别名的以下两者之一:1)作为按需宏参数传递的服务组名称,或2)与当前服务关联的主要服务组(如果未在按需宏的上下文中使用)。此值取自servicegroup定义中的alias指令。 |
$ SERVICEGROUPMEMBERS $ 6 | 属于以下各项的所有服务的逗号分隔列表:1)作为按需宏参数传递的服务组名称,或2)与当前服务关联的主要服务组(如果未在按需宏的上下文中使用) 。 |
$ SERVICEGROUPTES $ 6 | 与以下各项相关的注释:1)作为按需宏参数传递的服务组名称,或2)与当前服务相关联的主要服务组(如果未在按需宏的上下文中使用)。此值来自servicegroup定义中的notes指令。 |
$ SERVICEGROUPNOTESURL $ 6 | 与以下各项关联的注释URL:1)作为按需宏参数传递的服务组名称,或2)与当前服务关联的主要服务组(如果未在按需宏的上下文中使用)。此值来自servicegroup定义中的notes_url指令。 |
$ SERVICEGROUPTES $ 6 | 与以下操作相关联的操作URL:1)作为按需宏参数传递的服务组名称,或2)与当前服务相关联的主要服务组(如果未在按需宏的上下文中使用)。此值来自服务组定义中的action_url指令。 |
主机和服务宏: | |
$ HOSTANDSERVICESIMPORTANCE $ | 主机的重要性值加上所有主机服务的重要性值。 |
联系人宏: | |
$ CONTACTNAME $ | 主机或服务问题得到通知的联系人(即“ jdoe”)的简称。此值来自联系人定义中的contact_name指令。 |
$ CONTACTALIAS $ | 通知联系人(即“ John Doe”)的全名/描述。该值取自联系人定义中的alias伪指令。 |
$ CONTACTEMAIL $ | 通知联系人的电子邮件地址。此值来自联系人定义中的email指令。 |
$ CONTACTPAGER $ | 被通知的联系人的寻呼机号码/地址。此值取自联系人定义中的pager指令。 |
$ CONTACTADDRESSn $ | 被通知的联系人的地址。每个联系人可以有六个不同的地址(除了电子邮件地址和传呼机号码)。这些地址的宏是$ CONTACTADDRESS1 $-$ CONTACTADDRESS6 $。此值取自联系人定义中的addressx指令。 |
$ CONTACTGROUPNAME $ | 该联系人所属的联系人组的简称。该值取自contactgroup定义中的contactgroup_name指令。如果该联系人属于多个联系人组,则此宏将仅包含其中一个的名称。 |
$ CONTACTGROUPNAMES $ | 以逗号分隔的列表,列出了该联系人所属的所有联系人组的简称。 |
联系人组宏:5 | |
$联系方式$ 7 | 长名称/别名的以下两者之一:1)作为按需宏参数传递的联系人组名称,或2)与当前联系人相关联的主要联系人组(如果未在按需宏的上下文中使用)。该值取自contactgroup定义中的alias指令。 |
$联系人小组成员$ 7 | 以逗号分隔的所有联系人列表,这些联系人属于:1)作为按需宏参数传递的联系人组名称,或2)与当前联系人关联的主要联系人组(如果未在按需宏的上下文中使用) 。 |
摘要宏: | |
$ TOTALHOSTSUP $ | 此宏反映当前处于UP状态的主机总数。 |
$ TOTALHOSTSDOWN $ | 该宏反映当前处于DOWN状态的主机总数。 |
$ TOHOSTSUNREACHABLE $ | 该宏反映了当前处于UNREACHABLE状态的主机总数。 |
$ TOHOSTSDOWNUNHANDLED $ | 该宏反映当前未处于“处理”状态的处于DOWN状态的主机总数。未处理的主机问题是未确认的主机问题,当前不在计划的停机时间以及当前启用检查的主机问题。 |
$ TOHOSTSUNREACHABLEUNHANDLED $ | 该宏反映当前未处于“处理”状态的处于UNREACHABLE状态的主机总数。未处理的主机问题是未确认的主机问题,当前不在计划的停机时间以及当前启用检查的主机问题。 |
$ TOTALHOST问题$ | 该宏反映了当前处于DOWN或UNREACHABLE状态的主机总数。 |
$ TOHOST问题无法解决$ | 此宏反映当前未处于“处理”状态的处于DOWN或UNREACHABLE状态的主机总数。未处理的主机问题是未确认的主机问题,当前不在计划的停机时间以及当前启用检查的主机问题。 |
$ TOTALSERVICESOK $ | 此宏反映当前处于OK状态的服务总数。 |
$ TOTALSERVICESWARNING $ | 该宏反映当前处于“警告”状态的服务总数。 |
$ TOTALSERVICESCRITICAL $ | 该宏反映当前处于“关键”状态的服务总数。 |
$ TOTALSERVICESUNKNOWN $ | 该宏反映了当前处于未知状态的服务总数。 |
$ TOTALSERVICESWARNINGUNHANDLED $ | 此宏反映当前处于“警告”状态且当前未被“处理”的服务总数。未处理的服务问题是未确认的问题,当前不在计划的停机时间以及当前启用检查的问题。 |
$ TOTALSERVICESCRITICALUNHANDLED $ | 此宏反映当前处于“关键”状态且当前未被“处理”的服务总数。未处理的服务问题是未确认的问题,当前不在计划的停机时间以及当前启用检查的问题。 |
$ TOTALSERVICESUNKNOWNUNHLED $ | 此宏反映当前处于“未知”状态且当前未被“处理”的服务总数。未处理的服务问题是未确认的问题,当前不在计划的停机时间以及当前启用检查的问题。 |
$ TOTALSERVICEPROMSMS $ | 此宏反映当前处于“警告”,“严重”或“未知”状态的服务总数。 |
$ TOTALSERVICE问题未解决$ | 此宏反映当前处于“警告”,“严重”或“未知”状态且当前未“处理”的服务总数。未处理的服务问题是未确认的问题,当前不在计划的停机时间以及当前启用检查的问题。 |
通知宏: | |
$ NOTIFICATIONTYPE $ | 一个字符串,用于标识正在发送的通知的类型(“问题”,“恢复”,“确认”,“ FLAPPINGSTART”,“ FLAPPINGSTOP”,“ FLAPPINGDISABLED”,“ DOWNTIMESTART”,“ DOWNTIMEEND”或“ DOWNTIMECANCELLED”)。 |
$ NOTIFICATIONRECIPIENTS $ | 以逗号分隔的列表,其中列出了有关主机或服务的所有联系人的短名称。 |
$ NOTIFICATIONATIONSCALATED $ | 一个整数,指示是否将其发送给主机或服务的常规联系人,或者是否已升级。0 =正常(非升级)通知,1 =升级通知。 |
$ NOTIFICATIONAUTHOR $ | 一个字符串,其中包含编写通知的用户的名称。如果$ NOTIFICATIONTYPE $宏设置为“ DOWNTIMESTART”或“ DOWNTIMEEND”,则这将是为主机或服务安排停机时间的用户的名称。如果$ NOTIFICATIONTYPE $宏为“ ACKNOWLEDGEMENT”,则这是确认主机或服务问题的用户的名称。如果$ NOTIFICATIONTYPE $宏为“ CUSTOM”,则这将是启动自定义主机或服务通知的用户的名称。 |
$ NOTIFICATIONAUTHORNAME $ | 一个字符串,其中包含$ NOTIFICATIONAUTHOR $宏中指定的联系人的简称(如果适用)。 |
$ NOTIFICATIONAUTHORALIAS $ | 一个字符串,包含在$ NOTIFICATIONAUTHOR $宏中指定的联系人的别名(如果适用)。 |
$ NOTIFICATIONCOMMENT $ | 包含通知作者输入的注释的字符串。如果$ NOTIFICATIONTYPE $宏设置为“ DOWNTIMESTART”或“ DOWNTIMEEND”,则这是为主机或服务安排停机时间的用户输入的注释。如果$ NOTIFICATIONTYPE $宏为“ ACKNOWLEDGEMENT”,则这是确认主机或服务问题的用户输入的注释。如果$ NOTIFICATIONTYPE $宏为“ CUSTOM”,则将由初始化自定义主机或服务通知的用户输入注释。 |
$ HOSTNOTIFICATIONATION $$ | 主机的当前通知号。每次向主机发出新通知时,通知号将增加一(1)(确认除外)。通知次数重置为0时,主机恢复正常后(后恢复通知熄灭)。确认不会导致通知数量增加,也不会导致襟翼检测或计划的停机时间的通知。 |
$ HOSTNOTIFICATIONID $ | 标识主机通知的唯一编号。通知ID编号在主机和服务通知之间都是唯一的,因此您可能会将此唯一编号用作通知数据库中的主键。只要您启用状态保留,通知ID号在Nagios流程的重新启动期间应保持唯一。每次发出新的主机通知时,无论通知了多少联系人,通知ID号都会增加一(1)。 |
$ HOSTNOTIFICATIONATIONEN $ | 标识主机对象是否启用了通知的“是”或“否”值。版本:4.4.0+ |
$ HOSTNOTIFICATIONATIONPER $ | 返回主机对象的notification_period指令。版本:4.4.0+ |
$ SERVICENOTIFICATIONNUMBER $ | 服务的当前通知号。每次为服务发送新通知时,通知号将增加一(1)(确认除外)。通知次数重置为0时,该服务恢复正常后(后恢复通知熄灭)。确认不会导致通知数量增加,也不会导致襟翼检测或计划的停机时间的通知。 |
$ SERVICENOTIFICATIONID $ | 标识服务通知的唯一编号。通知ID编号在主机和服务通知之间都是唯一的,因此您可能会将此唯一编号用作通知数据库中的主键。只要您启用状态保留,通知ID号在Nagios流程的重新启动期间应保持唯一。每次发出新的服务通知时,无论通知了多少联系人,通知ID号都会增加一(1)。 |
$ SERVICENOTIFICATIONATIONEN $ | 标识服务对象是否已启用通知的“是”或“否”值。版本:4.4.0+ |
$ SERVICENOTIFICATIONATIONPER $ | 返回服务对象的notification_period指令。版本:4.4.0+ |
日期/时间宏: | |
$ LONGDATETIME $ | 当前日期/时间戳(即2000年10月13日星期五00:30:28 CDT)。日期格式由date_format指令确定。 |
$ SHORTDATETIME $ | 当前日期/时间戳(即10-13-2000 00:30:28)。日期格式由date_format指令确定。 |
$ DATE $ | 日期戳(即10-13-2000)。日期格式由date_format指令确定。 |
$ TIME $ | 当前时间戳(即00:30:28)。 |
$ TIMET $ | 当前时间戳为time_t格式(自UNIX时代以来的秒数)。 |
$ ISVALIDTIME:$ 9 | 这是一个特殊的按需宏,它根据特定时间在指定时间内是否有效返回1或0。有两种使用此宏的方法:如果当前时间在“ 24×7”时间内有效,则$ ISVALIDTIME:24×7 $将被设置为“ 1”。如果不是,它将被设置为“ 0”。$ ISVALIDTIME:24×7:如果“ timestamp”参数指定的时间(必须为time_t格式)在“ 24×7”时间段内有效,则时间戳记$将设置为“ 1”。如果不是,它将被设置为“ 0”。 |
$ NEXTVALIDTIME:$ 9 | 这是一个特殊的按需宏,它按指定时间段返回下一个有效时间(采用time_t格式)。有两种使用此宏的方法:$ NEXTVALIDTIME:24×7 $将在“ 24×7”时间段内返回下一个有效时间-从当前时间开始,包括当前时间。$ NEXTVALIDTIME:24×7:timestamp $将以“ 24×7” timeperiod返回下一个有效时间-从“ timestamp”参数指定的时间(包括该时间,必须以time_t格式指定)。如果在指定的时间段内找不到下一个有效时间,则宏将设置为“ 0”。 |
文件宏: | |
$ MAINCONFIGFILE $ | 主配置文件的位置。 |
$ STATUSDATAFILE $ | 状态数据文件的位置。 |
$ COMMENTDATAFILE $ | 注释数据文件的位置。 |
$ DOWNTIMEDATAFILE $ | 停机数据文件的位置。 |
$ RETENTIONDATAFILE $ | 保留数据文件的位置。 |
$ OBJECTCACHEFILE $ | 对象高速缓存文件的位置。 |
$ TEMPFILE $ | 临时文件的位置。 |
$ TEMPPATH $ | 临时路径变量指定的目录。 |
$ LOGFILE $ | 日志文件的位置。 |
$ RESOURCEFILE $ | 资源文件的位置。 |
$ COMMANDFILE $ | 命令文件的位置。 |
$ HOSTPERFDATAFILE $ | 主机性能数据文件的位置(如果已定义)。 |
$ SERVICEPERFDATAFILE $ | 服务性能数据文件的位置(如果已定义)。 |
其他宏: | |
$ PROCESSSTARTTIME $ | time_t格式的时间戳(自UNIX时代以来的秒数),指示Nagios进程的上一次(重新)启动时间。您可以通过从$ TIMET $中减去$ PROCESSSTARTTIME $来确定Nagios已运行的秒数(自上次重新启动以来)。 |
$ EVENTSTARTTIME $ | time_t格式的时间戳(自UNIX时代以来的秒数),指示Nagios处理何时开始处理事件(检查等)。您可以通过从$ EVENTSTARTTIME $中减去$ PROCESSSTARTTIME $来确定Nagios启动所用的秒数。 |
$ ADMINEMAIL $ | 全局管理电子邮件地址。该值来自admin_email指令。 |
$ ADMINPAGER $ | 全局管理寻呼机号码/地址。该值取自admin_pager指令。 |
$ CHECKSOURCE $ | 主机或服务检查的源工作者。 |
$ ARGn $ | 传递给命令的第n个参数(通知,事件处理程序,服务检查等)。Nagios最多支持32个参数宏($ ARG1 $至$ ARG32 $)。 |
$ USERn $ | 用户定义的第n个宏。可以在一个或多个资源文件中定义用户宏。Nagios支持多达256个用户宏($ USER1 $到$ USER256 $)。 |
笔记
1当检查该主机时,这些宏对于与其关联的主机无效(即,它们没有意义,因为尚未确定)。
2当检查该服务时,这些宏对于与它们关联的服务无效(即,它们没有意义,因为尚未确定)。
3在与服务相关的命令(例如,服务通知,事件处理程序等)中使用主机宏时,它们指的是与服务相关联的主机。
4在通知命令中使用主机和服务摘要宏时,将对总计进行过滤,以仅反映获得联系授权的主机和服务(即,它们配置为接收通知的主机和服务)。
5这些宏通常与与当前主机关联的第一/主主机组关联。因此,在许多情况下,它们可以被视为主机宏。但是,这些宏不能用作按需主机宏。相反,当您将主机组的名称传递给宏时,它们可以用作按需主机组宏。例如:$ HOSTGROUPMEMBERS:hg1 $将返回主机组hg1的所有(主机)成员的逗号分隔列表。
6这些宏通常与与当前服务关联的第一/主要服务组关联。因此,在许多情况下,它们可以被视为服务宏。但是,这些宏不能作为按需服务宏使用。相反,当您将服务组的名称传递给宏时,它们可以用作按需服务组宏。例如:$ SERVICEGROUPMEMBERS:sg1 $将返回服务组sg1的所有(服务)成员的逗号分隔列表。
7这些宏通常与与当前联系人关联的第一个/主要联系人组关联。因此,在许多情况下,可以将它们视为联系人宏。但是,这些宏不能用作按需联系人宏。而是,当您将联系人组的名称传递给宏时,它们可以用作按需联系人组宏。例如:$ CONTACTGROUPMEMBERS:cg1 $将返回逗号分隔的联系人组cg1的所有(联系人)成员的列表。
8不赞成使用这些确认宏。改用更通用的$ NOTIFICATIONAUTHOR $,$ NOTIFICATIONAUTHORNAME $,$ NOTIFICATIONAUTHORALIAS $或$ NOTIFICATIONCOMMENT $宏。
9这些宏仅作为按需宏可用-例如,必须使用它们提供附加参数才能使用它们。这些宏不能用作环境变量。
如果启用了use_large_installation_tweaks选项,则10个摘要宏不能用作环境变量,因为它们的计算量很大。