上一主题: 语法(事件编写器规则)下一主题: CA SDM Log (stdlog.0) Syntax


参数(事件编写器规则)
event_ID

指定要应用事件编写器规则的事件标识符。 您可以使用 UNIX 正则表达式。 句点或星号 (.*) 匹配任何事件名称。 例如,您可以指定 [Aa].* 匹配任何以大写字母或小写字母“a”开头的事件。

如果 event_ ID 参数为简单文本(而非正则表达式),则它必须与通用事件的事件 ID 匹配。 部分匹配不包括在内。 如果 event_ID 为正则表达式,则使用正则表达式长度匹配来确定事件编写器规则的 event_ID 与通用事件的事件 ID 匹配情况。

device

指定对象名称,通常为设备或是与事件关联的主机。 句点及星号 (*) 为默认值,表示在选择规则时忽略源对象。

如果在评估源类型和事件 ID 时,引入事件与多条规则匹配,则比较设备。 与引入事件的设备匹配的规则优先于将设备指定为星号 (*) 的规则。

如果您已为分配设备名称定义了规则,则此参数可能有用。 例如,如果您要为位于美国 USxx 的设备命名,可在此参数中指定 US.*,为来自美国的设备的事件执行特定编写器操作。

user_ID

标识与事件相关的用户。 使用此参数为源自特定用户的事件执行特定操作。 许多事件没有与其关联的特定用户。 此参数不可以包含 UNIX 正则表达式。 您必须提供确切的用户 ID 或星号。 星号 (*) 为默认值,表示在选择规则时,用户将被忽略。

如果在比较源类型、事件 ID 及设备时,引入事件与多条规则匹配,则比较用户 ID。 与事件的用户 ID 相关的规则优先于将 user_ID 指定为星号 (*) 的规则。

majorSrc

自动显示将事件定向至事件编写器的源的主要类型。 此参数是必需的。 其值由事件源确定。 在 Windows 上,对于源自 CA NSM 的事件,该值必须为“tng”。在 UNIX 上,对于源自 CA NSM 的事件,该值必须为“uni”。

minorSrc

自动显示将事件定向至事件编写器的次要源类型。 对源自 CA NSM 的事件,此参数包含了事件类型。 使用星号 (*) 接受全部事件。

操作

使用以下值指定当事件编写器接收到此类型事件时发生的操作:

CR_CREATE

为各个事件编写新请求。

CR_UPDATE

更新现有请求(如果有),或创建请求(如果未找到请求)。 默认情况下,可通过匹配 log_agent affected_resource 属性查找记录。 用户可指定任意一列请求属性,改写默认值。

CR_UPDATE_ONLY

类似于 CR_UPDATE,但是未找到匹配请求时不会创建请求。

COMMAND

执行在 command 参数中指定的命令。

注意:如果 CA SDM 无法访问请求或变更单,则将在固定时间间隔后再次尝试更新。

模板

指定用于创建请求的请求模板的名称。 如果操作不是 CR_CREATE,则不要求此参数并将被忽略。

注意:必须在定义规则之前创建请求模板。

命令

action 参数的值为 COMMAND 时,指定要执行的命令。 替换自变量可并入命令,如下表所示。 在执行命令时,此自变量将由其实时值替换:

&node

设备名称或节点标识符

&user

用户名称或 ID

&date

事件日期

&time

事件时间

&event-id

触发事件的源事件字符串

&data

相关的事件数据

&sev

事件重要性的尺度

&major-src

源应用程序 ID

&minor-src

事件的代理名称或深入描述

&handle

由规则产生的支持后台进程的字符串

&src-handle

分配句柄的后台进程标识符

&status-handle

句柄的状态(有效值为:创建、更新或终止)

记录

使用下列值指定是否发生记录:

除了正常的错误记录,不发生记录。 NONE 为默认值。

PDM

记录发生在 CA SDM 日志 (stdlog.0) 中,采用内部通用事件格式。

