文章 姚 鑫 · 一月 31, 2023 4m read

第六十二章 使用 SNMP 监控 IRIS

本附录描述了 IRIS 数据平台和 SNMP(简单网络管理协议)之间的接口。 SNMP 是一种通信协议,作为一种管理 TCP/IP 网络(包括单个网络设备和一般计算机设备)的方法已获得广泛接受。它的流行扩大了它作为许多企业管理工具的底层结构和协议的用途。这是它对 IRIS 的主要重要性:一种向各种管理工具提供管理和监控信息的标准方法。

SNMP 既是一种标准消息格式,也是管理对象的一组标准定义。它还提供用于添加自定义管理对象的标准结构,这是 IRIS 用来定义其管理信息以供其他应用程序使用的功能。

SNMPIRIS 结合使用

SNMP 定义了客户端-服务器关系,其中客户端(网络管理应用程序)连接到在远程网络设备或计算机系统上执行的服务器程序(称为 SNMP 代理)。客户端请求并从该代理接收信息。有四种基本类型的 SNMP 消息:

  • GET – 获取特定托管对象的数据
  • GETNEXT – 获取分层树中下一个管理对象的数据,允许系统管理员遍历设备的所有数据
  • SET——为特定的管理对象设置值
  • TRAP——被管理设备或系统发送的异步警报

SNMP MIB(管理信息库)包含管理对象的定义。每个设备都会发布一个文件,也称为其 MIB,该文件定义了它支持的标准 MIB 的哪一部分,以及托管对象的任何自定义定义。

0
0 222
文章 姚 鑫 · 一月 29, 2023 3m read

第六十章 使用 ^PERFSAMPLE 监控进程 - 预定义分析示例

预定义分析示例

以下是从过程状态维度开始的分析示例。

在此示例中,^PERFSAMPLE319994 个样本中找到了 76755 个处于可样本状态的进程样本(如果选择了忽略空闲的选项,则为非空闲):

