- 入门指南
- 要求
- 最佳实践
- 安装
- 正在更新
- 身份服务器
- 对启动错误进行故障排除

Orchestrator 安装指南
- Windows 服务器操作系统 - 最低要求版本:2016。查看其他受支持版本的软件要求。
- Windows PowerShell - 最低要求版本:5.1。 要下载 Windows PowerShell 5.1 版,请访问 此链接 并安装 Windows Management Framework 5.1。 有关其他帮助,请参阅 Windows PowerShell 5.1 安装文档。
- .NET 框架 - 最低要求版本:4.7.2。要了解计算机上安装了哪个 .NET 版本,请参阅查找已安装的 .NET 版本。
- IIS - 最低要求版本:10。这是网页服务器 (IIS) 角色的一部分,由提供的 InstallRolesAndFeatures.ps1脚本自动启用,可在此处找到。
- 
                     ASP.NET Core IIS 模块 - 版本 8.0.x(可在此处获取)。作为 Hosting Bundle 的一部分提供。要下载它,请确保单击“Hosting Bundle”选项。 注意:仅需要 Core 模块,并且可以使用命令行中的OPT_NO_RUNTIME=1参数在没有任何运行时的条件下进行安装。
- URL 重写 - 所需的最低版本 2.1。使网站能够将调用重定向到 HTTPS (https://servername),而不是 HTTP (http://servername)。请通过访问此链接下载并安装 URL 重写。
- 服务器角色和功能。我们提供 PowerShell 脚本,该脚本可自动将所需角色和功能添加到应用程序服务器。角色和功能列表在服务器角色和功能中显示。请注意,本章仅供参考。
- 网页部署扩展程序 - 最低要求版本:3.6,64 位版本。请注意,这仅适用于 PowerShell 脚本安装,如 Azure 脚本安装。 该扩展程序用于部署网站。
- Web.Config - web.config的<system.webServer>元素不得包含任何锁定部分。如果存在此类部分,则需要在 IIS 中手动将其解锁。
- 
                     应用程序池用户需要在本地计算机策略中具有以下权限: - 作为批处理作业登录。
 
- 
                     必须启用匿名身份验证。 图 1. 以批处理作业策略登录重要提示:确保运行安装程序的用户是域用户。
在用户访问 Web 应用程序的所有浏览器上,对于机器人和 Orchestrator 之间的所有通信,HTTPS 协议都是必需的。
可以使用以下 3 种类型的 Web 证书。
- 由受信任的证书颁发机构颁发的网页证书,如 GoDaddy、VeriSign 等。网页证书必须导入到 IIS 中的服务器证书。您需要知道“颁发给”实体的名称,该实体必须由 Windows 安装程序提示时提供。
- 您是一家证书颁发机构,可以颁发 Windows 域中受信任的证书。请参阅使用 HTTPS 协议证书。
- 自签名证书,不建议用于生产。证书在域内不受信任。因此,您需要导出其公钥,然后在所有机器人计算机上导入它。有关详细信息,请参阅针对 HTTPS 协议使用证书。
-sslCertificate 提到的证书名称,与 IIS 服务器证书的“颁发对象”列中显示的证书名称相同。
               出于安全原因,身份服务器使用的证书需要:
- 具有至少含 2048 位的公钥,
- 具有签名能力,
- 
                        具有可由应用程序池用户访问的私钥, 
- 处于有效期(未过期)。
appsettings.Production.json 的签名凭据部分中。
                  如果使用自签名证书,则还必须将其放置在受信任的根证书颁发机构证书存储区(通常的个人位置旁边)。
证书用于对 OpenID 访问令牌进行签名,这些令牌则是用于通过浏览器执行用户识别以及 Orchestrator 与身份服务器之间的服务到服务通信。单击此处了解有关 OpenID 连接的更多详细信息。
- SQL Server 产品可以与应用程序服务器安装在同一台计算机上(不建议用于生产环境),也可以作为单独的计算机提供。SQL Server 计算机可以与其他应用程序共享。它不需要专用于 Orchestrator。单击此处查看有关部署始终启用可用性组的必备程序、限制和建议,并单击此处了解有关物理部署选项的详细信息。
- 
                     如果计划使用 SQL Server 用户将 Orchestrator 连接到数据库,请启用 Windows 和 SQL Server 身份验证模式。否则,便只需启用“Windows 身份验证模式”。如果已安装 SQL Server,请选择此选项,如下图所示: 注意:SQL Server 用户必须具有服务器级别的访问权限,数据库级别的访问权限不足以成功安装。图 3.“属性”选项图 4. 服务器属性
- 排序规则序列必须是默认值 - Latin1_General_CI_AS。
- SQL Server Management Studio 是配置访问 SQL Server 的域用户的登录名所必需的。 应用程序池以域用户的名义在应用程序服务器上运行。
- 如果您正在考虑安装 Insights,请确保您的数据库同时支持列存储索引和 JSON 函数。
SQL Server 配置
在安装 Orchestrator 之前,必须配置要使用的 SQL Server 实例。
要求:
- SQL Server 计算机的名称;
- 实例的名称(如果不是默认实例);
- TCP 端口的值(如果不是默认端口) - 1433;
- SQL Server 端口已在 SQL Server 计算机的防火墙中打开;
- 必须启用 SQL Server 配置管理器中的 TCP 协议;
- SQL Server 服务需为侦听固定端口,而不是动态分配的端口。
- 
                        运行 Orchestrator 的服务帐户需要具有对 SQL 主数据库的公共访问权限。 这对于安装和将来的升级都是必需的。 重要提示:为提高性能、避免死锁并防止 SQL 中的脏读,请确保将“READ_COMMITTED_SNAPSHOT”选项设置为“ON”。要在启用了快照隔离的情况下使用多个机器人处理同一队列,务必将ALLOW_SNAPSHOT_ISOLATION选项设置为ON。使用以下查询检查READ_COMMITTED_SNAPSHOT是否已启用:SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name= 'UiPath'SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name= 'UiPath'如果已启用,则返回的值为1。如果已禁用,则返回的值为0。使用以下查询启用它:ALTER DATABASE UiPath SET READ_COMMITTED_SNAPSHOT ONALTER DATABASE UiPath SET READ_COMMITTED_SNAPSHOT ON
- 
                        如果您对测试自动化和/或更新服务器使用不同的数据库,则还必须在这些数据库上启用READ_COMMITTED_SNAPSHOT。选择以下选项之一,Orchestrator 可以通过该选项连接到 SQL Server 数据库。 
Windows 集成身份验证
对于此选项,SQL Server 需要作为服务帐户进行新的登录。服务帐户应是密码永不过期的域用户。
若要在 SQL Server 管理 Studio 中创建新登录,请执行以下操作:
- 在“对象资源管理器”面板中,导航到“安全”>“登录”。
- 右键单击“登录名”文件夹,然后选择“新建登录名”。系统将显示“登录名 - 新建”窗口。
- 选择“Windows 身份验证”选项。窗口会相应地更新。
                        图 5. “登录”- “新建”窗口
 
- 在“登录名”字段中,键入要用作服务帐户的用户域。
- 从“默认语言”列表中选择“English”。
                        重要提示:确保将“默认语言”设置为“英语”。否则,网站将无法启动,并且安装了 Orchestrator 的计算机上的事件查看器将显示以下错误消息:“将 VARCHAR 数据类型转换为日期时间数据类型导致值超出范围”。
- 单击“确定”。您的配置已保存。
                        如果服务帐户已创建并添加到 SQL Server 的“安全”>“登录”部分,请检查该 SQL 帐户的默认语言是否设置为英语。如果不是,请进行必要的调整。 
SQL Server 用户名和密码
sa 帐户。
                  若要在 SQL Server 管理 Studio 中创建新 SQL 登录,请执行以下操作:
a. 在“对象资源管理器”面板中,导航到“安全”>“登录”。
b. 右键单击“登录”文件夹并选择“新登录”。将显示“登录 - 新”窗口。
c. 选择 SQL Server 身份验证选项。窗口会相应地更新。
d. 适当填写“登录名”、“密码”和“确认密码”字段。
e. 确保未选择“强制密码过期”和“用户必须在下次登录时更改密码”选项。
如果 SQL Server 帐户已创建并添加到 SQL Server 的“安全”>“登录”部分,请检查其“默认语言”是否设置为英语。如果不是,请进行必要的调整。
dbcreator 服务器角色,因为数据库是在此安装过程中创建的。
                  dbcreator 服务器角色,请在 SQL Server 中创建空数据库。
                  Windows 安装程序连接到 SQL Server 以验证数据库是否存在。
db_owner 用户映射角色,如以下屏幕截图所示。
                  db_owner 用户映射角色与 UiPath 登录名一起使用,请授予以下权限:
                  - db_datareader
- db_datawriter
- db_ddladmin1
- 
                        dbo架构上的EXECUTE权限图 8. 登录属性
db_ddladmin 角色仅在安装或迁移期间需要。出于安全原因,我们建议您在安装或迁移后(使用 ALTER ROLE db_ddladmin DROP MEMBER [SQLReadWrite])将其删除,并在升级前将其重新添加(使用 ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite])。
                  [block:image] { "images": [ { "image": [] } ] } [/block]
