使用 64 位 Operations Manager 代理收集 32 位性能计数器

对于 System Center Operations Manager 2012,不能在 64 位服务器中安装 32 位代理。尽管 - 通常 - 32 位应用程序仍然可以由 64 位代理进行监控,但不能使用基于性能的标准规则和监视器收集 32 位自定义性能计数器。根据标准,我指的是可以通过控制台在“创建新规则/监视器”向导中选择“Windows 性能计数器”而创建的规则和监视器。 然而,对于一些后台操作的情况,会绕过这种限制。在本篇博文中,我将向大家介绍如何执行这方面的操作。简短的答案就是:使用基于日志的性能计数器数据源! 它证明,在性能库管理包 (System.Performance.Library) 中,我们可以找到实现目标所需的构造块。此 MP 包括标准性能计数器收集中使用的所有规则和监视器,以及基于日志的计数器收集所需的规则和监视器。这些规则和监视器可以通过分析 Windows 性能监视器 (perfmon) 日志文件来收集性能计数器数据。因此,它们称为“PerformanceLogBased”,而且一切依赖于 PerformanceLogDataProvider 数据源模块执行分析。遗憾的是,这种功能并非通过 SCOM 控制台来实现,因此才实施了“后台”操作。 需要什么? 利用性能库中定义的规则/监视器的简单自定义 MP。 Windows 性能监视器日志记录 (perfmon)。必须为每个需要收集的计数器启用日志记录。 简单示例 目标:收集并监控代理中远程桌面会话的数量,当 2 个连续样本的远程桌面会话数量超出 4 时,将监视器的状态更改为“重要”。我们还希望将计数器值在操作数据库中存储为性能数据。 性能计数器:终端服务/会话总数 单元监视器定义  <UnitMonitor ID="PerfLogConsecutiveSamplesMonitor" Accessibility="Public" Enabled="true" Target="SystemCenter!Microsoft.SystemCenter.Agent" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true"…

0

Orchestrator 简短提示:“Null”值条件

有时您需要验证属性的值不为空。例如,您可能会在继续处理之前检查某个活动的输出值(已发布数据)以确保它不为空。不过,在可用比较列表中,不存在“为 Null”或“为空”选项。   因此您如何检查空值呢? 使用“匹配模式”或“不匹配模式”条件并输入被解释为“空”的常规表达式 ^$。   感谢 Jeffrey Fanjoy 提供此简短提示!

0

将用户添加到组自动请求产品演练