– PERFSAMPLE for Local Process Activity. 3.89s at 11/17/2020 16:59:59
76755 events in 319994 samples [24.0 %-total] | CPULoad* 8.22
Multiple jobs included: 2191 samples per job
----------------------------'?' for help----------------------------
Process State [24.0 %-total]
GGET [8.46 %-total]
RUN [5.88 %-total]
GDEF [3.16 %-total]
GSETW [1.63 %-total]
BSETW [1.21 %-total]
GDEFW [1.18 %-total]
GGETW [0.931 %-total]
SEMW [0.685 %-total]
GSET [0.
0
0 136
文章 姚 鑫 · 一月 28, 2023 3m read

第五十九章 使用 ^PERFSAMPLE 监控进程 - 收集样本

本主题介绍 ^PERFSAMPLE 实用程序,这是一种用于分析 IRIS® 数据平台流程的工具。该实用程序处理实时系统上的活动,并呈现采样活动的易于导航的细分,这可以提供对系统的洞察力。例如,可以通过检查 ECP 请求来发现应用程序瓶颈,或者通过查看等待事件的类型来识别整个系统的瓶颈。

要开始,请从感兴趣的 IRIS 实例上的 %SYS 命名空间运行 ^PERFSAMPLE

USER>set $namespace = "%SYS"
 
%SYS>do ^PERFSAMPLE

Collecting Samples

运行^PERFSAMPLE后,立即显示以下消息:

This utility performs high frequency sampling of processes on the system,
analyzing and counting data points in different ways to understand where
processes are spending most of their time.
0
0 178
文章 姚 鑫 · 一月 27, 2023 4m read

第五十八章 使用 ^BLKCOL 监视块冲突

当一个进程被迫等待访问一个块时,就会发生块冲突。过多的块冲突会降低应用程序性能。

Using ^BLKCOL

IRIS® 数据平台中,^BLKCOL 实用程序对指定时间段(默认为 10 秒)内的块碰撞进行采样,记录这段时间内指定时间间隔(默认为 10 毫秒)内的最新块碰撞。对于每个记录的冲突,^BLKCOL 不仅标识块,还标识涉及的全局及其在块中的第一个和最后一个引用,以及创建试图访问块的进程的例程和行。

注意:irisstat -D 选项,如本指南附录“使用 irisstat 实用程序监视 IRIS”中的使用选项运行 irisstat 中所述,也对块冲突进行采样,但仅识别涉及的块。

irisstat -D 的输出包含在 ^SystemPerformance 实用程序生成的报告中,如本指南的使用 ^SystemPerformance 监控性能一章所述。

0
0 139
文章 姚 鑫 · 一月 26, 2023 3m read

第五十七章 历史监视器 - 汇总

汇总

Application Monitor 执行的 %Monitor.System.HistoryPerf%Monitor.System.HistorySys 类也在每天结束时创建每小时和每天的摘要。摘要被定义为持久类 SYS.History.HourlySYS.History.Daily;它们包括所有四个基类作为嵌入对象。

对于每个度量属性,系统可以计算每小时和全天的平均值、最大值(高水位线)、标准差、最小值、中值或总数。对于每个基类(SYS.History.PerformanceOSYS.History.WriteDaemonSYS.History.SystemUsageSYS.History .Database) 和每个汇总期间类,使用每个基类的 SetSummary() 方法。默认情况下,History Monitor 计算每小时和每日摘要的每个类的平均值、最大值和标准偏差。

注意:SYS.History.Performance 的计数器属性已标准化为这些计算的每秒速率(Total 除外)。

清除数据 创建摘要后,Application Monitor 会自动清除间隔和每小时数据库。间隔数据的默认值为七 (7) 天,每小时数据的默认值为 60 天,但可以使用 SYS.History.PerfData SYS.

0
0 155
文章 姚 鑫 · 一月 25, 2023 3m read

第五十六章 历史监视器

History Monitor 维护性能和系统使用指标的历史数据库。其主要目的是:

  • 提供性能基准并帮助分析性能问题。
  • 帮助分析一段时间内的系统使用情况以进行容量规划。

该数据库在 SYS.History 类包中定义并保存在 %SYS 命名空间中。数据库结构的所有细节都在那里发布,并且可以通过 SQL 或正常的持久对象访问访问数据。 SYS.History 中的类文档还包含对所有可用的单个属性、方法和查询的描述。

数据通常分为性能(请参阅 SYS.History.Performance)和系统使用情况(请参阅 SYS.History.SystemUsage)数据。性能指标旨在以较短的时间间隔(默认情况下为 30 秒)进行采样,系统使用数据以较长的时间间隔(默认情况下为 5 分钟)进行采样。在每天开始时,将各个时间间隔样本作为平均值、最大值、最小值、标准偏差、中值和总计汇总到每小时和每天的表格中。可以选择为每个度量类保留哪些汇总函数(如果有)。间隔和每小时数据可能会在定义的天数(默认分别为七 (7) 天和 60 天)后自动清除;每日摘要用于长期分析,可以手动清除。

基本指标

所有收集的指标都在 SYS.History 的四个 %SerialObject 类中定义。

0
0 131
文章 姚 鑫 · 一月 24, 2023 4m read

第五十五章 使用 ^mgstat 监控性能 - Seizes、ASeizes 和 NSeizes

Column Description Notes
Glorefs 全局引用(数据库访问)。指示代表当前工作负载正在发生的工作量;尽管全局引用会消耗 CPU 时间,但由于缓冲池的存在,它们并不总是需要物理读取。
RemGrefs * 远程全局引用(数据库访问)。指示代表分布式缓存集群应用程序服务器生成的全局引用数。
GRratio 全局引用与远程全局引用的比率。
PhyRds 从磁盘物理读取。大量的物理读取可能表明存在性能问题;可以通过增加数据库(全局)缓冲区的数量来提高性能。
Rdratio 逻辑块读取与物理块读取的比率,但如果物理块读取为零,则为零。
Gloupds 全局更新 (sets or kills).
RemGupds * 远程全局更新。
Rourefs 例程引用(包括标签^例程)。
RemRrefs * 远程例程引用。
RouLaS 例程加载和保存(从磁盘获取或保存到磁盘)。大量的例行加载/保存可能表明存在性能问题;可以通过增加例程缓冲区的数量来提高性能。
RemRLaS * 远程例程加载和保存。
PhyWrs 物理写入磁盘。
WDQsz 写入守护进程队列大小(以块为单位)。 不是每秒。
0
0 153
文章 姚 鑫 · 一月 23, 2023 3m read

第五十四章 使用 ^mgstat 监控性能

本章介绍 ^mgstat 实用程序,它是一种用于收集基本性能数据的工具。

注意:此实用程序可能会在不同版本之间更新。 ftp://ftp.intersys.com/pub/performance/下载 newmgstat.xml 的信息。

必须从 %SYS 命名空间调用 ^mgstat,并且可以使用以下位置参数:

Argument Description
sample time 此参数指定采样计数器的频率(以秒为单位)。如果未指定,默认值为 2 秒。
注:如果指定的采样时间大于 10 秒,^mgstat 会将其减少到 10 秒。请参阅此表中的样本参数数量。
number of samples 此参数指定要获取的最大样本数。如果未指定,则默认为 10 次迭代。
注:如果 ^mgstat 减少了采样时间,它会增加指定的样本数以确保运行的持续时间(采样时间 * 样本数)实际上与没有修改任何参数时的持续时间相同。
filename 此参数指定 ^mgstat 生成的 .mgst 文件的文件名,相对于 install-dir\mgr。如果未指定,则默认文件名为 ServerName_InstanceName_Date_Time.mgst
0
0 120
文章 姚 鑫 · 一月 22, 2023 3m read

第五十三章 使用 ^SystemPerformance 监视性能 - InterSystems IRIS Linux 平台性能数据报告

  • %SS - 使用 ALL^%SS 命令在运行过程中采集了四个样本。

  • Configuration * - 来自服务器的 IRIS 实例名称和主机名、完整的 IRIS 版本字符串、许可客户名称和许可订单号。

  • cpf file * - 当前活动配置文件的副本。

  • irisstat -c - 使用命令 irisstat cache -p-1 -c-1 -e1 -m8 -n2 -N127 在运行过程中以均匀的间隔采集四个样本。以下是对每个参数的简要说明:

    • -p-1: 对进程表进行采样以包括进程和全局状态信息。
    • -c-1: 对共享内存的计数器部分进行采样以显示日志、锁、磁盘和资源使用统计信息。
    • -e1: SYSLOG 错误表。
    • -m8: 文件表,其中包括所有 IRIS.DAT 文件及其属性。
    • -n2: 网络结构表,包括本地到远程数据库的映射。
    • -N127: 客户端和服务器连接的 ECP 统计信息。
  • irisstat -D - 使用命令 irisstat cache --f1 -D10,100 在运行过程中以均匀的间隔采集八个样本。以下是对每个参数的简要说明:

    • -fl: 基本标志。
0
0 108
文章 姚 鑫 · 一月 21, 2023 3m read

第五十二章 使用 ^SystemPerformance 监视性能 - IBM AIX® 平台的 InterSystems IRIS 性能数据报告

  • %SS - 使用 ALL^%SS 命令在运行过程中采集了四个样本。

  • AIX info * - oslevel 的输出。 uname -aprtconflspv 命令

  • Configuration * - 来自服务器的 IRIS 实例名称和主机名、完整的 IRIS 版本字符串、许可客户名称和许可订单号。

  • cpf file * - 当前活动配置文件的副本。

  • cpu type * - 有关安装的处理器以及是否启用 SMT 的信息; lsattr -El proc0 的输出。

  • irisstat -c - 使用命令 irisstat cache -p-1 -c-1 -e1 -m8 -n2 -N127 在运行过程中以均匀的间隔采集四个样本。以下是对每个参数的简要说明:

    • -p-1: 对进程表进行采样以包括进程和全局状态信息。
    • -c-1: 对共享内存的计数器部分进行采样以显示日志、锁、磁盘和资源使用统计信息。
    • -e1: SYSLOG 错误表。
    • -m8: 文件表,其中包括所有 IRIS.DAT 文件及其属性。
    • -n2: 网络结构表,包括本地到远程数据库的映射。
    • -N127: 客户端和服务器连接的 ECP 统计信息。
0
0 171
文章 姚 鑫 · 一月 20, 2023 2m read

第五十一章 使用 ^SystemPerformance 监视性能 - Apple macOS 平台的 InterSystems IRIS 性能数据报告

  • %SS - 使用 ALL^%SS 命令在运行过程中采集了四个样本。

  • Configuration * - 来自服务器的 IRIS 实例名称和主机名、完整的 IRIS 版本字符串、许可客户名称和许可订单号。

  • cpf file * - 当前活动配置文件的副本。

  • irisstat -c - 使用命令 irisstat cache -p-1 -c-1 -e1 -m8 -n2 -N127 在运行过程中以均匀的间隔采集四个样本。以下是对每个参数的简要说明:

    • -p-1: 对进程表进行采样以包括进程和全局状态信息。
    • -c-1: 对共享内存的计数器部分进行采样以显示日志、锁、磁盘和资源使用统计信息。
    • -e1: SYSLOG 错误表。
    • -m8: 文件表,其中包括所有 IRIS.DAT 文件及其属性。
    • -n2: 网络结构表,包括本地到远程数据库的映射。
    • -N127: 客户端和服务器连接的 ECP 统计信息。
  • irisstat -D - 使用命令 irisstat cache --f1 -D10,100 在运行过程中以均匀的间隔采集八个样本。以下是对每个参数的简要说明:

    • -fl: 基本标志。
0
0 138
文章 姚 鑫 · 一月 19, 2023 3m read

第五十章 使用 ^SystemPerformance 监视性能 - Microsoft Windows 平台的 InterSystems IRIS 性能数据报告

Microsoft Windows 平台的 IRIS 性能数据报告

  • %SS - 使用 ALL^%SS 命令在运行过程中采集了四个样本。

  • Configuration * - 来自服务器的 IRIS 实例名称和主机名、完整的 IRIS 版本字符串、许可客户名称和许可订单号。

  • cpf file * - 当前活动配置文件的副本。

  • irisstat -c - 使用命令 .\bin\irisstat -s -p-1 -c-1 -e1 -m8 -n2 -N127 在运行过程中以均匀间隔采集四个样本。以下是对每个参数的简要说明:

    • -p-1: 对进程表进行采样以包括进程和全局状态信息。
    • -c-1: 对共享内存的计数器部分进行采样以显示日志、锁、磁盘和资源使用统计信息。
    • -e1: SYSLOG 错误表。
    • -m8: 文件表,其中包括所有 IRIS.DAT 文件及其属性。
    • -n2: 网络结构表,包括本地到远程数据库的映射。
    • -N127: 客户端和服务器连接的 ECP 统计信息。
  • irisstat -D - 使用命令 irisstat cache --f1 -D10,100 在运行过程中以均匀的间隔采集八个样本。

0
0 129
文章 姚 鑫 · 一月 18, 2023 3m read

第四十九章 使用 ^SystemPerformance 监视性能 - 复制配置文件

复制配置文件

可以使用以下 API 命令将现有配置文件复制到具有不同名称的文件:

set rc=$$copyprofile^SystemPerformance("sourceprofilename","targetprofilename")

必须指定:

  • sourceprofilename - 现有配置文件的名称
  • targetprofilename - 要创建的配置文件的名称。这必须用双引号引起来。

如果成功,该函数返回 1。如果不成功,它返回一个 0 后跟一个 carat 和任何错误的原因。

其中 sourceprofilename 是现有配置文件的名称,targetprofilename 必须是唯一的并且不能包含空格或空白字符。

0
0 163
文章 姚 鑫 · 一月 14, 2023 3m read

第四十五章 使用 ^SystemPerformance 监视性能 - Abort ^SystemPerformance

Abort ^SystemPerformance

如果要停止正在运行的配置文件,可以中止数据收集,并可选择使用 $$Stop^SystemPerformance(runid) 命令删除配置文件的所有 .log 文件。例如,要中止由 runid20111220_1327_12hours 标识的报告的数据收集并删除到目前为止写入的所有 .log 文件,请在终端的 %SYS 命名空间中输入以下命令:

do Stop^SystemPerformance("20111220_1327_12hours")

要在不删除日志文件的情况下停止作业并从这些日志文件生成 HTML 性能报告,请输入:

do Stop^SystemPerformance("20111220_1327_12hours",0)

有关此命令的更多信息,请参阅以编程方式运行 ^SystemPerformance 小节中的 $$Stop^SystemPerformance("runid")

注意:必须有权停止jobs和删除文件。

以编程方式运行 ^SystemPerformance

0
0 134
文章 姚 鑫 · 一月 11, 2023 4m read

第四十一章 使用^%SYS.MONLBL检查例程性能 - 逐行监控报告示例

本节包含 ^%SYS.MONLBL 例程生成的各种报告的示例:

Line-by-line Detail Report

Line-by-line Summary Report

Line-by-line Delimited Output Report

Line-by-line Procedure Level Report

Line-by-line Detail Report

以下是报告所选期刊实用程序的最小指标详细信息的示例,包括覆盖率分析。报告被发送到 monlbl_JRN_dtl.txt 文件,其中显示了一部分。

Line-by-Line Monitor
 
1.) Stop Monitor
2.) Pause Monitor
3.) Clear Counters
4.) Report - Detail
5.) Report - Summary
6.) Report - Delimited (CSV) Output
7.) Report - Procedure Level
 