SYS

记录发生在 UNIX 系统日志文件中,此文件可被转至 Unicenter Console 中。 为此事件分配了消息 ID (CAPD ....13),以允许从 Unicenter Console 进行事件处理。

BOTH

记录发生在 CA SDM 日志 (stdlog.0) 及 UNIX 系统日志文件中。

event_token

这是含有 30 个字符的用户定义标记,可用于标识与某一 event_id(tng 事件消息)或类似于 event_id 的所有消息(例如,使用通配符的 event_id)关联的特定请求。 event_token 是请求属性,存储在由 CA NSM 界面生成的每个请求中。 如果未在编写器规则中指定 event_token ,则可使用“tng_generated”字符串。 它可以允许用户更新与 event_token 属性匹配的所有请求。 例如,同一资产的两条不同消息可以更新同一请求。

每个 CR_UPDATE 编写器规则指定唯一的消息部分和唯一的 event_tokenevent_token 可用于查找和更新匹配请求。 默认情况下,含有消息的活动日志将被添加至匹配请求中。 又如,用户可以通过在创建请求的 CR_UPDATE 编写器规则中指定相同的 event_token,更新现有请求中的状态属性(如设置 status=CL(已关闭))。

例如,不管何时接收到标识为‘Event1’字符串的 NSM 事件,下面的第一个编写器规则将促使编写器进程 (tngwriter) 创建 event_token 等于‘SystemCritical’的呼叫请求。 第二个编写器规则不管何时接收到标识为‘Event2’字符串的 NSM 事件,都会促使编写器进程将所有 event_token 等于‘SystemCritical’的呼叫请求的状态值更新为‘CL’。

Event1:::.*:::*:::tng:::*:::CR_CREATE:::::::::NONE:::SystemCritical:::
Event2:::.*:::*:::tng:::*:::CR_UPDATE:::::::::NONE:::SystemCritical:::%SEARCH=EVENT_TOKEN;%STATUS=CL
user_parms

包含以下类型的信息:

请求属性值

请求属性值使用以下句法指定:%ATTRIBUTE=value,其中 ATTRIBUTE 是在 text_api.cfg 中标识的映射到 CA SDM Majic 呼叫请求属性的属性名。 此文件位于 $NX_ROOT/site (UNIX) 或 installation‑directory\site (Windows) 中。

注意:如果您使用了多个关键字/值对,请使用分号 (;) 进行分隔。

例如,只要收到以字符串“Event4”标识的 CA NSM 事件,以下编写器规就会使编写器进程 (tngwriter) 创建受理人等于“mccda04”且客户等于“nsm”的呼叫请求。

     Event4:::.*:::*:::tng:::*:::CR_CREATE:::::::::NONE::::::%ASSIGNEE=mccda04;CUSTOMER=nsm
在更新现有请求记录时匹配的请求属性列

需要匹配的属性列表的语法如下:

%SEARCH=attribute1[, attribute2…],其中 SEARCH 是一个固定的关键字,而 attribute1、attribute2(依此类推)是在 text_api.cfg 中指定的 ATTRIBUTE 名称。

默认的属性搜索列表为“asset_name”(DEVICE 或 UUID)和 LOG_AGENT。 SEARCH 关键字可以向默认搜索列表添加(用于匹配的)属性。 SEARCH_EXPLICIT 关键字可完全改写默认搜索列表。 只有符合 SEARCH_EXPLICIT 关键字的属性列表才可用于搜索呼叫请求。

例如,只要收到以字符串“Event2”标识的 CA NSM 事件,以下编写器规则都会使编写器进程 (tngwriter) 将受理人等于“mccda04”的所有呼叫请求的状态值更新为“CL”。

     Event2:::.*:::*:::tng:::*:::CR_UPDATE:::::::::NONE:::SystemCritical:::%SEARCH=ASSIGNEE;%STATUS=CL;%ASSIGNEE=mccda04

