orchestrator
latest
false
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

Orchestrator 用户指南

上次更新日期 2025年12月17日

Orchestrator Credentials Proxy 调试

日志

默认情况下,Orchestrator Credentials Proxy 会记录所有异常以及初始启动和关闭信息。

要检查 Credentials Proxy 是否真的记录了 200 条请求,请在本地服务器上启动 Orchestrator Credentials Proxy,转到 Swagger 并运行 Health (未验证)端点:api/v1/Health。现在,应已记录请求。
注意:每次更改appsettings文件后,您都需要重新启动 Credentials Proxy。

如果您按照这些步骤操作,而且除了启动和关闭之外没有其他可用日志,则意味着没有请求到达 Orchestrator Credentials Proxy。 这很可能是由 Orchestrator Cloud Robot 和 Orchestrator Credentials Proxy 计算机的基础架构或网络问题引起的。

事件查看器

所有日志均应显示在 Orchestrator Credentials Proxy 2.0.0 及更高版本的 Windows 事件查看器中。

更改日志文件目标

要更改日志文件路径,请打开appsettings.production.json文件并使用以下代码。 您可以将其 C:/dev/logs 替换为所需的路径:
  "NLog": {
    "throwConfigExceptions": true,
    "targets": {
      "logfile": {
        "type": "File",
        "maxArchiveFiles": 180,
        "fileName": "C:/dev/logs/nlog-${shortdate}.log",
        "layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
      }
    },
    "rules": [
      {
        "logger": "*",
        "minLevel": "Information",
        "writeTo": "logconsole,logfile,eventLog"
      }
    ]
  }  "NLog": {
    "throwConfigExceptions": true,
    "targets": {
      "logfile": {
        "type": "File",
        "maxArchiveFiles": 180,
        "fileName": "C:/dev/logs/nlog-${shortdate}.log",
        "layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
      }
    },
    "rules": [
      {
        "logger": "*",
        "minLevel": "Information",
        "writeTo": "logconsole,logfile,eventLog"
      }
    ]
  }

其他日志

注意:此程序仅应用于调试。 完成后,请还原这些更改,因为这会生成过多的日志。
默认日志记录级别如下所示:
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
如果您想获取更多日志,例如查看发送至代理的所有请求,则您需要编辑appsettings.Production.json文件并添加以下内容:
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Information",
      "Microsoft.AspNetCore": "Information",
      "Microsoft.Hosting.Lifetime": "Information",
      "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
    }
  }  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Information",
      "Microsoft.AspNetCore": "Information",
      "Microsoft.Hosting.Lifetime": "Information",
      "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
    }
  }
如果 Information 不足,需要更多或更少,则您可以使用 LogLevels.Net 中的值。 如需更多信息,请查看 Microsoft 文档appsettings.json文件应与以下内容类似:
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Information",
      "Microsoft.AspNetCore": "Information",
      "Microsoft.Hosting.Lifetime": "Information",
      "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
    }
  }  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Information",
      "Microsoft.AspNetCore": "Information",
      "Microsoft.Hosting.Lifetime": "Information",
      "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
    }
  }
更改appsettings文件后重新启动 Orchestrator Credentials Proxy。

使用 InMemoryStore 测试

如果您在调试时遇到问题、希望尝试其他凭据存储类型,则您可以使用 Orchestrator Credentials Proxy InMemorySecureStore类型。
注意:此过程仅用于测试目的。
要启用InMemorySecureStore类型,请打开appsettings.production.json文件,转到AppSettings部分,然后添加"UseInMemorySecureStore": "true"参数。
要为断开连接的代理启用此功能,请同时在 SecureStoreConfigurations 部分中包含以下内容:
{
  "Key": "InMemoryKey1", // can be any value
  "Type": "InMemorySecureStore",
  "Context": {
  }
}{
  "Key": "InMemoryKey1", // can be any value
  "Type": "InMemorySecureStore",
  "Context": {
  }
}

已连接的代理无法连接