GRANT EXECUTE SQL 命令授予 EXECUTE 权限,如下所示。
                  - 
                        如果使用 Windows 集成身份验证: USE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [domain\user] GOUSE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [domain\user] GO
- 
                        如果使用 SQL Server 身份验证: USE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [sql_user] GOUSE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [sql_user] GO
Azure AD 身份验证
要将 Azure AD 身份验证与 SQL Server 一起使用,您必须在 Azure 应用程序服务或 Azure 虚拟机中安装 Orchestrator。
在 Azure 应用程序服务中运行的 Orchestrator
- 
                           在资源组中创建新的用户托管标识,并复制客户端 ID 以供将来使用。 图 9. 客户端 ID
- 
                           将身份添加到 Orchestrator、Identity Server 和 Webhook 应用程序服务的用户分配的身份列表。 图 10. 添加身份
- 
                           为托管 Orchestrator 数据库的 SQL Server 启用 Azure Active Directory 管理员。 图 11. 设置管理员
- 
                           为在步骤 1 中为 Orchestrator 数据库和主数据库创建的身份创建 SQL 登录名。使用在步骤 3 中设置的管理员帐户登录数据库,然后运行以下命令 CREATE USER [SQLReadWrite] FROM EXTERNAL PROVIDERCREATE USER [SQLReadWrite] FROM EXTERNAL PROVIDER