这是一篇由 Microsoft 技术解决方案专家 Bob Roudebush 撰写的客座博文。非常感谢 Bob 撰写这篇博文并在社区中分享!   先决条件: 本演练是使用 System Center 演示虚拟机环境构建的。本文假定 AD 正常运行,Service Manager(带 SSP)和 Orchestrator 均已安装并正常运行,而且为 AD 和 Orchestrator 配置了适当的连接器。任何人都应该能够在自己的环境中通过更改一些属性值来完成本文中演示的操作。 摘要步骤: 1.在 Orchestrator 中创建 [Add User to Group](将用户添加到组)Runbook 2.在 Service Manager 中创建 [Add User to Group](将用户添加到组)Runbook 模板 3.在 Service Manager 中创建 [Add User to Group](将用户添加到组)请求模板 4.在 Service Manager 中创建 [Add Yourself…

1

在活动电子邮件模板中使用父工作项的数据属性

注意:本篇博文仅与 System Center 2012 – 服务管理器(或更高版本)相关。 这是一篇由我们的一个社区专家 Greg Wojkun 编写的客座博文。非常感谢 Greg 与我们分享! ======================== 背景知识 我们的更改请求流程要求 CR 所有者在 CR 表上的更改请求描述数据属性中提供其更改请求的详细信息。CR 所有者还必须应用与 CR 相关的正确审阅活动 (RA) 和手动活动 (MA),并在 MA 和/或 RA 的描述字段中提供大致相同的详细信息。作为 SCSM 管理员,我常听到最终用户提出这样的问题:为什么我需要加倍努力地编写 CR 描述,还要在 MA 或 RA 描述字段中编写大致相同的描述。我对他们的回应很简单:我希望确保审阅者和/或活动实施者在接收工作流电子邮件时具备所需的全部基本信息,以便批准或完成来自电子邮件的活动(使用 Exchange Connector)。在 SCSM 2010 中,不可能将 CR 数据属性植入 MA 和 RA 电子邮件模板。在 2012 中,这已成为可能。但在我试图执行此操作时,发现并不是轻而易举就能做到的。通过与 Travis 合作,我已了解如何执行此操作,并希望向 SCSM 用户分享该体验,以满足其最终用户的类似要求。 首先,我们需要理解…

0

最佳做法:监视或触发,哪种方法更好?

Orchestrator 和许多集成包中的主要功能之一是能够监视对象(数据库、服务器),并在特定条件发生时启动 Runbook。客户在各种任务中广泛使用监视活动。但这是完成任务的最佳方法吗? 首先,我们了解一下 Runbook 服务器如何处理 Runbook。每个运行的 Runbook 在为每个 Runbook 服务器设置的可用 Runbook 阈值限制中都使用一个“值段”。默认情况下,此限制值设置为 50,但实际上,您可以设置更高的值,具体取决于您的 Runbook 在系统上施加的负载类型、服务器的性能特点等(有关更改此限制值的更多信息,请参阅 TechNet:如何配置 Runbook 阈值(英文))。无论限制值是多少,或者您是否并行运行足够的 Runbook 达到此限制值,但它都有一个限制值。对于每个运行的 Runbook – 每个处于活动状态的监视 Runbook,每个 Runbook 和它们可能调用的所有子 Runbook – 都有一个 PolicyModule.exe 实例,并在阈值限制中使用这些值段之一。 除上述情况以外,还要了解您可能有多个监视 Runbook 根据同一数据源运行。例如,您可能在监视 Operations Manager 的特定条件,如特定类型的新警报或者一组计算机的一个监视器的状态更改。这非常类似于您有多个监视器,每个监视器每 5 秒钟轮询一次 Operations Manager 服务器,在 Operations Manager 服务器上施加额外负载,因为它必须每 5 秒钟为 5 或 10 个(还可能更多)不同的监视器执行数据查询。现在跨其他数据源重复此任务,如 Service Manager、Configuration Manager、Virtual…

0

通过 Configuration Manager 安装服务器管理器控制台

这是一篇客座博文。最初由 Dejan Milic 用德语编写。Andreas Baumgarten 将其译成了英语。感谢二位为社区贡献了这篇很有帮助的博文! ====================================== 是否可以将 Microsoft System Center Service Manager 控制台作为 Configuration Manager 应用程序部署给 SCSM 管理员?答案是“可以”。 在 Configuration Manager 控制台中创建新应用程序之前,首先需要从 Internet 下载一些软件要求。 Service Manager 管理控制台的软件要求和所需的操作系统如下: – 32 位或 64 位版本的 Windows Server 2008 Standard 或者 32 位或 64 位版本的 Windows Server 2008 Enterprise – 32 位或 64 位版本的 Windows Server 2008 Standard…

0

IP 和活动以及它们在数据库中的表示方式

在我最近发布了几篇有关如何在注册、安装和取消注册过程中处理集成包 (IP) 的文章(请参阅了解 IP 安装:注册/取消注册/部署/取消部署的实际含义是什么?)之后,作为我将在本周推出的一种新工具的预习资料(尝试制造一点兴奋感),我想更深入地讨论如何安装 IP 和数据库。 我将重点介绍基于工具包的 IP 而不是“本机”IP,这是因为随着 Orchestrator 的向前发展,您会发现我们开发的大多数新 IP 将使用我们的 SDK 来创建并使用 Integration Toolkit 进行打包(就像您要创建的 IP 一样)。使用此工具包确实是创建新 IP 最快且最简单的方式,并且我们将对 SDK 进行一些关键增强,以允许新活动完成我们之前无法完成的任务(这正是我们过去创建非工具包 IP 的原因)。 在注册基于工具包的 IP 时,您将向 Orchestrator 数据库中添加新信息。具体而言,将在 CAPS 表中为集成包创建一个新条目,该条目包含一些有关该 IP 的高级信息。新信息还将添加到 CONFIGURATION 表中,该表存储该 IP 中各项活动的定义以及该 IP 的任何配置类(用于指定选项菜单设置)。该表链接到 OBJECTTYPES 表,后者存储系统已知的所有特定活动类型的关键信息。下面是这些表在 SQL 中的表示形式: 您可能注意到,CAPS 和 CONFIGURATION 表没有以任何方式进行链接。因此,没有任何活动标识符可用于链接到 IP 以说明 IP 中有哪些活动。幸好,我们在 Orchestrator…

0

如何配置自助服务门户 SharePoint 网站或 Web 内容服务器以实现负载平衡

今天我花了几个小时来尝试为我今天的测试实验室设置负载平衡。实在太痛苦了,因为我们没有任何文档记录了如何执行此操作,而网上却到处充斥着有关该主题的信息。事实上,它最终还是归结为您需要知道的一些简单事情。希望这篇博文可为大家节省大量时间并避免麻烦! 就本博文而言,我做了以下几件事: 1) 我使用的是 Windows 网络负载平衡 (NLB) 2) 我在我的 SharePoint Web 场服务器上运行 NLB 3) 我在与我的 SharePoint Web 服务器相同的服务器上运行 Web 内容服务器。 4) 我的 SharePoint Web 服务器/Web 内容服务器在 Hyper-V 虚拟机中运行。 5) 我将每台虚拟机配置为使用两个网络适配器。第一个配置为“管理”网络适配器并配置为使用 DHCP 获取 IP 地址。另一个配置为拥有静态 IP 地址以设置 NLB。     您可以通过不同方式执行以下操作: 1) 分别部署 SharePoint Web 服务器和 Web 内容服务器并分别对它们进行负载平衡。 2) 在物理主机而非虚拟机中部署服务器。 3) 设置一台并非运行于 SharePoint Web 服务器或 Web…