Enter the number of your choice: 4
Include Coverage Analysis summary (Y/N)?
0
0 115
文章 姚 鑫 · 一月 8, 2023 3m read

第三十八章 使用^%SYS.MONLBL检查例程性能

例程^%SYS.MONLBL为监视器工具提供用户界面。该实用程序提供了一种方法来诊断在例程中执行选定代码所花费的时间,从而帮助识别特别耗费资源的代码行。它是现有监视器实用程序的扩展,可通过^PerfMon%Monitor系统程序包类访问。由于这些实用程序共享相同的内存分配,因此一次只能在IRIS实例上运行其中一个实用程序。

调用逐行监视例程

如果在调用^%SYS.MONLBL时监视器没有运行,则例程会显示一条警告消息,并提供启动监视器或检查内存要求的选项。例如:


%SYS>Do ^%SYS.MONLBL
  
  
WARNING ! Starting the line-by-line monitor will enable the
  collection of statistics for *every* line of code executed by
  the selected routines and processes. This can have a significant
  impact on the performance of a system, and it is recommended
  that you do this on a 'test' system.
0
0 115
文章 姚 鑫 · 一月 7, 2023 4m read

第三十七章 使用 ^PROFILE 监控例程性能 - Using ^PROFILE

  • 当显示子例程标签列表(以及每个标签的指标)时,可以指定以下任何一项