- 
                           在 Orchestrator 数据库上添加用户角色(主数据库也不需要此操作): - 如果 db_owner角色不受限制,则添加以下角色:ALTER ROLE db_owner ADD MEMBER [SQLReadWrite]
- 
                                 如果db_owner角色不可用,请添加以下角色,其中SQLReadWrite是在步骤 3 中创建的身份名称:ALTER ROLE db_datareader ADD MEMBER [SQLReadWrite] ALTER ROLE db_datawriter ADD MEMBER [SQLReadWrite] ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite] GRANT EXECUTE ON SCHEMA::dbo TO [SQLReadWrite]ALTER ROLE db_datareader ADD MEMBER [SQLReadWrite] ALTER ROLE db_datawriter ADD MEMBER [SQLReadWrite] ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite] GRANT EXECUTE ON SCHEMA::dbo TO [SQLReadWrite]仅在安装或迁移期间才需要db_ddladmin角色。出于安全原因,我们建议您:
- 
                                 安装或迁移后将其删除 ALTER ROLE db_ddladmin DROP MEMBER [SQLReadWrite]ALTER ROLE db_ddladmin DROP MEMBER [SQLReadWrite]
- 
                                 在升级前重新添加 ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite]ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite]
 
- 如果 
- 
                           在“设置”-“环境变量”-“连接字符串”下更新 Orchestrator、Identity Server 和 Webhooks 应用程序服务中的连接字符串。连接字符串应为: Server=tcp:<http://aad-paas-sql.database.windows.net|aad-paas-sql.database.windows.net>,1433;Initial Catalog=UiPath;Persist Security Info=False;User ID=7e8df0ba-bc41-46d1-bd46-6101e45200a8;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Authentication=Active Directory Managed Identity;Server=tcp:<http://aad-paas-sql.database.windows.net|aad-paas-sql.database.windows.net>,1433;Initial Catalog=UiPath;Persist Security Info=False;User ID=7e8df0ba-bc41-46d1-bd46-6101e45200a8;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Authentication=Active Directory Managed Identity;备注:- 将 USER ID设置为在步骤 1 中创建的客户端 ID 的值。
