假设您希望运行以下 SQL insert 语句作为 Teradata 系统 TEST1 的预警操作。
此示例仅适用于核心时间。
INSERT INTO admin.sessionHist (TheTime, UserName, SessionCount) VALUES (CURRENT_TIMESTAMP, ${userName}, ${sessionsForUser})
当 TEST1 系统上任何用户的会话计数超过十个时,将执行此 insert 操作。
请注意前面的 insert 语句中的 ${userName} 和 ${sessionsForUser} 预警属性。当您使用 SQL 查询传递类型配置预警操作来运行 SQL 语句时,文本中可以包含预警属性,这些属性将被替换为运行时值。有关可用于 Teradata Viewpoint 预警类型的预警属性的说明,请参见 Teradata Database 预警指标和属性。
在此示例中,假定已在 TEST1 上创建了目标表 (admin.sessionHist)。例如:
CREATE TABLE admin.sessionHist (TheTime TIMESTAMP NOT NULL, UserName VARCHAR(256) NOT NULL, SessionCount INTEGER NOT NULL)
要将 SQL 语句配置为 Teradata 系统的预警操作,请执行以下步骤。
- 在预警设置组件中,配置 TEST1 的登录凭据。
- 在设置选项列表中,选择Delivery Settings (传递设置)。
- 在身份验证列表中,选择TERADATA 登录。
- 选择TERADATA 登录旁边的
。
- 在 TDPID 框中,键入 TEST1 系统的 TDPID。
- 选中启用登录复选框。
- 输入登录名称和密码。
- 在会话字符集列表中,选择UTF8。
- [可选] 从测试 TERADATA 登录列表中,选择 JDBC。
- [可选] 选择测试验证登录设置是否正确。
- 单击Apply (应用)。
- 在预警设置组件中,配置 TEST1 的 SQL 查询。
- 在设置选项列表中,选择Delivery Settings (传递设置)。
- 在传递类型列表中,选择SQL Queries (SQL 查询)。
- 选择SQL 查询旁边的
- 在NAME中,键入 insertSessionHistory。
- 选中启用复选框。
- 在 SQL 中,键入:
INSERT INTO admin.sessionHist (TheTime, UserName, SessionCount) VALUES (CURRENT_TIMESTAMP, ${userName}, ${sessionsForUser})
- 单击Apply (应用)。
- 在预警设置组件中,创建操作集。
- 在设置选项列表中,选择Alert Presets (预警预设)。
- 在预设选项列表中,选择Action Sets (操作集)。
- 选择操作集旁边的
。
- 在操作集名称中,键入 runSessionCount。
- 在时间列表中,选中核心复选框,然后清除夜间和周末复选框。
- 在操作下,确保选中Include in Alert Viewer (包括在预警查看器中)复选框。缺省情况下会选中此选项,以便您查看在Alert Viewer (预警查看器)组件中为此操作设置的预警。
- 在操作列表中,选中SQL复选框。
- 从查询列表中,选择 insertSessionHistory。
- 在TDPID列表中,选择TEST1。
- 单击Apply (应用)。
- 在用于 Teradata Viewpoint 监控的 受监控系统组件中,配置 TEST1。
- 选择系统旁边的
,然后选择Add Teradata System (添加 Teradata 系统)。
- 在系统别名中,键入 TEST1。
- 选中Enable system (启用系统)复选框以激活要监控的 TEST1 系统。
- 在 TDPID 框中,键入 TEST1 系统的 TDPID。
- 输入登录名称和密码。
- 单击Apply (应用)。
- 选择系统旁边的
- 在 受监控系统组件中,配置数据收集器。
- 在系统列表中,选择TEST1。
- 在设置列表中,选择Data Collectors (数据收集器)。
- 在数据收集器列表中,选择会话。
- 选中启用会话收集器复选框并保留缺省设置。
- 单击Apply (应用)。
- 在受监控系统组件中,定义预警规则。
- 在系统列表中,选择TEST1。
- 在设置列表中,选择Alerts (预警)。
- 在预警类型列表中,选择会话。
- 单击预警旁边的
。
- 在预警名称中,键入 userSessionCountAlert。
- 选中已启用预警复选框。
- 在严重程度列表中,选择高。
- 在个匹配项列表中,选择全部。
- 在列表中,选择每用户会话数和大于。
- 在列表之后的空框中,键入阈值数字 10。
- 在操作列表中,选择runSessionCount。
- 单击Apply (应用)。
- 如果 TEST1 上的任何用户都没有超过十个会话,则可以为某个 Teradata 用户创建在打开 11 个会话时要触发的预警条件。例如,使用 BTEQ:
.set sessions 11 .logon TEST1/myUser,myPassword
- 在 TEST1 系统中,查看 sessionHist 表。使用 BTEQ 或 SQL 便笺等查询工具来查询该表。例如:
select * from admin.sessionHist order by TheTime
您可能需要等待几分钟时间才能触发预警,具体取决于监控 TEST1 速率的 Teradata 会话。 - 在Alert Viewer (预警查看器)组件中,查看触发的操作。