正在加载

PDF/PNG

Elastic Stack Serverless

注意

我们建议仅使用 PNG/PDF 报告导出适量数据。此功能支持高级别的导出能力,但不适用于批量导出。如果您需要导出多个页面的图像数据,请考虑使用多个报告任务来一次导出少量页面。如果导出的仪表板的屏幕截图包含大量像素,请考虑将大型仪表板拆分为较小的项目,以使用更少的内存和 CPU 资源。

为了获得 PDF/PNG 报告功能的最可靠配置,请考虑使用 Docker 安装 Kibana 或使用 Elastic Cloud

有关常见问题的更多建议,请参阅问题排查

报告带有一个内置实用程序,可尝试自动查找常见问题。Kibana 运行后,导航到报告列表页面,然后单击运行报告诊断。这将打开一个诊断工具,该工具会检查 Kibana 部署的各个部分,并提出任何相关建议。

如果诊断信息没有揭示问题,您可以通过使用环境变量启动 Kibana 服务器来显示其他调试日志,从而进一步进行故障排除。请参阅Puppeteer 调试日志

您必须安装网络安全服务 (NSS) 库才能使报告功能正常工作。使用 Chromium 浏览器进行报告依赖于这些库。为您的发行版安装适当的 nss 包。请参阅安装无头浏览器的依赖项

Chromium 使用基于操作系统原语构建的沙盒技术。Linux 沙盒依赖于用户命名空间,该命名空间是随 3.8 Linux 内核引入的。但是,许多发行版默认情况下未启用用户命名空间,或者需要 CAP_SYS_ADMIN 功能。如果未在 Kibana 中显式禁用沙盒,无论是基于操作系统检测还是使用 xpack.screenshotting.browser.chromium.disableSandbox 设置,Chrome 都会尝试启用沙盒。如果由于操作系统或权限限制而失败,Chrome 将在初始化期间崩溃。

Elastic 建议您在禁用沙盒之前研究启用非特权用户命名空间的可行性。一种例外情况是,如果您在 Docker 中运行 Kibana,因为容器在带有内置 seccomp/bpf 过滤器的用户命名空间中运行。

如果报告标签呈现为空矩形,则表示没有可用的系统字体。在系统上安装至少一个字体包。

如果报告缺少某些中文、日语或韩语字符,请确保已安装具有这些字符的系统字体。

目前,数据表可视化存在已知限制,即只有第一页的数据行(即屏幕上唯一可见的数据)显示在 PDF 报告中。

如果 PDF 或 PNG 报告由于“连接被拒绝”或“无法连接”类型的错误而无法工作,请确保 kibana.yml 文件使用 server.host: 0.0.0.0 的设置。 此外,验证没有防火墙规则或其他路由规则阻止本地服务访问此地址。 在 设置无头浏览器的 server.host 了解更多信息。

确保位于 Kibana 数据目录中的 headless_shell 二进制文件归运行 Kibana 的用户所有,该用户具有执行权限,并且如果适用,则文件系统以 exec 选项挂载。

注意

Chromium 二进制文件位于 Kibana 安装目录中,作为 data/headless_shell-OS_TYPE/headless_shell。首次启用详细日志记录时启动 Kibana 时,将记录完整路径。

Kibana 在服务器上启动的 Chromium 浏览器由 Chromium 的 NodeJS 库 Puppeteer 驱动。 Puppeteer 库有自己的命令行方法来生成自己的调试日志,这有时会有所帮助,特别是可以确定问题是由 Kibana 还是 Chromium 引起的。了解更多调试技巧

启动 Kibana 时使用 Puppeteer 的调试方法如下所示

env DEBUG="puppeteer:*" ./bin/kibana

内部 DevTools 协议流量将通过 debug 模块在 puppeteer 命名空间下记录。

Puppeteer 日志非常详细,可能包含敏感信息。请小心处理生成的输出。

在 Elastic Cloud 中,大多数配置默认提供的 Kibana 实例的实例 RAM 为 1GB。当可视化或仪表板相对简单时(例如,单个饼图或带有少量可视化的仪表板),这对于 Kibana 报告功能来说已经足够了。但是,某些可视化类型比其他类型产生更多的负载。例如,TSVB 面板有很多网络请求要呈现。

如果 Kibana 实例没有足够的内存来运行报告,则报告将失败,并显示错误,例如 Error: Page crashed!。在这种情况下,请尝试将 Kibana 实例的内存增加到 2GB。

Elastic Maps Service (EMS) 是一项托管切片图层和行政边界矢量形状的服务。如果报告包含缺少底图层或行政边界的地图,则 Kibana 服务器无权访问 EMS。请参阅连接到 Elastic Maps Service,以获取有关如何将 Kibana 服务器连接到 EMS 的信息。

对于 Darwin (Mac OS) 体系结构,Chromium 未嵌入到 Kibana 中。在 Darwin 上运行 Kibana 时,报告功能将在服务器首次启动时将 Chromium 下载到 Kibana 安装路径的正确区域。如果服务器无权访问互联网,则必须下载 Chromium 浏览器并将其安装到 Kibana 安装路径中。

  1. 下载 Chromium zip 文件

    • 对于x64 系统
    • 对于ARM 系统
  2. 将 zip 文件复制到保存区域。相对于 Kibana 的根目录,路径为

    • .chromium/x64,适用于 x64 系统
    • .chromium/arm64,适用于 ARM 系统

Kibana 启动时,它将自动从 zip 文件中提取浏览器,然后就可以用于 PNG 和 PDF 报告。

© . All rights reserved.