如果属性值列表中的属性处于 SEARCH 或 SEARCH_EXPLICIT 列表中,则该属性可用于搜索。 如果属性不在搜索列表中,则可将其用于设置或更新呼叫请求中的属性值。 它不可以在同一编写器规则中应用于两者。

注意:有关 text_api.cfg 以及 CA SDM 如何使用它的详细信息,请参阅管理指南”

使用来自 CA NSM 事件结构的对应值替换的特殊参数名称

您可以在 user_parms 字符串中的任意位置使用下列特殊参数名称:

&message

与该 CA NSM 消息关联的消息文本。

&parm

CA NSM 消息操作屏幕上的“AHD.DLL Parm”字段。

&uuid

CA NSM 唯一通用标识符。

&device

生成 CA NSM 消息的设备(例如,主机名称)。

&majorsrc

将事件定向至事件编写器的源的主要类型。 在 Windows 上,对于源自 CA NSM 的事件,该值为“tng”。在 UNIX 上,对于源自 CA NSM 的事件,该值为“uni”。

&minorsrc

将事件定向至事件编写器的次要源类型。

&node

生成 CA NSM 消息的设备(例如,主机名称)。

&addr

生成 CA NSM 消息的主机的 IP 地址。

&username

生成 CA NSM 消息的主机上的用户名。

&date

整数值,表示自 1970 年生成 CA NSM 消息后至今的时间。

&time

CA NSM 消息的日期和时间(例如,Tue Jul 4 10:23:37 2000)。

&severity

CA NSM 消息的严程度。

&tag

与 CA NSM 消息关联的标记数据。

例如,不管何时接收到标识为‘Event2’字符串的 NSM 事件,下面的编写器规则都会促使编写器进程 (tngwriter) 创建用户名等于事件消息的用户名值 (&username) 的呼叫请求。

Event2:::.*:::*:::tng:::*:::CR_CREATE:::::::::NONE::::::%CUSTOMER=&Username

您可以使用 event_token user_parms 设置所有请求属性的初始值或更新值,并指定查找需要更新的记录时对应的匹配字段。 唯一的限制是现有呼叫请求记录中的描述属性从未更新。 如果记录更新或指定了描述字段,则将向现有记录添加一则包含描述文本的活动日志。

CA NSM 消息操作记录:ahd.dll AHD_Call <parms...>

您还可以为 CA NSM 消息操作记录中的 AHD_Call 指定数据 (<parms...>),该数据可用于替换编写器规则中的 user_parms 参数指定的 &Parm 参数。 为了使为 AHD_Call 指定的数据能够以此方式进行处理,数据 (<parms...>) 必须以“%”字符开头,并且必须将 &Parm 特殊参数包括在编写器规则的 user_parms 字段中。

以下是 CA NSM 消息操作和编写器规则,二者配合工作,一旦收到以字符串“Event3”标识的 NSM 事件,即会使编写器进程创建受理人设置为“mccda04”的请求。

Ahd.dll AHD_Call %ASSIGNEE=mccda04

     Event3:::.*:::*:::tng:::*:::CR_CREATE:::::::::NONE::::::&Parm

从 AHD 4.5 或更早版本升级的 CA SDM 客户可能已经使用了 <parms...> 字段。 例如,您可能使用此数据匹配编写器规则。 您可以继续使用此惯例而不进行更改。 如果希望同时使用新旧参数,则必须在“旧”的 <parms..> 数据后面串联‘%’字符,然后再接“新”数据。

示例:

ahd.dll AHD_Call old data

ahd.dll AHD_Call %new user_parms

ahd.dll AHD_Call old data%new user_parms

第一个“%”字符前的数据与 CA NSM 事件消息串联,此消息被置入“呼叫请求”说明字段中。 这就是 CA SDM 过去的工作原理。 第一个‘%’字符后的数据用于替换编写器规则的 user_parms 参数中指定的 &Parm 参数。