Operations Manager 代理

在 System Center Operations Manager 中,代理是在查找配置数据并主动收集信息以供分析和报告的计算机上安装的服务,测量受监视对象的运行状况状态(如 SQL 数据库或逻辑磁盘),并按需执行操作员或响应条件的任务。 它允许 Operations Manager 监视 Windows、Linux 和 UNIX 操作系统以及安装在其上的 IT 服务的组件,例如网站或 Active Directory 域控制器。

Windows 代理

在被监视的 Windows 计算机上,Operations Manager 代理被列为 Microsoft Monitoring Agent (MMA) 服务。 Microsoft Monitoring Agent 服务会收集事件和性能数据,并执行任务和在管理包中定义的其他工作流。 即使服务无法与它所报告到的管理服务器通信,它仍会在被监视计算机的磁盘上继续运行并将收集的数据和事件排队。 还原连接后,Microsoft Monitoring Agent 服务会向该服务管理服务器发送所收集的数据和事件。

注意

  • Microsoft Monitoring Agent 服务有时称为运行状况服务。

Microsoft Monitoring Agent 服务也在管理服务器上运行。 在管理服务器上,服务运行监视工作流并管理凭据。 若要运行工作流,该服务使用指定的凭据启动MonitoringHost.exe进程。 这些进程监视和收集事件日志数据、性能计数器数据、Windows Management Instrumentation (WMI) 数据,并运行诸如脚本之类的操作。

代理和管理服务器之间的通信

Operations Manager 代理将警报和发现数据发送到其分配的主管理服务器,该服务器将数据写入操作数据库。 此代理还会将事件、性能和状态数据发送给主管理服务器,此服务器会将数据同时写入操作数据库和数据仓库数据库。

代理会根据每个规则和监视器的计划参数发送数据。 对于优化的收集规则,只有当计数器样本与先前样本之差达到指定容差(如 10%)时,才会传输数据。 这将有助于减少网络流量以及操作数据库中存储的数据量。

此外,所有代理会按定期计划向管理服务器发送数据包,此数据包称为 检测信号;默认情况下,每 60 秒发送一次。 检测信号的用途是验证代理的可用性以及代理与管理服务器之间的通信。 有关检测信号的详细信息,请参阅 How Heartbeats Work in Operations Manager(检测信号在 Operations Manager 中的工作原理)

对于每个代理,Operations Manager 将运行 运行状况服务观察程序,此程序从管理服务器的角度监视远程运行状况服务的状态。 代理通过 TCP 端口 5723 与管理服务器通信。

代理到管理服务器通信的插图。

Linux/UNIX 代理

UNIX 和 Linux 代理的体系结构明显不同于 Windows 代理。 Windows 代理中具有运行状况服务,负责评估受监视计算机的运行状况。 UNIX 和 Linux 代理不运行运行状况服务;而是将信息传递给管理服务器上的运行状况服务以进行评估。 管理服务器运行所有工作流,以监视 UNIX 和 Linux 管理包实现中定义的操作系统运行状况:

  • 磁盘
  • 处理器
  • 内存
  • 网络适配器
  • 操作系统
  • 进程
  • 日志文件

Operations Manager 的 UNIX 和 Linux 代理由 CIM 对象管理器(即 CIM 服务器)和一组 CIM 提供程序组成。 CIM 对象管理器是实现 WS-Management 通信、身份验证、授权和调度提供程序请求的“服务器”组件。 提供程序是代理中 CIM 实现的关键,定义 CIM 类和属性,与内核 API 交互以检索原始数据、设置数据格式(例如计算增量和平均值),以及为从 CIM 对象管理器调度的请求提供服务。 从 System Center Operations Manager 2007 R2 到 System Center 2012 SP1,Operations Manager UNIX 和 Linux 代理中使用的 CIM 对象管理器是 OpenPegasus 服务器。 用于收集和报告监视数据的提供程序由Microsoft开发,并在 CodePlex.com 开放源代码。

Operations Manager UNIX/Linux 代理的软件体系结构插图。

这在 System Center 2012 R2 Operations Manager 中发生了变化,其中 UNIX 和 Linux 代理现在基于开放管理基础结构(OMI)作为其 CIM 对象管理器的完全一致实现。 对于 Operations Manager UNIX/Linux 代理,OMI 正在替换 OpenPegasus。 与 OpenPegasus 一样,OMI 是一种开源、轻型和可移植的 CIM 对象管理器实现,尽管它比 OpenPegasus 更轻和更便携式。 此实现将继续应用于 System Center 2016 - Operations Manager 及更高版本。

Operations Manager UNIX/Linux 代理的更新软件体系结构示意图。

