第十三章 使用系统监视器 - 系统监视器

2022-12-14  本文已影响0人  Cache技术分享

第十三章 使用系统监视器 - 系统监视器

System Monitor 是一种灵活的、用户可扩展的实用程序,用于监控 数据平台实例,并在一个或多个指标的值表明存在潜在问题时生成通知。如所提供的,System Monitor 包含以下实例监控工具:

默认情况下,这三个工具都在 %SYS 命名空间中运行。 System MonitorApplication Monitor 可以选择在特定于命名空间的配置和设置下的其他命名空间中运行。可以定义和配置自己的组件,以根据需要在每个命名空间中扩展系统监视器的功能。

系统监视器

System Monitor 对重要的系统状态和资源使用指标进行采样,例如 ECP 连接状态和使用中的锁表百分比,并根据固定状态和阈值生成通知——警报、警告和“状态正常”消息。这些通知被写入消息日志,允许 Log Monitor 从它们生成电子邮件消息(如果配置为这样做)。System Monitor 还维护单一的整体系统健康状态。

系统监视器使用 ^%SYSMONMGR 实用程序进行管理。

本节的其余部分讨论以下主题:

系统监控进程

在配置为在其中运行的每个命名空间中,System Monitor 使用三种类型的类(或 System Monitor 组件)分三个阶段收集和传递系统指标信息。传感器类收集信息,订阅者类评估信息以形成通知,通知器类将通知发布到适当的警报系统。下面更深入地描述了该序列:

  1. 获取指标信息

传感器类包含用于获取系统或应用程序指标值的方法。例如,系统传感器类 SYS.Monitor.SystemSensors 包括 GetProcessCount() 方法和 GetLockTable() 方法,前者返回 实例的活动进程数,后者返回实例锁表的百分比正在使用。

在固定的时间间隔内,系统监视器调用每个已配置传感器类的 GetSensors() 方法。传感器类可以执行以下操作之一:

系统监视器 SYS.Monitor.SystemSensors 提供的传感器类之一返回名称/值数组。另一个 %SYS.Monitor.AppMonSensor 执行自己的计算并生成自己的通知。

  1. 计算指标信息

订阅者类包含用于计算传感器值和生成通知的方法。在调用每个返回名称/值数组的传感器类之后,系统监视器调用每个订阅者类的 Receive() 方法,用数组填充 SensorReading 属性。对于提供给其 Receive() 方法的每个传感器名称/值对,订阅者类评估该值,并在适当时返回包含文本和严重性代码的通知。

例如,当系统监视器将从 SYS.Monitor.SystemSensors.GetSensors() 返回的名称/值数组传递给订阅者类时:

  1. 生成通知

通知程序类包含将通知传递给一个或多个警报系统的方法。在调用每个传感器类和订阅者类之后,系统监视器调用每个通知程序类的 Post() 方法,用传感器或订阅者类返回的通知填充 Notifications 属性。通知器类然后将每个通知传递给所需的警报方法;例如,当系统通知程序收到系统订阅者为 LockTablePercentFull 和健康监视器订阅者为 ProcessCount 返回的通知时,它会将严重性代码和文本写入消息日志。这种方法允许将通知传递给独立的警报系统,例如互操作性生产警报处理器和 TrakCare 中的处理器,以及用户定义的警报系统。

System Monitor 在实例启动时自动启动,并开始在每个已配置的启动命名空间中调用已配置的传感器类,将传感器值传递给已配置的订阅者类,并将通知依次传递给已配置的通知程序类。可以在每个命名空间的基础上定义和配置自己的系统监视器传感器、订阅者和通知程序类。请参阅本章默认系统监视器组件部分中的默认类。

注意:在紧急情况下,系统监视器可能需要关闭。类方法 %SYS.Monitor.Enabled([flag]) 设置、清除和报告系统监视器的状态。如果标志为 0,系统监视器将不会启动。

上一篇下一篇

猜你喜欢

热点阅读