通过主动监控您的 ArcGIS Enterprise 组织,您可以稳定系统正常运行时间、识别服务性能问题或中断,并主动调整跨参与计算机分配的资源以运行基础应用程序。 监控解决方案可以为常用端点提供主动检查,并在响应位于预期容差范围之外时向对应的联系人发出警告。 此外,您可以使用这些解决方案来采集历史信息,并将这些信息用于在根本原因分析或事后调查期间确证系统和软件日志。
虽然您可以使用 ArcGIS Monitor 来监控您的 ArcGIS Enterprise 组织,但还有一些第三方工具可以帮助您获得类似的结果。 以下信息可以帮助您初步了解如何将监控解决方案与 ArcGIS Enterprise 进行集成。
监控指标
一般来说,可以从以下两个角度来监控企业级应用程序:资源利用率和用户体验。
资源利用率对于系统管理人员来说是一个熟悉的概念,原因是它与计算机集合以及运行企业级软件的支持基础设施的各种特征紧密相关。 这些指标通常与访问平台的用户量成正比,但某些工作流也可能导致利用率显著飙升。
此外,用户体验监控通常可以反映客户端如何与前端应用程序进行连接和交互,并且对于业务分析师和 GIS 管理员来说更为熟悉。 这些指标可用于确定各种请求的基线响应时间,以便随后将其用于建立应向管理团队发出警报的阈值。 除了响应时间之外,还需要考虑其他一些方面的用户体验,例如 SSL 证书有效期。
以下小节描述了如何从资源利用率的角度对系统进行监控。
资源利用率
从资源利用率的角度监控 ArcGIS Enterprise 部署中的计算机时,需要追踪的指标如下:
- 处理器 - 当参与计算机的处理器达到峰值或达到 100% 容量时,计算请求将会积压,而这可能会导致信息返回延迟。 该指标适用于活动突然增多时一切正在运行的进程。
- 物理内存 - 当物理内存接近 100% 利用率时,正在运行的进程可能会在其尝试扩展到额外的内存空间时崩溃。 虚拟内存的存在可以缓解这种状况。
- 虚拟内存 - 虚拟内存能够在计算机的物理内存和基础存储之间提供一个缓冲区。 它可使用部分基础存储来交换物理内存中的数据,同时使该操作比直接从磁盘进行加载更容易完成。 由于虚拟内存耗尽而导致的不利影响在 Windows 系统中很常见。 虚拟内存扩展(页面文件增长)会在物理内存利用率达到 90% 时开始发生。 在某些配置中,虚拟内存可能会在物理内存开始达到 100% 之前耗尽。
- 已提交内存 - 系统已提交的内存容量是计算机的物理内存与给定时间点的虚拟内存大小的总和。 虚拟内存可以增长,因此已提交内存限制会随着时间的推移而改变。 计算机的已提交内存利用率接近 100% 表明物理和虚拟内存都已耗尽,需要更多资源。
- 磁盘卷可用空间 - 系统上的系统卷、应用程序卷或数据卷出现磁盘空间不足可能会严重影响正在运行的操作系统以及依赖于这些卷的任何应用程序。 监控可用空间可确保系统磁盘空间不会耗尽,并可确定已用空间显著增加(这可能是异常发布事件的征兆)的时机。
在监控系统时,请记住虽然网络瓶颈在企业级网络环境中变得越来越少,但它会影响 ArcGIS Enterprise 组件的最佳响应时间。 在所有 ArcGIS Enterprise 组件与其他注册数据源和文件服务之间交换多个内部请求的多机环境中,出现这一情况的可能性正变得越来越大。
如果可能,请将处理器和内存划分为每个进程的列表,以确定在给定时间内哪个进程处于峰值。 例如,在监控中使用这种粒度级别时,进程的命令行部分可用于将 ArcGIS Enterprise 内部组件彼此区分开来,或者将其与实时防病毒扫描区分开来。
不仅需要监控安装了 ArcGIS Enterprise 组件的计算机,而且需要监控部署可能依赖于其正常运行的任何文件服务器和数据库实例。 ArcGIS Enterprise 应用程序通常会从其最低的资源消耗水平开始运行。 当应用程序被访问和使用时,其资源消耗将与资源利用率成正比。
采集资源指标
您可以使用 Windows 性能监视器来采集系统资源利用率数据。 可以设置此采集工具以捕获各种指标,而以下示例中已添加到数据采集器集的指标已在上面列出。 您可以在远程计算机上运行数据采集器集,从而能够实现中央监控计算机,以采集来自正在运行 ArcGIS Enterprise 软件的多台计算机的指标。
注:
这是采集指标的一个示例,而任何监控软件都可以进行类似配置以捕获资源利用率指标。 有关其他信息,请参阅该软件的文档。
要设置数据采集器集,请执行以下操作:
- 单击开始 > Windows 系统 > 控制面板。
- 选择系统和安全,然后单击管理工具。
- 单击性能监视器。
- 展开数据采集器集,然后右键单击用户定义。
- 选择新建 > 数据采集器集。
- 创建一个数据采集器集:
- 键入该数据采集器集的名称。
- 选择手动创建(高级)。
- 单击下一步。
- 选中创建数据日志下的性能计数器复选框,然后单击下一步。
- 单击添加以记录性能计数器。
- 添加性能计数器以采集有关处理器利用率的数据:
- 浏览至可用计数器列表中的处理器。
- 展开处理器并选择处理器时间百分比。
- 在所选对象的实例下选择 _Total。
- 单击添加。 该计数器随即出现在已添加的计数器下方。
- 添加性能计数器以追踪剩余的资源利用率指标:
浏览至逻辑磁盘并将其展开,然后单击可用空间百分比,并选择所选对象的 <所有实例>。 单击添加。
-
浏览至网络接口并将其展开,然后单击每秒字节总数,并选择所选对象的 <所有实例>。 单击添加。
浏览至内存并将其展开,然后单击使用中的已提交字节数百分比。 单击添加。
单击内存 > 可用兆字节数。 单击添加。
单击内存 > 每秒页数。 单击添加。
- 单击确定。
- 将采样间隔值更改为 5,并将单位选项更改为分钟。
您可以根据首选的日志记录分辨率来增大或减小该值。 通常而言,当问题发生时,采样频率会增加到例如 15 秒,而在正常操作期间,15 或 30 分钟的频率可能就足够了。
- 单击完成。
- 右键单击用户定义下方已创建的数据采集器集,然后单击开始。
注:
当数据采集器集正在运行时,您无法看到实时报告。 停止和启动数据采集器集均会生成一份报告,该报告将涵盖从上次报告创建时间到当前时间所持续的时长。分析资源指标
您在选择了采集工具并为您的计算机捕获了资源利用率数据之后,就可以分析资源指标。 分析资源指标时请考虑以下事项:
- 问题的生命期 - 了解该事件是孤立事件还是长期事件将有助于您确定大多数情况下的最佳前进方向。 资源利用率的短期峰值往往会随着特定服务(例如添加新发布的仪表盘或 Web 应用程序,或是将部门添加到门户)的即时需求而出现。 当前利用率出现长期增长可能表明该平台及其相关服务或应用程序越来越受欢迎。 短期峰值可能会也可能不会重复出现,因此围绕这些事件的上下文对于确定是否需要额外资源来提高部署的长期稳定性而言非常重要。
- 消耗系统大部分资源的进程 - 从 Portal for ArcGIS 和 ArcGIS Data Store 的角度来看,利用率应该与平台上的用户数量和托管服务的使用量大致呈线性关系。 在考虑 ArcGIS Server 时,专用服务的扩展和托管服务的使用是与资源利用率相关的两个主要因素。 可以在 ArcGIS Server 站点中调整专用服务以降低整体资源利用率,但是当需求随着时间的推移达到峰值时,这可能还不够。
- 角色分布 - 在 ArcGIS Enterprise 部署中跨多台计算机分布角色时允许对每个组件进行更仔细的资源调整,并可以在出现问题时提高理解粒度。 只为关系数据存储或托管服务器计算机增加资源可能比为基于单机的企业级部署增加资源更具战略意义。 您可以通过加入站点操作对当前站点架构进行调整,从而在已建立的部署中从单机迁移到分布式架构。
解决问题
现在您可以识别、追踪和分析计算机资源指标,因此您可以解决非预期系统响应的问题。 这可能意味着需要增加所分配的处理器资源、分配或安装更多 RAM 或增加磁盘空间。 在采取行动之前,您必须了解解决资源利用率问题的最佳做法。
处理器利用率
在为处理器利用率较高的计算机增加所分配的处理器资源之前,请确定是 ArcGIS Enterprise 组件还是系统上的其他软件导致了利用率出现峰值。 启用实时扫描的安全软件可以提高常规 Web 服务器和数据库运行期间的处理器利用率。 如果是这种情况,请根据所观察到的行为提醒您的网络安全团队。 对于虚拟机,底层主机可能会被过度配置,这可能导致出现虚拟机无法检测到的性能瓶颈。
物理内存利用率
当物理内存利用率接近 100% 时,计算机可能需要分配或安装更多 RAM。 如上所述,在专用计算机上分离工作负载可以实现更精细的资源分配并减少当前的资源争用,而您也可以增加现有计算机上的内存。 当物理内存利用率接近 100% 时,可用的虚拟内存也可能会耗尽。
虚拟和已提交内存利用率
当达到 100% 的利用率时,虚拟和已提交内存利用率通常会展现出相同的模式。 虚拟内存允许进程使用比系统上可用的内存更多的内存,并且除非由负责已配置计算机的系统管理员进行静态设置,否则通常会自动缩放到阈值。 如果有足够的磁盘空间来扩展页面文件,则您可以通过修改系统设置来增加虚拟内存。
磁盘卷可用空间
磁盘空间耗尽是 ArcGIS Enterprise 部署中可能出现的最不可预测的故障方式之一。 当尝试更新未完成时,文件可能会被清空或截断,而这可能会阻止软件正常启动。 首先,请搜索可以移动到注册数据存储或其他位置的大型文件。 如果您无法移除不需要的文件,则必须增加磁盘空间。 您还可以将系统目录迁移到单独的存储位置,例如 Portal for ArcGIS 站点的内容目录或 ArcGIS Server 的缓存目录。
注:
要按大小查看当前目录中的前 25 个文件,请在管理 PowerShell 窗口中运行此命令:
Get-ChildItem -r | Sort -descending -property length | Select -first 25 name, @{Name="Size (GB)";Expression={[Math]::round($_.length / 1GB, 2)}}
在根卷上运行可能需要花费很长时间,因此建议您在运行该命令之前浏览至特定目录。