管理服务器与 UNIX 和 Linux 代理之间的通信分为两类:代理维护和运行状况监视。 管理服务器使用两种协议与 UNIX 或 Linux 计算机通信:

  • 安全外壳 (SSH) 和安全外壳文件传输协议 (SFTP)

    用于代理维护任务,例如安装、升级和删除代理。

  • Web Services for Management (WS-Management)

    用于所有监视操作,并包括已安装代理的发现。

Operations Manager 管理服务器与 UNIX 和 Linux 代理之间的通信通过 HTTPS 和 WinRM 接口使用 WS-Man。 所有代理维护任务都通过 SSH 在端口 22 上执行。 所有运行状况监视都通过端口 1270 上的 WS-MAN 执行。 在评估数据以提供运行状况之前,管理服务器会通过 WS-MAN 请求性能和配置数据。 所有操作(如代理维护)、监视器、规则、任务和恢复均被配置为根据其要求将预定义的配置文件用于特权帐户或非特权帐户。

注意

本文中提到的所有凭据都与在 UNIX 或 Linux 计算机上建立的帐户有关,与安装 Operations Manager 期间配置的 Operations Manager 帐户无关。 请与系统管理员联系,以获取凭据和身份验证信息。

为了支持 UNIX 和 Linux 系统 System Center 2016 - Operations Manager 和更高版本可以监视每个管理服务器的新可伸缩性改进,可以使用新的异步 Windows 管理基础结构 (MI) API,而不是默认使用的 WSMAN 同步 API。 若要启用此更改,需要创建新的注册表项 UseMIAPI ,使 Operations Manager 能够在监视 Linux/Unix 系统的管理服务器上使用新的异步 MI API。

  1. 从提升的命令提示符打开注册表编辑器
  2. 在 . 下HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Setup创建注册表项 UseMIAPI

如果需要使用 WSMAN 同步 API 还原原始配置,可以删除 UseMIAPI 注册表项。

代理安全性

UNIX/Linux 计算机上的身份验证

在 Operations Manager 中,不再需要系统管理员向管理服务器提供 UNIX 或 Linux 计算机的根密码。 现在,通过进行提升,无特权帐户可以在 UNIX 或 Linux 计算机上采用特权帐户的标识。 提升过程由 UNIX su(超级用户)和 sudo 程序来执行,这两个程序使用管理服务器提供的凭据。 对于使用 SSH 的特权代理维护操作(如发现、部署、升级、卸载和代理恢复),提供了对 su 和 sudo 提升的支持,以及对 SSH 密钥身份验证(有或无密码)的支持。 对于特权 WS 管理操作(如查看安全的日志文件),添加了对 sudo 提升(无密码)的支持。

有关指定凭据和配置帐户的详细说明,请参阅 如何设置用于访问 UNIX 和 Linux 计算机的凭据。

使用网关服务器进行身份验证

网关服务器用于对位于管理组的 Kerberos 信任边界之外的计算机启用代理管理。 由于网关服务器驻留在管理组所在的域不信任的域中,因此证书必须用于建立每台计算机的标识、代理、网关服务器和管理服务器。 此安排可满足 Operations Manager 在相互身份验证方面的需求。

这要求你请求向网关服务器报告的每个代理的证书,并使用位于安装媒体 SupportTools\ (amd64 或 x86) 目录的 MOMCertImport.exe 工具将这些证书导入目标计算机。 你需要有权访问证书颁发机构(CA),可以是公共 CA(如 VeriSign),也可以使用Microsoft证书服务。

代理部署

可以使用以下三种方法之一安装 System Center Operations Manager 代理。 大多数安装采用这些方法的组合,根据实际情况安装不同的计算机组。

注意

  • 你不能在安装了 Operations Manager 管理服务器、网关服务器、操作控制台、操作数据库、Web 控制台、System Center Essentials 或 System Center Service Manager 的计算机上安装 MMA,因为它们已安装了内置版本的 MMA。
  • 只能使用 MMA 或日志分析代理(VM 扩展版本)。
  • 从操作控制台发现和安装一个或多个代理。 这是最常见的安装形式。 管理服务器必须能够将计算机与 RPC 连接,并且管理服务器操作帐户或其他提供的凭证必须具有对目标计算机的管理访问权限。
  • 包含在安装映像中。 这是用于准备其他计算机的基本映像的手动安装。 在这种情况下,Active Directory 集成可用于在初始启动时将计算机自动分配到管理服务器。
  • 手动安装。 不能通过其他方法安装代理时(例如,远程过程调用 (RPC) 由于防火墙不可用时)使用此方法。 安装程序在代理上手动运行,或通过现有的软件分发工具部署。