Option Description
# 要更详细地分析的子例程标签(在代码中)的行号。按 Enter 后,将显示指定标签的代码。
B 显示列表的上一页。
L 切换到子程序的行级显示。
N 显示列表的下一页。
Q 退出列表,返回上一级。
R 使用最新指标刷新列表。注:如果列表中显示*UNKNOWN*,请输入R

当显示代码行时,系统会提示指定下一步要执行的操作。的选择包括:

Option Description
# 要更详细地分析的代码中的行号。按Enter键后,将显示指定标签的代码。
B 显示列表的上一页。
C 在源代码和中间(INT/MVI)代码之间切换代码显示。
M 更改页边距和长度。
N 显示列表的下一页。
O 根据不同的指标对页面进行重新排序。
Q 退出列表,返回到上一级别。
R 使用最新指标刷新列表。
S 切换到例程的子例程级别显示。

^PROFILE 示例

以下是在终端中以交互方式运行^配置文件实用程序(从%sys命名空间)的示例:

  1. 输入以下命令:
do ^PROFILE
  1. 此时将显示以下消息。
0
0 109
文章 姚 鑫 · 一月 6, 2023 3m read

第三十六章 使用 ^PROFILE 监控例程性能 - Using ^PROFILE

^PROFILE 实用程序可帮助程序员分析其应用程序例程和类的性能。它分两个阶段完成此任务:

  1. 它收集数据,按例程级别分类,以帮助您确定哪些例程最“有效”。
  2. 它允许选择要收集的例程并在行级别详细显示数据(子例程、过程和单独的行),以便可以“向下钻取”到可能导致性能问题的各个例程。

