- 入门指南
- 要求
- 最佳实践
- 安装
- 正在更新
- 身份服务器
- 对启动错误进行故障排除
安装前所需的必备程序
- Windows 服务器操作系统 - 最低要求版本:2012 R2。查看其他受支持版本的软件要求。
- Windows PowerShell - 最低要求版本:5.1。 要下载 Windows PowerShell 5.1 版,请访问 此链接 并安装 Windows Management Framework 5.1。 有关其他帮助,请参阅 Windows PowerShell 5.1 安装文档。
- .NET 框架 - 最低要求版本:4.7.2。要了解计算机上安装了哪个 .NET 版本,请参阅查找已安装的 .NET 版本。
- IIS - 最低要求版本:8。这是网页服务器 (IIS) 角色的一部分,由提供的
InstallRolesAndFeatures.ps1
脚本自动启用,可在此处找到。 - ASP.NET Core IIS 模块 - 最低版本 3.1.x 可 在此处获取 5.0.x 可 在此处获取,或 6.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 Deploy Extension 3.6。
- Web.Config -
web.config
的<system.webServer>
元素不得包含任何锁定部分。如果存在此类部分,则需要在 IIS 中手动将其解锁。 - 应用程序池用户需要在本地计算机策略中具有以下权限:
- 作为批处理作业登录。
- 必须启用匿名身份验证。
重要提示:确保运行安装程序的用户是域用户,并且在
WindowsAuth.Domain
设置中配置了 Active Directory 域访问权限。
在用户访问 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 用户必须具有服务器级别的访问权限,数据库级别的访问权限不足以成功安装。
- 排序规则序列必须是默认值 -
Latin1_General_CI_AS
。 - SQL Server Management Studio 是配置访问 SQL Server 的域用户的登录名所必需的。 应用程序池以域用户的名义在应用程序服务器上运行。
- 如果您正在考虑安装 Insights,请确保您的数据库同时支持列存储索引和 JSON 函数。
在安装 Orchestrator 之前,必须配置要使用的 SQL Server 实例。
要求:
- SQL Server 计算机的名称;
- 实例的名称(如果不是默认实例);
- TCP 端口的值(如果不是默认端口) - 1433;
- SQL Server 端口已在 SQL Server 计算机的防火墙中打开;
- 必须启用 SQL Server 配置管理器中的 TCP 协议;
- SQL Server 服务需为侦听固定端口,而不是动态分配的端口。
-
运行 Orchestrator 的服务帐户需要具有对 SQL 主数据库的公共访问权限。 这对于安装和将来的升级都是必需的。
重要提示:为提高性能、避免死锁并防止 SQL 中的脏读,请确保将“READ_COMMITTED_SNAPSHOT
”选项设置为“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 ON
ALTER DATABASE UiPath SET READ_COMMITTED_SNAPSHOT ON
-
如果您对测试自动化和/或更新服务器使用不同的数据库,则还必须在这些数据库上启用
READ_COMMITTED_SNAPSHOT
。选择以下选项之一,Orchestrator 可以通过该选项连接到 SQL Server 数据库。
对于此选项,SQL Server 需要作为服务帐户进行新的登录。服务帐户应是密码永不过期的域用户。
若要在 SQL Server 管理 Studio 中创建新登录,请执行以下操作:
- 在“对象资源管理器”面板中,导航到“安全”>“登录”。
- 右键单击“登录名”文件夹,然后选择“新建登录名”。系统将显示“登录名 - 新建”窗口。
- 选择“Windows 身份验证”选项。窗口会相应地更新。
- 在“登录名”字段中,键入要用作服务帐户的用户域。
- 从“默认语言”列表中选择“English”。
重要提示:确保将“默认语言”设置为“英语”。否则,网站将无法启动,并且安装了 Orchestrator 的计算机上的事件查看器将显示以下错误消息:“将 VARCHAR 数据类型转换为日期时间数据类型导致值超出范围”。
- 单击“确定”。您的配置已保存。
如果服务帐户已创建并添加到 SQL Server 的“安全”>“登录”部分,请检查该 SQL 帐户的默认语言是否设置为英语。如果不是,请进行必要的调整。
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_ddladmin
dbo
架构上的EXECUTE
权限[block:image] { "images": [ { "image": [] } ] } [/block]
GRANT EXECUTE
SQL 命令授予 EXECUTE
权限,如下所示。
- 如果使用 Windows 集成身份验证:
USE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [domain\user] GO
USE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [domain\user] GO - 如果使用 SQL Server 身份验证:
USE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [sql_user] GO
USE UiPath GO GRANT EXECUTE ON SCHEMA::dbo TO [sql_user] GO
要将 Azure AD 身份验证与 SQL Server 一起使用,您必须在 Azure 应用程序服务或 Azure 虚拟机中安装 Orchestrator。
在 Azure 应用程序服务中运行的 Orchestrator
-
在资源组中创建新的用户托管标识,并复制客户端 ID 以供将来使用。
-
将身份添加到 Orchestrator 应用程序服务的用户分配的身份列表中:
-
为托管 Orchestrator 数据库的 SQL Server 启用 Azure Active Directory 管理员。
-
为在步骤 1 中为 Orchestrator 数据库和主数据库创建的身份创建 SQL 登录名。使用在步骤 3 中设置的管理员帐户登录数据库,然后运行以下命令
CREATE USER [SQLReadWrite] FROM EXTERNAL PROVIDER
CREATE 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]
- 如果
-
通过运行以下命令更新 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
。 - 不需要密码或令牌。
- 将
在 Azure 虚拟机中运行的 Orchestrator
-
在资源组中创建新的用户托管标识,并复制客户端 ID 以供将来使用。
-
将身份添加到运行 Orchestrator 的虚拟机的用户分配的身份列表中。
-
为托管 Orchestrator 数据库的 SQL Server 启用 Azure Active Directory 管理员。
-
为在步骤 1 中为 Orchestrator 数据库和主数据库创建的身份创建 SQL 登录名。使用在步骤 3 中设置的管理员帐户登录数据库,然后运行以下命令:
CREATE USER [SQLReadWrite] FROM EXTERNAL PROVIDER
CREATE 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]
- 如果
-
更新 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 节点只会忽略该命令。
UiPath.Orchestrator.dll.config
中的 LoadBalancer.Redis.ConnectionString
参数在 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。
-
双击 Elastic Search Windows 安装程序。 系统将在“ 位置 ”步骤显示 Elastisearch 向导。
-
使用安装、数据、配置和日志的默认目录,或为每个目录选择自定义位置。
注意: 如果您的磁盘不是安装 Elasticsearch 的磁盘,则可以配置 Elasticsearch 以将数据存储在具有更多可用空间的磁盘上。 -
单击下一步。系统随即会显示服务步骤。
-
确保选择以下选项:
- 作为服务安装
- 安装完成后启动服务
- 在 Windows 启动时启动服务 (自动)
- 单击 “下一步”。 系统将显示“ 配置 ”步骤。
-
根据需要配置以下选项:
- 集群名称 - 将值更改为反映此 Elasticsearch 安装目的的值。 如果您的 Intranet 中有多个带有 Elasticsearch 的服务器,则这一点非常重要,以避免自动发现。
- 节点名称 - 节点的易记名称。
- 角色 - 建议使用默认选项。
- 内存 - 建议使用默认选项。
- 网络主机 - 计算机的主机名/IP 地址(您可以通过运行命令主机名在命令提示符中获取计算机名称)。
- HTTP 端口 - Elasticsearch 的默认端口为 9200
-
Discovery - 为群集中的第一个节点启用“This is the first master in a new cluster”复选框。
重要提示: 如果 Orchestrator 安装在其他计算机上,请记住在安装 Elasticsearch 的计算机的防火墙中打开端口 9200。
- 单击下一步。系统随即会显示插件步骤。
-
(可选)为 Elasticsearch 选择其他插件,例如 X-Pack 以确保安全。
-
单击“安装”。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 包。
注意: 解压缩到 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:
- 保存文件。
- 取消注释包含
- 下载 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 中创建索引模式。