- 确保使用 Authentication=Active Directory Managed Identity。
- 不需要密码或令牌。
 
- 将 
在 Azure 虚拟机中运行的 Orchestrator
- 
                           在资源组中创建新的用户托管标识,并复制客户端 ID 以供将来使用。 图 12. 客户端 ID
- 
                           将身份添加到运行 Orchestrator 的虚拟机的用户分配的身份列表中。 图 13. 添加身份
- 
                           为托管 Orchestrator 数据库的 SQL Server 启用 Azure Active Directory 管理员。 图 14. 设置管理员
- 
                           为在步骤 1 中为 Orchestrator 数据库和主数据库创建的身份创建 SQL 登录名。使用在步骤 3 中设置的管理员帐户登录数据库,然后运行以下命令: CREATE USER [SQLReadWrite] FROM EXTERNAL PROVIDERCREATE USER [SQLReadWrite] FROM EXTERNAL PROVIDER
- 
                           在 Orchestrator 数据库上添加用户角色(主数据库也不需要此操作): - 如果 db_owner角色不受限制,则添加以下角色:ALTER ROLE db_owner ADD MEMBER [SQLReadWrite]
- 
                                 如果db_owner角色不可用,请添加以下角色,其中 1SQLReadWrite1 是在步骤 3 中创建的身份名称。ALTER ROLE db_datareader ADD MEMBER [SQLReadWrite] ALTER ROLE db_datawriter ADD MEMBER [SQLReadWrite] ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite] GRANT EXECUTE ON SCHEMA::dbo TO [SQLReadWrite]ALTER ROLE db_datareader ADD MEMBER [SQLReadWrite] ALTER ROLE db_datawriter ADD MEMBER [SQLReadWrite] ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite] GRANT EXECUTE ON SCHEMA::dbo TO [SQLReadWrite]仅在安装或迁移期间才需要db_ddladmin角色。出于安全原因,我们建议您:
- 
                                 安装或迁移后将其删除 ALTER ROLE db_ddladmin DROP MEMBER [SQLReadWrite]ALTER ROLE db_ddladmin DROP MEMBER [SQLReadWrite]
- 
                                 在升级前重新添加 ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite]ALTER ROLE db_ddladmin ADD MEMBER [SQLReadWrite]
 
- 如果 
- 
                           更新 Orchestrator 中的连接字符串: <add name="Default" providerName="Microsoft.Data.SqlClient" connectionString="Data Source=aad-paas-sql.database.windows.net;Initial Catalog=UiPath;User ID=7e8df0ba-bc41-46d1-bd46-6101e45200a8;Authentication=Active Directory Managed Identity;" /><add name="Default" providerName="Microsoft.Data.SqlClient" connectionString="Data Source=aad-paas-sql.database.windows.net;Initial Catalog=UiPath;User ID=7e8df0ba-bc41-46d1-bd46-6101e45200a8;Authentication=Active Directory Managed Identity;" />备注:- 确保将 USER ID设置为在步骤 1 中创建的客户端 ID 的值。