默认情况下,^PROFILE 捕获最多 5000 个例程的指标;如果没有足够的共享内存可用于最大数量的例程,该实用程序会显示一条消息,说明监视此集合所需的内存页数和可用页数。然后,该实用程序会捕获尽可能多的例程的指标。

Using ^PROFILE

%SYS 命名空间调用 (^PROFILE) 实用程序:

%SYS>do ^PROFILE

当系统提示开始收集数据时,按 Enter

注意:当系统提示回答(是或否除外)时,可以输入显示联机帮助。

默认情况下,配置文件显示具有以下指标的例程编号列表;最初,列表按 RtnLine 指标排序:

Column Title (Metric) Description
RtnLine 执行的例程代码行数。默认情况下,它将值列为所有已执行代码行的百分比。
Time 执行例程所用的时间。默认情况下,时间列为所有例程使用的总时间的百分比。
CPU 用于执行例程的 CPU 时间。
0
0 140
文章 姚 鑫 · 十二月 27, 2022 4m read

第二十六章 使用系统监视器 - 使用 ^%SYSMONMGR 管理应用程序监视器

如使用 ^%SYSMONMGR 实用程序中所述,^%SYSMONMGR 实用程序允许管理和配置系统监视器,包括应用程序监视器。该实用程序可以在任何名称空间中执行,使用它所做的更改只会影响启动它的名称空间。必须通过在该命名空间中启动 ^%SYSMONMGR 来为配置的每个启动命名空间维护单独的应用程序监视器配置。

注意:在对应用程序监视器配置进行任何更改(例如激活类)之后,必须在进行更改的名称空间中重新启动系统监视器以使更改生效。