可以在操作控制台中管理使用发现向导安装的代理,如更新代理版本、应用修补程序以及配置代理所报告到的管理服务器。

使用手动方法安装代理时,也必须手动执行代理更新。 你将能够使用 Active Directory 集成将代理分配到管理组。 有关详细信息,请参阅集成 Active Directory 和 Operations Manager

选择所需的选项卡,以详细了解 Windows 和 UNIX 和 LINUX 系统的代理部署:

发现 Windows 系统要求 TCP 135(RPC)、RPC 范围和 TCP 445 (SMB) 端口保持打开状态,并且代理计算机上启用了 SMB 服务。

  • 发现目标设备之后,可以将代理部署到此目标设备。 代理安装需要:
  • 从终结点映射器 TCP 135 和服务器消息块(SMB)端口 TCP/UDP 445 开始打开 RPC 端口。
  • 为 Microsoft 网络启用文件和打印机共享,并为 Microsoft Networks 服务启用客户端。 (这可确保 SMB 端口处于活动状态。
  • 如果启用,“允许远程管理例外”和“允许文件和打印机共享”例外的 Windows 防火墙组策略设置必须设置为“允许从代理的主管理服务器和辅助管理服务器到 IP 地址和子网的未请求传入消息”。
  • 对目标计算机有本地管理员权限的帐户。
  • Windows Installer 3.1。 若要安装,请参阅 Microsoft 知识库https://go.microsoft.com/fwlink/?LinkId=86322中的文章893803
  • Microsoft \msxml 子目录中 Operations Manager 产品安装介质上的 Core XML Services (MSXML) 6。 推送代理安装会在目标设备上安装 MSXML 6(如果尚未安装)。

Active Directory 代理分配

System Center Operations Manager 允许你利用对 Active Directory 域服务(AD DS)的投资,使你能够使用它将代理管理的计算机分配到管理组。 此功能通常用于部署为服务器部署生成过程的一部分的代理。 当计算机首次联机时,Operations Manager 代理会查询 Active Directory 以获取其主服务器和故障转移管理服务器分配,并自动开始监视计算机。

使用 AD DS 将计算机分配到管理组:

  • AD DS 域的功能级别必须是 Windows 2008 本机或更高版本
  • 代理管理的计算机和所有管理服务器必须位于同一域或双向受信任的域中。

注意

确定安装在域控制器上的代理不会查询 Active Directory 以获取配置信息。 这是出于安全原因。 默认情况下,Active Directory 集成在域控制器上处于禁用状态,因为代理在本地系统帐户下运行。 域控制器上的本地系统帐户具有域管理员权限;因此,无论域控制器的安全组成员身份如何,它都会检测 Active Directory 中注册的所有 Management Server 服务连接点。 因此,代理会尝试连接到所有管理组中的所有管理服务器。 结果可能不可预知,从而存在安全风险。

代理分配是使用服务连接点(SCP)完成的,该连接点是一个 Active Directory 对象,用于发布客户端应用程序可用于绑定到服务的信息。 这是由运行MOMADAdmin.exe命令行工具的域管理员创建的,用于在所管理计算机的域中为 Operations Manager 管理组创建 AD DS 容器。 在运行 MOMADAdmin.exe 时指定的 AD DS 安全组被授予对容器的读取和删除子权限。 SCP 包含与管理服务器的连接信息,包括服务器的 FQDN 和端口号。 Operations Manager 代理可以通过查询 SCP 来自动发现管理服务器。 不会禁用继承,因为代理可以读取 AD 中注册的集成信息,因此,如果强制“每个人”组读取 Active Directory 根级别的所有对象,这将严重影响并实质上中断 AD 集成功能。 如果通过授予 Everyone 组读取权限方式在整个目录中显式强制继承,必须在名为“OperationsManager”的顶级 AD 集成容器及所有子对象上阻止此继承。  如果无法执行此操作,AD 集成将无法按设计方式工作,并且部署的代理不会具有可靠且一致的主故障转移分配。 此外,如果碰巧有多个管理组,这两个管理组中的所有代理也将是多宿主的。 

此功能适用于控制分布式管理组部署中的代理分配,以防止代理向专用于热备用配置中的辅助数据中心中的资源池或管理服务器的管理服务器报告,以防止在正常操作期间进行代理故障转移。

代理分配的配置由 Operations Manager 管理员使用代理分配和故障转移向导来管理,以将计算机分配到主管理服务器和辅助管理服务器。

注意

对于从操作控制台安装的代理,禁用 Active Directory 集成。 默认情况下,对已安装代理启用 Active Directory 集成是使用 MOMAgent.msi 手动完成的。

后续步骤