Lync Server 2013 持久聊天资源工具包工具

 

上次修改的主题: 2013-02-24

Lync Server 2013 持久聊天资源工具包工具可帮助部署和管理 Lync Server 2013 持久聊天服务器的 IT 管理员更轻松地执行日常任务。 除了安装说明,本主题还介绍了每个工具的用途及其使用示例。

安装资源管理包工具

若要安装 Lync Server 2013 资源工具包工具,请下载 PersistentChatReskit.msi。 运行 PersistentChatReskit.msi 执行简单的安装。 .msi安装以下路径中的所有工具:\Program Files\ Microsoft Lync Server 2013\Persistent Chat Server Resource Kit。 属于自包含可执行文件的工具位于此文件夹中。 也有文件的工具位于其自己的子文件夹中。

重要

安装 Lync Server 2013 资源工具包后,必须安装 PsExec.exe 并将 PsExec.exe 复制到以下路径:\Program Files\ Microsoft Lync Server 2013\Persistent Chat Server Resource Kit\ChatStressTool。 如果不复制 PsExec.exe,持久聊天压力工具将引发错误异常,并且无法正确执行。 在运行该工具之前,请确保满足此先决条件要求。 有关安装 PsExec.exe的详细信息,请参阅 https://go.microsoft.com/fwlink/p/?LinkId=282246

支持的环境

为了获得最佳性能,Lync Server 2013 资源工具包工具应安装在同一环境中,并且具有 Lync Server 2013 所需的相同规范。

资源管理包工具概述

以下是 Lync Server 2013 持久聊天资源工具包中提供的工具。 以下部分提供每个工具的说明,包括要求和示例用法。

  • AffCheck

  • ChatMonitoringSummary

  • ChatStress 工具

  • ChatUpgradeVerifier

  • ChatUsageReport

  • ScheduleADSyncforPrincipal

AffCheck

说明

AffCheck 工具确认持久聊天后端数据库用户和组从属关系记录与Active Directory 域服务的记录匹配。

要求

该工具随已加入域的计算机上的 PersistentChatResKit 安装程序一起安装。

运行该工具的用户帐户必须具有对持久聊天后端数据库和Active Directory 域服务的读取访问权限。

用法

根据配置文件中的说明配置AffCheck.exe.config文件,并运行没有命令行参数的 AffCheck 工具。 下面是默认AffCheck.exe.config的内容。

AffCheck.exe.config:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <!--Domain Controller IP Address-->
        <add key="LDAP" value="LDAP://0.0.0.0/"/>
        
        <!-- Domain DN  This is case sensitive, it must match exactly-->
        <add key="DomainComponent" value ="DC=DOMAIN,DC=COM"/>
        
        <!--Domain Administrator Login and Password-->
        <add key="DomainLogin" value="DOMAIN\Administrator"/>
        <add key="DomainPassword" value ="password"/>
        
        <!-- Connection string to Group Chat Database-->
        <add key="ConnectionString" value="data source=SQL_SERVER\INSTANCE;initial catalog=DATABASE_NAME;integrated security=SSPI"/>
        
        <!--Check group affiliations-->
        <add key="CheckGroups" value="true"/>
        
        <!--Check user affilations-->
        <add key="CheckUsers" value="true"/>
        
        <!--List all affiliations if there is a mismatch between database and active directory-->
        <add key="ListAffiliations" value="true"/>
    
        <!--If you need to offset the results of the number of affilations in AD(can be negative to add to AD parent count)-->
        <add key="Offset" value ="0"/>
    
        <!--If you need to ignore certain parents, provide a semi colon delimitted list.-->
        <add key="Ignore" value ="DC=uatest,DC=test,DC=contoso,DC=com;DC=test,DC=contoso,DC=com"/>
      </appSettings>
    </configuration>

ChatMonitoringSummary

说明

PersistentChatMonitoringSummary 工具将持久聊天监视信息从监视数据库移动到指定的 CSV 日志文件中。

