美文网首页
第十三章 使用系统监视器 - 系统监视器

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

作者: Cache技术分享 | 来源:发表于2022-12-14 07:51 被阅读0次

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

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

    • System Monitor 监控系统状态和资源,根据固定参数生成通知(警报和警告)并跟踪整体系统健康状况。
    • Health Monitor 对关键系统和用户定义的指标进行采样,并将它们与用户可配置的参数和建立的正常值进行比较,当样本超过适用的阈值时生成通知。
    • Application Monitor 对重要的系统指标进行采样,将值存储在本地名称空间中,并使用用户创建的警报定义对其进行评估。触发警报时,它可以生成电子邮件通知或调用指定的类方法。

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

    系统监视器

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

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

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

    系统监控进程

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

    1. 获取指标信息

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

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

    • 返回一组传感器名称/值对,由系统监视器传递给订阅者类(在第 2 阶段中描述)
    • 计算它获得的传感器值并返回通知,由系统监视器发布到通知类(在第 3 阶段中描述)

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

    1. 计算指标信息

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

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

    • 系统订阅者 SYS.Monitor.SystemSubscriber 可能会发现 LockTablePercentFull 值超过 85,这是该传感器的警告阈值,并返回包含严重性代码 1 和适当文本的通知。
    • Health Monitor 订阅者 SYS.Monitor.Health.Control 可能会根据该传感器配置的参数和建立的正常值确定 ProcessCount 值过高,并返回包含严重性代码 2 和适当文本的通知。
    1. 生成通知

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

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

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

    相关文章

      网友评论

          本文标题:第十三章 使用系统监视器 - 系统监视器

          本文链接:https://www.haomeiwen.com/subject/zvbkqdtx.html