Citrix Virtual Apps and Desktops

常见问题

  1. 如何检查正在运行的日志服务器配置,例如 MAX_RESERVE_DAYS?

    您可以使用以下任一命令检查容器环境变量:

    docker inspect logserver |findstr MAX_RESERVE_DAYS 或者通过检查容器环境: docker exec -it logserver env |grep MAX_RESERVE_DAYS

    如果未返回任何内容,则表示日志服务器正在使用默认值: MAX_RESERVE_DAYS=7

  2. 在 Windows 上安装日志服务器容器映像时,是否需要购买 Docker Desktop 许可证?

    是的。需要有效的 Docker Desktop 许可证。

  3. 我应该使用新服务器进行日志服务器安装吗?

    是的。建议使用专用服务器进行日志服务器安装,以确保性能和隔离。

  4. 单个 AOT 日志服务器的持续摄取容量是多少?最大和安全每秒事件数 (EPS) 限制是多少?

    单个 AOT 日志服务器支持 每秒 10,000 个事件 (EPS) 的持续摄取容量。此值表示连续摄取的最大值和安全操作阈值。

  5. 单个 AOT 日志服务器可以处理多少个组件?是否有最大限制?

    单个日志服务器最多可以连接 128,000 个组件,但每秒只能处理大约 10,000 条日志。因此,机器数量很少是问题所在 — 真正的规模因素是用户在高峰活动期间生成了多少日志。

  6. AOT 日志服务器的突发容忍度是多少?它可以处理多少突然的日志峰值而不会丢失或积压?

    AOT 日志服务器可以处理高达正常事件速率 2 倍的短期突发而不会丢失日志。如果日志量超出此范围(例如,5 倍),系统将无法可靠地持久化事件,并且 OpenSearch 将开始丢弃日志,因为它无法足够快地对其进行索引。

  7. AOT 日志服务器可以压缩日志吗?我们应该期望的压缩率是多少?

    是的。AOT 日志服务器使用默认的 LZ4 压缩算法 将日志存储在 OpenSearch 中。典型的压缩率约为 2:1,这意味着日志数据在保持快速读写性能的同时,其原始大小减少了一半以上。

  8. 对于每种基础设施类型(单站点本地部署、多站点本地部署、单区域云、多区域云、混合、MSP/租户),AOT 日志服务器应该部署在哪里,为什么?

    AOT 日志服务器应始终部署在与 VDA 相同的视线范围内。这可确保稳定的连接,并有助于保持生成日志的组件与摄取日志的日志服务器之间的低延迟。只要每个组件(VDA、DDC、StoreFront、Gateway 等)都能可靠地访问日志服务器,环境就能正常运行。

  9. 每个区域都需要一个日志服务器,还是可以全部集中化?延迟和出口流量如何处理?

    您可以集中化日志服务器,但客户应评估其环境的延迟和出口成本影响。区域之间的延迟可能会影响日志摄取,尤其是在高流量期间。如果往返延迟较高,日志的峰值或突发可能会导致延迟、积压或在高峰负载期间可能丢失。当日志跨越区域或云边界时,可能会产生出口费用。

  10. AOT 会消耗大量网络带宽或系统资源吗?

    不会。AOT 旨在最大程度地减少对端点、VDA 或任何组件以及网络性能的影响。

    AOT 持续收集日志,并通过 HTTPS 以近乎实时的方式将其上传到 AOT 日志服务器。单个日志记录通常非常小(通常只有几千字节),这有助于在正常操作期间最大程度地减少网络开销。

    消耗的总带宽取决于活动会话的数量、启用的组件和环境活动。在大多数部署中,AOT 日志流量占总网络利用率的比例非常小。

    AOT 还使用压缩来减少存储要求并优化数据传输到日志服务器。

  11. 支持 1,000 台机器的 AOT 日志服务器的最低硬件规格是什么?

    对于多达 1,000 台机器的环境,您需要:1 个节点(日志服务器 + OpenSearch 组合)、4 个 vCPU、8 GB RAM、2,000 IOPS 最低(推荐 SSD 或 NVMe)、1 Gbps 网卡。此设置适用于日志量适中的小型或单站点部署。

  12. 如果日志服务器出现问题,我该如何进行故障排除?

    LogServer 作为 Docker 容器运行,因此可以使用所有 Docker 命令来查找问题:

    docker logs logserver
    docker inspect logserver
    <!--NeedCopy-->
    

    用户还可以连接到正在运行的容器并查看logserver自身的日志:

    docker exec –it logserver bash
    <!--NeedCopy-->
    

    在logserver docker容器的bash shell中,用户可以验证logserver和opensearch的健康状况:

    curl http://localhost:5000/Ping
    curl http://localhost:9200/_cluster/health?pretty
    <!--NeedCopy-->
    

    并检查容器内的日志:

    tail Config/applogs.txt
    tail Config/weblogs.txt
    <!--NeedCopy-->
    

    如果需要更多日志,用户可以修改StartLogServer.sh/StartLogServer.bat中的LOG_LEVEL=0,并通过这些脚本文件重启logserver。然后详细日志将包含TRACE、DEBUG、INFO、WARN、ERROR所有级别。

  13. 从不正确分离的日志服务器存储磁盘中恢复

    如果您在未首先从Citrix Connector Appliance管理UI分离日志服务器存储磁盘的情况下,直接从hypervisor或云提供商移除或分离该磁盘,Connector Appliance将保留存储配置并假定该磁盘仍处于连接状态。因此,先前连接的磁盘仍会在Connector Appliance中配置,连接新磁盘将失败,并且您可能会看到类似以下错误:本地磁盘已挂载到提供商。

    选项 1(推荐): 如果原始磁盘仍然可用:

    1. 从hypervisor或云提供商将原始磁盘重新连接到Connector Appliance VM。

    2. 重新启动Connector Appliance。

    3. 设备成功启动后,使用Connector Appliance管理UI分离磁盘。

    4. 如果需要,您现在可以连接新磁盘。

    选项 2: 如果原始磁盘不再可用,请通过执行以下API请求手动删除过时的存储配置。检索授权令牌并运行相应的命令:

    Linux 系统:

    curl -X POST "https://<connector-fqdn>/storage/$detach" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>" \
    -d '{"targetProvider":"logserver-provider","storageType":"local"}'
    <!--NeedCopy-->
    

    Windows 系统:

    curl -X POST "https://<connector-fqdn>/storage/$detach" ^
    -H "Content-Type: application/json" ^
    -H "Authorization: Bearer <token>" ^
    -d "{\"targetProvider\":\"logserver-provider\",\"storageType\":\"local\"}"
    <!--NeedCopy-->
    

    注意:

    即使过时的存储配置已成功删除,API 也可能会返回错误。请在重试磁盘连接之前验证存储配置。

    作为最佳实践,请始终在从虚拟机管理程序或云提供商中移除或分离磁盘之前,从 Connector Appliance 管理 UI 中分离日志服务器存储磁盘。这可确保 Connector Appliance 清理其存储配置并防止出现过时的存储引用。

常见问题

在本文中