CSV 文件将按总会话数、成功会话数、意外故障、预期故障以及诊断 ID、失败次数和故障说明对意外故障的细分来包含持久聊天会话的细目。

要求

在已加入域的计算机上安装持久聊天资源工具,该计算机有权访问监视数据库。

运行工具的用户帐户必须具有对监视数据库的读取访问权限。

文件PersistentChatMonitoringSummary.exe.config必须包含一个 <connectionStrings> 部分,该节定义了与 Monitoring 数据库的连接字符串。 它还必须包含将收集监视数据的 PersistentChatEndpointUri 的密钥,以及要生成的 CSV 文件位置的文件路径。 有关示例,请参阅已安装的配置文件。 该文件必须与工具位于同一目录中。

用法

    PersistentChatMonitoringSummary [-StartDateTime <date>] [-EndDateTime <date>]

这些参数定义了数据的选择:

StartDateTime: (可选)指定选择期的开始日期。 默认值:1753/1/12:00:00 AM

EndDateTime: (可选)指定选择期的最后日期。 默认值:现在

示例

    C:\Users\Administrator.VDOMAIN>Desktop\PersistentChatMonitoringSummary.exe
    Reading database connection information, Persistent Chat endpoint uri, and csv output path information from the application config file...
    Connecting to Monitoring database with connection string specified in the application config file...
    Gathering Persistent Chat Session Summary information between "1/1/1753 12:00:00 AM" and "11/19/2012 10:11:25 AM" for Persistent Chat Endpoint Uri "persistentChatEndpointUri@domain.com"...
    Press enter to continue or hit ctr-c if these settings are incorrect...
    
    The summary information about Persistent Chat sessions from the Monitoring database has been output to C:\PersistentChatMonitoring_dd4ace24-4c8a-4a3d-8fd4-591bdfacf47b.csv
    Press enter to exit...

持久聊天压力工具

说明

持久聊天压力工具提供了一种简单的方法来模拟持久聊天的使用情况,以测试实际性能,包括各种用户模型,以便更好地适应预期的使用方案。

要求

将持久聊天资源工具安装到已加入域的计算机上,该计算机有权访问持久聊天后端数据库。

除了此 控制器 计算机,还需要几台 加载程序 计算机。 对于用户模型中的每 10K 用户,在加载程序计算机上至少需要 4GB 的免费 RAM。 例如,具有 80K 用户的运行需要大约 32GB 的 RAM 分布在所有加载程序计算机上。 我们建议至少拥有三台加载程序计算机,而不考虑预期的负载。

加载程序计算机必须安装 .NET 4.5 框架以及 Visual C++ 2012 Redistributable。

配置

将 ChatStressTool 文件复制到可从所有加载程序计算机访问的共享文件夹中。