0

在 Runbook 中轻松使用 PowerShell V3 的“可靠会话”

几个星期前,Karl Prosser 发表了一篇有关结合使用 PowerShell V3 与 Orchestrator(英文)的有趣文章。上周在 MMS 上,我有机会坐下来并浏览了提供的 PowerShell V3 动手实验之一。在该实验中,我发现了有关远程访问和会话方面的新功能,我认为这对 Orchestrator Runbook 非常有用。 目前,在“运行 .NET 脚本”活动中运行 PowerShell 存在的问题是,该活动在每次运行时,都会创建一个 PowerShell 运行空间来运行该脚本(并创建/结束一个正在使用的远程会话),然后关闭该运行空间。没有任何跨多个活动扩展的运行空间(更不用说管道)。这意味着,您无法将 PowerShell 对象从一个活动传递到下一个活动,所有对象都将作为字符串返回发布的数据。Orchestrator CodePlex 网站(英文)上提供的 PowerShell IP 解决了 PowerShell 2.0 中的这一问题,它通过创建一个在后台运行的 WCF 服务以跨多个活动维护该会话,您只需使用“开始会话”和“结束会话”活动管理该会话。现在的唯一问题是必须始终在后台运行此服务。 我们在 VMM 和 DPM 集成包中通过让 Runbook 线程跨多个活动保持运行空间状态避免了此问题,但此方法也有其局限性,就是每次从一个活动(有多个传出链接)创建分支时,当前的线程将停止,并为每个链接启动一个新线程。因此,即使在自己的活动中,我们也需要解决必须重新创建大量运行空间的问题。 PowerShell V3 的妙处在于,我们现在可以在 PowerShell 中本机实现运行空间和会话的重用,无需创建和运行一个服务。在 PS V3 中,您可以创建一个会话,然后不限次数地断开和重新连接该会话,由远程计算机为您维护该运行空间,并可以缓冲连接之间的发生的任何输出。在本例中,我将向您介绍如何使用此进程创建并跨多个活动重用一个会话。首先,下面提供了一个示例 Runbook: 我无需使用一个单独的活动来创建或关闭会话,这里仅将其作为一个示例。事实上,根本不用关闭会话。如果不使用,它最终会超时,但这不是一个理想的方法 – 当不再需要某些会话时,您不希望让它们处于打开状态,因为在超时之前,它们将用尽远程计算机上的会话配额。请始终作一个“良民”,并做好自己的清理工作。 下面是每个“运行 .NET…

0

IP 开发最佳做法:使用声明性方法、命令性方法还是同时使用?

当我开始使用 Opalis(现在称 Orchestrator)和 SDK 之初,就知道了可以使用声明性方法或命令性方法创建活动(和集成包)。据称,这是通向同一最终目标的两个相互排斥的途径。随着我越来越多地使用 Orchestrator,并且我现在负责作为此产品功能之一的 SDK,我对它有了更深入的了解,而且还了解到并非一切都总是像宣传的那样。 作为“OIT 人”,内部和外部人员经常问我这样的问题:创建新活动的最佳做法是什么?是使用声明性方法、还是命令性方法,或者混合使用这两种方法?好,这个问题的答案是“要看具体情况”(我希望您知道我会这样说)。对于某些人而言,使用声明性方法带一些特性和静态定义的输入和输出就足够了。对于其他人而言,他们需要更动态的活动,更喜欢命令性方法。命令性方法还为您提供使用声明性方法无法访问的其他功能。同样,还有一些仅使用命令性方法无法访问的情况,因此,如果希望能够使用 SDK 中的所有功能,最终还需要使用混合方法。 注意:要了解使用这两种方法创建活动的基础知识,请参阅 MSDN 上的下列页面: Orchestrator SDK 入门(英文) 采用命令性方法(英文) 另外,您还可以在 MSDN 上的以下位置找到 SDK 类的完整描述:Microsoft.SystemCenter.Orchestrator.Integration 应理解在创建自定义活动中应在何处使用哪种类型的模型,它可以帮助您清楚地划定每种模型的功能。此类比较实际上并不是随处可见,因此我想为大家创建一个。我将从活动本身开始。 活动 每个活动都封装在设计时显示属性和在运行时执行活动的操作所需的所有功能。 功能 [Activity] 特性 IActivity 接口 提供活动的名称 在特性的第一个字符串中指定。例如:[Activity (“Hello World”) ] 还可以使用:[Activity (Name=”Hello World”) ] 如果未指定任何名称,将使用该类的名称。 无等效项 提供活动的描述 [Activity (“Hello World”, Description=”The activity description goes here”) ] 无等效项 显示 [Filters](筛选器)选项卡…

0