要管理应用程序监视器,请在终端中输入以下命令:

%SYS>do ^%SYSMONMGR

然后为管理应用程序监视器输入 5。显示以下菜单:

1) Set Sample Interval
2) Manage Monitor Classes
3) Change Default Notification Method
4) Manage Email Options
5) Manage Alerts
6) Debug Monitor Classes
7) Exit
 
Option?

输入选择的数字或按 Enter 退出 Application Monitor实用程序。

0
0 165
文章 姚 鑫 · 十二月 26, 2022 4m read

第二十五章 使用系统监视器 - 配置健康监视器类

此子菜单中的选项可让自定义 Health Monitor,如下表所述。

注意:不能在系统监视器运行时使用这些选项来自定义健康监视器;必须先停止系统监视器,然后在进行更改后重新启动它。

Option Description
1) Activate/ Deactivate Rules (未在此版本中使用)
2) Configure Periods 列出当前配置的周期以及添加和删除周期
3) Configure Charts 列出所有现有图表的均值和西格玛,按时期组织。
详细检查各个图表,包括平均值和西格玛所基于的读数,并标出最高读数。
使用“编辑图表”选项更改现有图表的均值和西格玛。
创建图表,指定警报和警告阈值。
手动重新校准所有图表(包括用户创建的图表)或来自最新数据的单个图表。
4) Edit Sensor Objects 列出代表 SYS.Monitor.SystemSensors 类中传感器的传感器对象,并修改它们的基数、最大值、警告、最大乘数和警告乘数。
5) Reset Defaults 重置为默认周期配置并删除所有现有图表,将每个周期返回到分析模式(请参阅健康监视器进程描述)。
删除所有现有图表(包括用户创建的图表),将每个周期返回到分析模式,而不删除任何用户定义的周期配置。
将所有传感器对象重置为其默认值。
0
0 129
文章 姚 鑫 · 十二月 25, 2022 2m read

第二十四章 使用系统监视器 - 使用 ^%SYSMONMGR 管理运行状况监视器

如使用 ^%SYSMONMGR 实用程序中所述,^%SYSMONMGR 实用程序允许管理和配置系统监视器,包括运行状况监视器。要管理 Health Monitor,请在终端中切换到 %SYS 命名空间,然后输入以下命令:

%SYS>do ^%SYSMONMGR

1) Start/Stop System Monitor
2) Set System Monitor Options
3) Configure System Monitor Classes
4) View System Monitor State
5) Manage Application Monitor
6) Manage Health Monitor
7) View System Data
8) Exit 

Option? 

注意:Health Monitor 仅在 %SYS 命名空间中运行。当在另一个命名空间中启动 ^%SYSMONMGR 时,选项 6(管理健康监视器)不会出现。

为管理运行状况监视器输入 6。

0
0 182
文章 姚 鑫 · 十二月 24, 2022 3m read

第二十三章 使用系统监视器 - 通知规则

通知规则

如果一段时间内传感器的三个连续读数大于传感器最大阈值,Health Monitor 将生成警报(严重性 2 的通知),如果一段时间内传感器的五个连续读数大于传感器最大阈值,则健康监视器将生成警告(严重性 1 的通知)大于传感器警告阈值。最大值和警告阈值取决于传感器对象中的设置以及适用的图表是由 Health Monitor 生成还是由用户创建,如下表所示。

另请注意:

  • 当传感器对象设置了最大值和警告值时,不需要图表,因此不会生成图表,即使禁用 Health Monitor 也会生成通知。
  • 当传感器对象设置了最大乘数和警告乘数,或者只有基数时,需要图表;在分析模式下收集到足够的样本以生成图表之前,不会生成任何通知。
  • 当存在用户创建的图表时,传感器对象设置是什么并不重要。
0
0 168
文章 姚 鑫 · 十二月 23, 2022 4m read

第二十二章 使用系统监视器 - 周期

Periods

默认情况下,每周有 63 个重复周期对传感器进行采样。这些期间中的每一个都代表一周中特定日期的以下指定间隔之一:

默认健康监控周期

     
00:15 a.m. – 02:45 a.m. 03:00 a.m. – 06:00 a.m. 06:15 a.m. – 08:45 a.m.
09:00 a.m. – 11:30 a.m. 11:45 a.m. – 01:15 p.m. 01:30 p.m. – 04:00 p.m.
04:15 p.m. – 06:00 p.m. 06:15 p.m. – 08:45 p.m. 09:00 p.m. – 11:59 p.m.