- 确保使用 Authentication=Active Directory Managed Identity。
- 不需要密码或令牌。
 
- 确保将 
Orchestrator 的高可用性加载项 (HAA) 是一个内存数据库,用于缓存并在 Orchestrator 节点之间共享,从而提供近乎即时的同步。
HAA 在集群环境中是必需的。
多节点 Orchestrator 部署使用 RESP(REdis 序列化协议)进行通信,因此可以使用依赖于此协议的任何解决方案进行配置,但 HAA 是这类解决方案中唯一受 UiPath 支持的解决方案。
以下信息存储在 HAA 中:
- 会话状态 - 在多个节点上安装 Orchestrator时自动设置
- 来自浏览器的用户会话
- 机器人检测信号缓存
- 用户和角色之间的关联
- 用户与组织单位之间的关联
- 许可证信息
- 设置
Orchestrator 使用 HAA 作为其所有节点的共享缓存。以下示例描述了如何使用缓存在 Orchestrator 节点之间进行协调:
- 示例:用户在 Orchestrator 节点上的上手动启动机器人作业。该特定节点可能不知道机器人连接到哪个 Orchestrator 节点。您从中启动作业的节点会将请求转发到 HAA,而 HAA 会同步信息。已与相关机器人建立连接的 Orchestrator 节点向其发送开始命令。未连接到我们的机器人的其他 Orchestrator 节点只会忽略该命令。
LoadBalancer.Redis.ConnectionString UiPath.Orchestrator.dll.config 参数在 Orchestrator 节点和 HAA 服务之间启用 SSL 加密连接。有关详细信息,请参阅此页面。
               UiPath.Orchestrator.dll.config 文件(C:\Program Files (x86)\UiPath\Orchestrator)更改。有关详细信息,请参阅日志记录配置。
               如果您选择使用 Elasticsearch,请注意,虽然它是可在 Windows、Linux 或 Unix 上运行的跨平台产品,但仍需要 Java。您可以使用 OpenJDK 或 Oracle JRE。兼容性矩阵由 Elasticsearch 在此处提供。
http://computername.domain.name 或 http://computername,而不是 http://localhost。
               如果无法做到这一点,则应在安装过程中使用计算机名称或 IP 地址。
安装 Elasticsearch
- 下载 Elasticsearch。
- 
                        双击 Elastic Search Windows 安装程序。 系统将在“ 位置 ”步骤显示 Elastisearch 向导。 图 15. Elasticsearch 安装程序
- 
                        使用安装、数据、配置和日志的默认目录,或为每个目录选择自定义位置。 注意: 如果您的磁盘不是安装 Elasticsearch 的磁盘,则可以配置 Elasticsearch 以将数据存储在具有更多可用空间的磁盘上。
- 
                        单击下一步。系统随即会显示服务步骤。 图 16. Elasticsearch 安装程序
- 
                        确保选择以下选项: - 作为服务安装
- 安装完成后启动服务
- 在 Windows 启动时启动服务 (自动)
 
- 单击 “下一步”。 系统将显示“ 配置 ”步骤。
- 
                        根据需要配置以下选项: - 集群名称 - 将值更改为反映此 Elasticsearch 安装目的的值。 如果您的 Intranet 中有多个带有 Elasticsearch 的服务器,则这一点非常重要,以避免自动发现。
- 节点名称 - 节点的易记名称。
- 角色 - 建议使用默认选项。
- 内存 - 建议使用默认选项。
- 网络主机 - 计算机的主机名/IP 地址(您可以通过运行命令主机名在命令提示符中获取计算机名称)。
- HTTP 端口 - Elasticsearch 的默认端口为 9200
- 
                              Discovery - 为群集中的第一个节点启用“This is the first master in a new cluster”复选框。 图 17. “发现”字段重要提示: 如果 Orchestrator 安装在其他计算机上,请记住在安装 Elasticsearch 的计算机的防火墙中打开端口 9200。
 