设置 Orchestrator Credentials Proxy 连接并尝试将其与 Orchestrator 链接时,您可能会遇到以下错误消息:
Request to the Credentials Proxy's unauthenticated health endpoint failed.Request to the Credentials Proxy's unauthenticated health endpoint failed.
在连接流程中,Orchestrator 会向代理端点执行/api/v1/Health简单的 GET 请求。

此请求的目的是验证代理是否可以从 Orchestrator 云环境访问。如果此请求失败,则表示 Orchestrator 无法访问代理,而且连接检查将无法通过。

常见问题

  • Orchestrator Credentials Proxy 未启动:
    • 转到 Orchestrator Credentials Proxy 安装的服务器。

    • 在 IIS 中,验证 Credentials Proxy 应用程序是否正在运行。

    • 在同一台服务器上,打开浏览器并检查 Credentials Proxy URL 是否可在本地访问。

  • 连接没有有效的 HTTPS/SSL 证书。 Orchestrator 和 OCP 之间的所有通信均必须安全。
    • 确保您的 Credentials Proxy 使用有效的 HTTPS/SSL 证书。

    • (可选)如果负载均衡器是在 Orchestrator Credentials Proxy 之前配置的,则请确认它也使用安全 HTTPS 连接。

  • Orchestrator Credentials Proxy 会被防火墙、VPN 或类似的网络限制阻止。 如果无法从 Orchestrator 访问 Credentials Proxy,则请检查您的网络配置。
    • 确保 Orchestrator 出站 IP 已正确列入白名单。 请查看 Orchestrator 出站 IP 地址页面,了解更多信息。
      注意:如果您的 Organization 有多个租户,则它们可能会托管于不同区域、使用不同的 IP 地址。请仔细检查每个租户。
  • 由于服务器时间不正确,出现未验证的端点问题。
    • 如果未验证的端点出现故障,则可能是由于服务器时间设置不正确。 当系统时钟不准确时,服务器可能会将 JWT 令牌解释为无效。

调查步骤

  1. 在 IIS 中验证 Orchestrator Credentials Proxy 是否正在运行。
  2. 在浏览器中检查 Credentials Proxy URL 是否可访问、是否正确加载。
  3. 在浏览器中检查 Credentials Proxy URL 是否安全。
  4. 在 Credentials Proxy 计算机上,将日志记录级别提升为“信息 (Information) 级”,以便排除故障。完成调查后,请记得还原此更改。
  5. 在本地测试运行状况端点。 在 Credentials Proxy 计算机上,打开 Swagger 或使用 Postman 等工具发出请求:
    https://{yourCredentialsProxyUrl}/api/v1/Healthhttps://{yourCredentialsProxyUrl}/api/v1/Health

    成功响应表示代理可访问且在本地运行。

  6. 在 VPN 内测试访问权限。 用同一 VPN 内的另一台计算机(例如,客户的笔记本电脑或客户的机器人计算机)检查 Credentials Proxy URL 是否可访问。向同一/api/v1/Health端点发出请求:
    • 如果成功,则这说明可以从 VPN 内部访问 Credentials Proxy。

    • 如果失败,则客户必须解决内部网络或路由问题。

  7. 测试公开可访问性。
  8. 在 VPN 外的计算机上,检查/api/v1/Health端点:
    • 如果正常,则这说明可以从 VPN 外部访问 Credentials Proxy。

    • 如果失败,则客户必须解决内部网络或路由问题。

  9. 测试来自 Orchestrator Cloud 的连接。 创建链接到同一代理 URL 的新 Credentials Proxy:
    • 如果创建成功,则您可以删除连接。

    • 如果失败,则这表明仍然有因素阻止 Orchestrator 与 Credentials Proxy 之间的通信。

      注意:此时,Credentials Proxy 应该可公开访问,没有防火墙限制或 IP 白名单。
  10. 检索 Orchestrator 租户 IP 地址列表。
  11. 将 IP 添加到可访问 Credentials Proxy 的允许列表中。

  12. 从 VPN 外部的计算机再次测试/api/v1/Health端点。此操作应该不起作用,因为此 IP 未添加到允许列表中。
  13. 在 Orchestrator Cloud 中,再次尝试创建 Credentials Proxy:
    • 如果已正确完成所有步骤,则应已成功。
    • 如果仍然失败,则可能是防火墙或 VPN 规则存在问题,导致 Orchestrator 与 Credentials Proxy 之间无法通信。
  14. 如果问题仍然存在,则请仔细重复上述步骤并验证每个配置点。
  15. 问题解决后,请将 Credentials Proxy 计算机上的日志级别恢复为原始设置。