创建用于压力运行的用户和通道:

  • 创建用户模型所要求的用户数,为 Lync 启用用户,并将其持久聊天策略设置为“已启用”。

  • 为压力通道创建一个类别,然后根据该类别需要创建任意数量的房间。 该类别应通过添加其 OU) ,使其 允许 列表中的所有压力用户 (,压力室应具有 “开放”的隐私设置。

  • 我们建议创建额外的压力室。 可以使用以下命令行接口命令创建 50,000 个会议室Windows PowerShell:

        for ($i = 0; $i -le 50000; $i++) { New-CsPersistentChatRoom -Category <parent category> -Name "StressChan_$i" -Privacy Open }
    

编辑配置文件以适应拓扑:

在LoaderProcess.exe.config中,将“controller.contoso.com”更改为控制器计算机的完全限定域名 (FQDN) 。

StressLauncher.exe.config中:

  1. 将“LoaderBinary”设置值更改为共享文件夹的路径。

  2. 将“AdminUser”/“AdminPassword”更改为对加载程序计算机具有管理员访问权限的凭据。

  3. 将“ChannelCategory”更改为已创建压力通道的类别的名称。

  4. 将“UserNamePattern”和“UserPasswordPattern”更改为与压力用户凭据匹配的模板。 {0} 替换为用户的索引号。

  5. 将“域”更改为测试拓扑的 SIP 域。

  6. 将“ConnectionString”更改为持久聊天后端数据库的连接字符串。

  7. 将“UserIndexStart”更改为第一个压力用户的索引。

  8. 将“LyncFQDN”更改为前端池的 FQDN。

  9. 修改“计算机”列表以包含所有加载程序计算机的计算机名称。

  10. 将服务终结点的 baseAddress 更改 (默认值为“controller.contoso.com”) 控制器计算机的 FQDN。

用法

配置完成后,在控制器计算机上打开StressLauncher.exe。 可以以任何用户身份启动 StressLauncher。 必须在配置文件中指定加载程序进程在加载程序计算机上启动的凭据。 还必须提供具有对持久聊天后端数据库的读取访问权限的连接字符串。 如果此连接字符串使用集成Windows 身份验证,则必须以具有此访问权限的用户身份启动 StressLauncher。

根据需要更改用户模型设置。 单击 “开始加载 ”以启动运行。 大约一分钟后,用户将开始登录,进度栏将开始填充。 此时,可以使用控制器计算机并进行性能测量。

ChatUpgradeVerifier

说明

ChatUpgradeVerifier 是一种持久聊天特定的数据库比较工具。 该工具将群聊 2007 R2 或群聊 2010 数据库 (2007/2010Db) 与持久聊天 2013 数据库 (2013Db) 进行比较。

该工具将在 2007/2010Db 中逐个检查每个类别、持久聊天室和加载项,以查看它是否出现在 2013Db 中。 比较包括检查类别、聊天室或加载项上的所有设置、类别范围内的任何主体以及该类别或聊天室中角色中的任何主体。 如果类别或聊天室在 2013Db 中未正确显示,则差异将输出到冲突文件。 如果在升级后更改了 2007/2010Db,然后运行此工具,则冲突文件将输出差异。 请注意,此应用程序仅是数据库比较工具,不验证升级过程。

要求

在已加入域的计算机上安装持久聊天资源工具,该计算机有权访问持久聊天后端数据库 (持久聊天) 的早期和当前版本。

运行工具的用户帐户必须具有对持久聊天数据库的读取访问权限。

ChatUpgradeVerifier.exe.config文件必须包含 GroupChat2007R2Db 参数或 GroupChat2010Db 参数,其中包含与相应的组聊天数据库 (Groupchat 2007R2 或 2010) 的连接字符串。 它还必须包含 PersistentChat2013Db 参数,其中包含与持久聊天 2013 数据库的连接字符串。

用法

在没有任何参数的情况下运行 ChatUpgradeVerifier

示例

正在运行ChatUpgradeVerifier.exe。

持久聊天使用情况报告

说明

ChatUsageReport 工具生成持久聊天服务使用情况的 HTML 报告。

要求

在已加入域的计算机上安装持久聊天资源工具,该计算机有权访问持久聊天后端数据库。

运行该工具的用户帐户必须具有对持久聊天后端数据库的读取访问权限。

文件ChatUsageReport.exe.config必须包含一个 <connectionStrings> 部分,该节定义了与持久聊天后端数据库的连接字符串。 此处包含默认配置文件的内容供参考。

用法

    ChatUsageReport [-StartDate {date}] [-EndDate {date}] [-TopActiveUsers {n}] [-TopActiveRooms {n}] [-LeastActiveRooms {n}] [-RoomsInactiveSince {Date}] [-OutputFolder {path}]

这些参数定义了数据的选择:

StartDate: (可选)指定选择期的 UTC 开始日期。 默认值:最早日期

EndDate: (可选)指定选择期的 UTC 结束日期。 默认值:现在

这些参数定义如何以及显示哪些数据:

TopActiveUsers: 如果指定此值,则报表将包含 n 个最活跃的用户,即用户在所选时间段内在聊天室中发布的消息数。 默认值:10

TopActiveRooms: 如果指定此信息,则报表将包含 n 个最活跃的聊天室,具体而言是所选时间段内在会议室中发布的消息数。 默认值:10

LeastActiveRooms: 如果指定此信息,则报告将包含在所选时间段的聊天室中发布的消息数目中最不活跃的聊天室。 会议室将至少发布一条消息。 默认值:10

RoomsInactiveSince: 如果指定此值,则报表将包含自指定日期以来一直处于非活动状态的聊天室列表。 默认值:整个时间

OutputFolder: 将放置ChatUsageReport.html和图形图像的文件夹。 必须在配置文件或命令行中定义。

所有命令行参数值也可以在ChatUsageReport.exe.config文件中指定,该文件与工具位于同一目录中。 如果在配置文件和命令行中指定了任何值,则命令行值将替代配置文件值。

输出

报表将始终包含以下输出:

  • 按所选时间段的消息帖子数排在最活跃的聊天室中。

  • 根据所选时间段的消息帖子数,最活跃的 n 个用户。

  • 按所选时间段的消息帖子数,最不活跃的聊天室数目。

  • 在数据库的整个生命周期内或自指定日期起处于非活动状态的聊天室。

  • 所选时间段的每日邮件发布趋势。

  • 所选时间段的每周邮件发布趋势。

  • 所选时间段的每月邮件发布趋势。

  • 所选时间段的消息帖子总数。

  • 启用的会议室总数。

示例

以下示例生成 2001 年全年的使用情况报表,并将报表放置在ChatUsageReport.exe.config中指定的 OutputFolder 中。

    ChatUsageReport -RoomsInactiveSince 06-20-2010

ChatUsageReport.exe.config:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <connectionStrings>
        <!-- The PersistentChat connection string must be defined in this file. -->
        <add name="PersistentChat" connectionString="Data Source=contoso.com\RTC;Initial Catalog=mgc;Integrated Security=SSPI"/>
      </connectionStrings>
      <appSettings>
        <!-- The OutputFolder must be defined here or on the command line. -->
        <add key="OutputFolder" value="."/>
        <!-- The values below are the same as the application defaults. -->
        <add key="StartDate" value="01/01/0001"/>
        <add key="EndDate" value="12/31/9999"/>
        <add key="TopActiveUsers" value="10"/>
        <add key="TopActiveRooms" value="10"/>
        <add key="LeastActiveRooms" value="10"/>
        <add key="RoomsInactiveSince" value="01/01/0001"/>
      </appSettings>
    </configuration></configuration>

ScheduleADSyncForPrincipal

说明

ScheduleADSyncForPrincipal 是 Microsoft SQL Server 2012 脚本,在连接到持久聊天后端数据库时必须直接从SQL Server Management Studio内部运行。 使用此脚本,可以强制持久聊天将其用户的记录与Active Directory 域服务的记录同步,而不是等待计划的同步时间。

要求

运行脚本的用户帐户必须具有对持久聊天后端数据库的所有者访问权限。

用法

下面是默认脚本的内容:

    /*
    This script will schedule a principal for a forced AD synchronization cycle
    
    If you're using Sql Server Management Studio, pressing Ctrl+Shift+M will 
    allow you to specify values for the template parameter.
    */
    
        insert into
          tblPrincipalMeta
          (
           prinID
          ,prinAffiliationsDirty
          ,prinAttributesDirty
          ,prinDeleted
          )
          select
            prinID
           ,1
           ,1
           ,0
          from
            tblPrincipal
          where
            prinID not in (select prinID from tblPrincipalMeta) and
            prinID = <PrinID,int,0>
     
        update
          tblPrincipalMeta
        set
          prinAffiliationsDirty = 1
         ,prinAttributesDirty = 1
         ,tryCount = 0
         ,nextTry = null
        where
         prinID = <PrinID,int,0>