可以使用 ^%SYSMONMGR 实用程序中的配置周期选项列出、添加和删除周期(请参阅下面的配置健康监视器类部分)。您可以添加每月、每季度或每年的期间以及每周的期间。

注意:季度期间以三个月为增量列出,从指定为开始月份的月份开始;例如,如果指定 5(五月)作为起始月份,则季度循环将在八月 (8)、十一月 (11) 和二月 (2) 重复。

对于用户定义的期间,描述是可选的。

Charts

如果传感器对象的通知阈值未作为乘数给出(或未指定),则 Health Monitor 需要图表来评估这些传感器读数。

0
0 150
文章 姚 鑫 · 十二月 22, 2022 6m read

第二十一章 使用系统监视器 - 传感器和传感器对象

传感器和传感器对象

Health Monitor 传感器对象表示 SYS.Monitor.SystemSensors 中的传感器之一。每个传感器对象必须提供一个基值,并且可以选择提供一个最大(警报)阈值和一个警告阈值(绝对值或乘数)。 Health Monitor 传感器对象及其默认参数显示在下表中。

一些传感器代表IRIS 实例的总体指标。这些传感器在下表中没有在“传感器项目”列中列出的值。例如,LicensePercentUsed 传感器采样当前正在使用的实例授权许可单位的百分比,而 JournalGrowthRate 传感器采样写入实例日志文件的数据量(以每分钟 KB 为单位)。

其他传感器收集有关特定传感器项(CSP 服务器、数据库或镜像)的信息。例如,DBReads 传感器对每个已安装数据库的每分钟读取次数进行采样。这些传感器指定为 ;例如,DBLatency install-dir\IRIS\mgr\user 传感器对完成对 USER 数据库的随机读取所需的时间(以毫秒为单位)进行采样。

可以使用 ^%SYSMONMGR 实用程序列出和编辑(但不能删除)传感器对象(如下面的“配置健康监视器类”部分所述)。编辑传感器对象允许修改它的一个或所有值。

0
0 198
文章 姚 鑫 · 十二月 21, 2022 5m read

第二十章 使用系统监视器 - 定义系统监视器组件

SYS.Monitor API 允许定义自己的传感器、订阅者和通知器类。

Sensor Classes

传感器类扩展 %SYS.Monitor.AbstractSensorSystem Monitor 控制器最初调用每个传感器类的 Start() 方法;此后,在每个周期,它都会调用 GetSensors() 方法。 SetSensor() 方法在传感器类中用于设置 SensorReading 属性中的传感器名称/值对,该属性由 GetSensors() 返回并传递给所有订阅者类。

传感器类还可以评估传感器读数,并根据评估结果调用类的 %SYS.Monitor.Email 以根据通知或任何用户定义的警报方法生成电子邮件消息。

Subscriber Classes

订阅者类扩展 %SYS.Monitor.AbstractSubscriberSystem Monitor 控制器最初调用每个订阅者类的 Start() 方法;此后,在每个循环中,它会为循环中调用的每个传感器类调用一次 Receive() 方法,并将从该传感器类接收到的传感器名称/值对传递给 SensorReading 属性。订户类可以评估一个或多个名称/值对,并使用 Notify() 方法设置通知,该方法填充 Notifications 属性。

0
0 186
文章 姚 鑫 · 十二月 20, 2022 3m read

第十九章 使用系统监视器 - 配置系统监视器命名空间

配置系统监视器命名空间

当一个实例启动时,系统监视器会在每个已配置的启动命名空间中作为一个单独的进程自动启动(默认情况下仅限 %SYS)。所有系统监视器配置和设置都是特定于命名空间的。当使用 ^%SYSMONMGR 进行更改时,更改仅影响启动该实用程序的命名空间。

注意:^%SYSMONMGR 的所有实例都将消息写入同一系统监视器日志。可以从任何命名空间配置启动命名空间。

当在主菜单中输入 3 时,将显示以下菜单:

1) Configure Components
2) Configure Startup Namespaces
3) Exit

输入 2 以显示配置命名空间的选项:

1) List Startup Namespaces
2) Add Namespace
3) Delete Namespace
4) Exit

输入 1 以列出当前配置的启动命名空间。

输入 2 添加启动命名空间。