已断开连接的代理将不会启动或记录

断开连接的 Credentials Proxy 会在启动期间执行验证步骤,以确保它可以正确处理客户端请求。作为此流程的一部分,代理会验证 AppSettings:SecureStoreConfigurations 中定义的每个配置。 应用的特定验证逻辑取决于配置的凭据存储库的类型。

在某些情况下,代理无法启动的根本原因可能发生在启动流程的早期,以至于应用程序无法生成或写入任何日志事件。

应用程序未启动的可能原因

多个问题可能会导致 Credentials Proxy 应用程序无法启动。 以下是常见原因及其识别方法。

  • IIS 应用程序池未启动 (Windows)。 如果代理托管在 IIS 中,则请验证与代理关联的应用程序池是否正在运行。 您可以在 “应用程序池”部分下的 “IIS 管理器”中检查这一点。
  • appsettings.Production.json 中的配置无效。 无效或不完整的配置文件可能会导致代理在启动过程中失败。 请查看“配置示例”部分中的示例,了解更多详细信息。
  • AppSettings:SecureStoreConfigurations 中的配置无效。 SecureStoreConfigurations 部分规定代理如何连接到并验证凭据存储库。如果这些条目中任何条目格式错误或不完整,则应用程序将无法启动。
    • 配置中的参数无效。 确保所有配置参数均与您使用的凭据存储库类型匹配。使用不正确的参数或密钥可能导致启动验证失败。
    • 无法访问保险库。 如果配置的凭据存储库依赖外部保险库(例如,CyberArkBeyondTrust 等),而代理无法访问其或使用其进行身份验证,则启动可能会失败。
  • 其他基础架构相关问题。

调试

在调试 Credentials Proxy 时,目标是在测试复杂配置之前消除尽可能多的变量。

  • 首先使用“InMemorySecureStore”类型的最小配置。 这样您就可以确认代理是否可以成功启动,然后再引入外部依赖项。
    • AppSettings 中添加 "UseInMemorySecureStore": "true", 参数。
    • AppSettings:SecureStoreConfigurations 中添加以下内容:
      "SecureStoreConfigurations": [
        {
          "Key": "InMemoryKey1",
          "Type": "InMemorySecureStore",
          "Context": {  }
        }
      ]"SecureStoreConfigurations": [
        {
          "Key": "InMemoryKey1",
          "Type": "InMemorySecureStore",
          "Context": {  }
        }
      ]
    • 代理应不再有与配置相关的问题。 如果仍然无法启动,则原因很有可能与基础架构相关。
  • 在确认代理已使用内存配置成功启动后,请将其替换为实际凭据存储库设置(例如 CyberArkBeyondTrust 等)。
    • 请根据您的环境和存储类型更新此SecureStoreConfigurations部分。

      如果应用程序启动失败,则您应该可以在以下位置找到日志:

      • Windows 事件查看器

      • 代理的已配置日志目录

    • 如果应用程序未启动且未生成任何日志,则问题可能与您环境中的基础架构或权限有关。

      在这种情况下,为了有助于调试,您可以在以下位置添加此参数,以此来暂时禁用安全存储验证AppSettings
      "SkipValidateSecureStoreConfigurations": true
      "SkipValidateSecureStoreConfigurations": true
      
      注意:此参数应仅用于调试目的。 启动验证的存在是为了确保您的代理配置正确且安全。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo
信任与安全
© 2005-2025 UiPath。保留所有权利。