- 单击下一步。系统随即会显示插件步骤。
- 
                        (可选)为 Elasticsearch 选择其他插件,例如 X-Pack 以确保安全。 图 18. X-Pack 插件
- 
                        单击“安装”。Elasticsearch 安装完成。 图 19. Administrator: Elasticsearch
减少索引分片的数量
默认情况下,新创建的 Elasticsearch 索引有五个分片。但是,为了提高性能,建议将这个数字减为 2。有关详细信息,请参阅 Elasticsearch 的官方文档。
elasticUrl/_template/uipath_logs 格式向 Elasticsearch 实例 URL 发出 PUT 请求,请求正文如下:
                     {
    "template": "*",
    "order": 1,
    "settings": {
        "number_of_shards": 2
    }
}{
    "template": "*",
    "order": 1,
    "settings": {
        "number_of_shards": 2
    }
}http://computername:9200/。 Computername 代表安装了 Elasticsearch 的计算机的名称。 浏览器应要求您下载 .json 文件,或打开并显示该文件,如下图所示。
                     Kibana 与 Elasticsearch 结合使用,可帮助您根据发送到 Elasticsearch 的日志(在本例中为机器人发送的日志)创建自定义视图。
安装 Kibana
- 下载 Kibana。
- 解压缩 Kibana 包。
                        注意: 解压缩到 C:\ 或 D:\。 您无需创建名为kibana-x.y.z-windows的新文件夹,因为存档中的文件已放置在具有该名称的文件夹中。
- 编辑 Kibana 配置文件 (C:\kibana-x.y.z-windows-x86\config\kibana.yml),如下所示:注意: 首先,使用写字板打开文件并保存,以将 LF(换行)字符转换为 CRLF(回车换行)字符。 然后,使用记事本打开文件。- 取消注释包含 server.port的行。默认值为 5601。它不需要更改,除非您希望 Kibana 在不同的端口上运行。
- 取消注释包含 server.host的行。将值更改为计算机名称。
- 取消注释包含 elasticsearch.url的行。使用安装 Elasticsearch 的计算机的名称将值更改为 Elasticsearch URL。例如http://computername:9200。注意:对于 Kibana 6.6.0 或更高版本,此行已替换为elasticsearch.hosts。下面的屏幕截图显示了 Kibana 配置文件的示例,其中 Kibana 和 Elasticsearch 的计算机名称都是 JLTSQL:图 21. Kibana 配置
 
- 保存文件。
 
- 取消注释包含 
- 下载 setup-kibana-service.zip 存档。
- 将 nssm.exe和setup_kibana.bat文件从setup-kibana-service.zip存档复制到C:\kibana-x.y.z-windows-x86\bin。
- 打开 setup_kibana.bat文件,检查是否按照 BAT 文件的KIBANA_HOME变量中设置的位置安装了 Kibana。 如果您已将 Kibana 提取到其他位置,请进行必要的更改。
- 以管理员身份打开命令提示符,并将文件夹更改为 C:\kibana-x.y.z-windows-x86\bin。
- 运行 setup_kibana.bat以安装 Kibana。
- 通过在任何网页浏览器中键入 http://computername:5601来测试 Kibana 是否响应。computername表示安装了 Kibana 的计算机的名称。重要提示: 在安装了 Kibana 的计算机的防火墙中打开端口 5601。
- 使用 Kibana 在 Elasticsearch 数据库中添加测试消息:
                        - 在 Kibana 中,导航到“开发工具”选项卡。
-  以下面显示的格式提交 POST 请求。如果未返回任何错误,则将创建名为 default-yyyy.mm的 Elasticsearch 索引,并会添加消息。
 
yyyy 表示添加消息的年份。 mm 表示添加消息的月份。 阅读 创建索引模式以连接到 Elasticsearch ,了解如何在 Kibana 中创建索引模式。