输入 3 以删除启动命名空间。 (不能删除 %SYS。

0
0 111
文章 姚 鑫 · 十二月 19, 2022 2m read

第十八章 使用系统监视器 - 设置系统监视器选项

设置系统监视器选项

要更改全局系统监视器设置或将它们恢复为默认值,请停止系统监视器(如果它正在运行),然后在主菜单中输入 2

1) Set Sample Interval
2) Set Debugging Level
3) Reset Defaults
4) Manage Debug Data
5) Exit

输入 1 设置系统监视器调用每个配置的传感器类的时间间隔;默认值为 30 秒。

输入 2 设置调试级别。默认值为 0(基本),它将系统监视器和运行状况监视器状态和错误消息写入系统监视器日志,并且不保存传感器读数。调试级别 1(记录所有传感器)将传感器读数与消息一起写入系统监视器日志并保存传感器读数,然后可以使用“查看系统数据”菜单的“查看传感器数据”选项查看这些读数。

输入 3 将采样间隔、调试级别和传感器读数的保存重置为其默认值。

输入 4 以设置保存传感器读数的天数;默认值为 5

更改将在下次启动或重新启动系统监视器时生效。

配置系统监视器组件

如系统监视器中所述,可以通过扩展 %SYS.Monitor.AbstractSensor%SYS.Monitor.AbstractSubscriber%SYS.Monitor.

0
0 157
文章 姚 鑫 · 十二月 18, 2022 3m read

第十七章 使用系统监视器 - 使用 ^%SYSMONMGR 实用程序

^%SYSMONMGR 实用程序可让管理和配置系统监视器。该实用程序可以在任何名称空间中执行,使用它所做的更改只会影响启动它的名称空间。必须通过在该命名空间中执行 ^%SYSMONMGR 来为配置的每个启动命名空间维护单独的系统监视器配置。在对命名空间的系统监视器配置进行任何更改后,必须在命名空间中重新启动系统监视器才能使更改生效。

重要提示:本节中描述的使用 ^%SYSMONMGR 实用程序的所有手动操作都可以使用 %Monitor.Manager API 中的方法以编程方式执行。

要管理系统监视器,请在终端中输入以下命令:

%SYS>do ^%SYSMONMGR

出现主菜单

%SYS>do ^%SYSMONMGR
 
 
1) Start/Stop System Monitor
2) Set System Monitor Options
3) Configure System Monitor Classes
4) View System Monitor State
5) Manage Application Monitor
6) Manage Health Monitor
7) View System Data
8) Exit

Option?

输入选择的数字或按 Enter 退出该实用程序。

0
0 163
文章 姚 鑫 · 十二月 17, 2022 3m read

第十六章 使用系统监视器 - 系统监视器默认值

系统监视器默认值

System Monitor 调用一组提供的可以扩充的类,在 %SYS 命名空间中运行,并在三个可以更改的默认设置下运行。

默认系统监视器组件

IRIS 提供了五个类,默认情况下在 %SYS 命名空间的系统监视器中配置。

Sensor classes:

  • SYS.Monitor.SystemSensors

系统传感器类获取传感器值传递给配置的订阅者类,包括系统监控订阅者(SYS.Monitor.SystemSubscriber)和健康监控订阅者(SYS.Monitor.Health.Control)。

  • %SYS.Monitor.AppMonSensor

Application Monitor 提供传感器、订阅者和通知服务的类;获取传感器值并将它们存储在本地命名空间中,根据用户定义的警报评估值,并根据警报定义生成电子邮件消息或在触发警报时调用用户指定的方法。

Subscriber classes:

  • SYS.Monitor.Health.Control

Health Monitor 的订阅者类;从 SYS.Monitor.SystemSensors 接收和评估统计传感器值,并将通知发布到系统通知程序。

  • SYS.Monitor.SystemSubscriber

适用于所有传感器类别的系统监视器订阅者;包含监视和分析 SYS.

0
0 165
文章 姚 鑫 · 十二月 16, 2022 2m read

第十五章 使用系统监视器 - 系统监控健康状态

基于发布到消息日志的通知,包括由IRIS 实例直接生成的系统警报以及由 System Monitor 和它的 Health Monitor 组件 System Monitor 在共享内存中的寄存器中维护一个总结整个系统健康状况的单一值。

在启动时,系统健康状态是根据在启动过程中发布到消息日志的系统(而不是系统监视器)警报的数量来设置的。系统监视器运行后,可以通过系统警报或系统监视器警报或警告来提升健康状态。自上次系统警报或系统监视器警报或警告发布后 30 分钟过去后,状态将清除到下一个较低级别。下表显示了如何确定系统健康状态。

State Set at startup when ... Set following startup when ...
0
0 159