77
88Having trouble? Here are solutions to common problems you might encounter while using Reporting.
99
10+ * <<reporting-troubleshooting-system-dependencies>>
11+ * <<reporting-troubleshooting-text-incorrect>>
12+ * <<reporting-troubleshooting-missing-data>>
13+ * <<reporting-troubleshooting-file-permissions>>
14+ * <<reporting-troubleshooting-error-messages>>
15+ * <<reporting-troubleshooting-puppeteer-debug-logs>>
16+ * <<reporting-troubleshooting-system-requirements>>
17+
1018[float]
1119[[reporting-troubleshooting-system-dependencies]]
1220=== System dependencies
1321Reporting launches a "headless" web browser called Chromium on the Kibana server. It is a custom build made by Elastic of an open source
1422project, and it is intended to have minimal dependencies on OS libraries. However, the Kibana server OS might still require additional
15- dependencies for Chromium.
23+ dependencies to run the Chromium executable .
1624
1725Make sure Kibana server OS has the appropriate packages installed for the distribution.
1826
@@ -33,19 +41,30 @@ If you are using Ubuntu/Debian systems, install the following packages:
3341* `fonts-liberation`
3442* `libfontconfig1`
3543
44+ If the system is missing dependencies, then Reporting will fail in a non-deterministic way. {kib} runs a self-test at server startup, and
45+ if it encounters errors, logs them in the Console. Unfortunately, the error message does not include
46+ information about why Chromium failed to run. The most common error message is `Error: connect ECONNREFUSED`, which indicates
47+ that {kib} could not connect to the Chromium process.
48+
49+ To troubleshoot the problem, start the {kib} server with environment variables that tell Chromium to print verbose logs. See the
50+ <<reporting-troubleshooting-puppeteer-debug-logs, Puppeteer debug method>> for more information.
51+
3652[float]
37- === Text is rendered incorrectly in generated reports
53+ [[reporting-troubleshooting-text-incorrect]]
54+ === Text rendered incorrectly in generated reports
3855
3956If a report label is rendered as an empty rectangle, no system fonts are available. Install at least one font package on the system.
4057
4158If the report is missing certain Chinese, Japanese or Korean characters, ensure that a system font with those characters is installed.
4259
4360[float]
61+ [[reporting-troubleshooting-missing-data]]
4462=== Missing data in PDF report of data table visualization
4563There is currently a known limitation with the Data Table visualization that only the first page of data rows, which are the only data
4664visible on the screen, are shown in PDF reports.
4765
4866[float]
67+ [[reporting-troubleshooting-file-permissions]]
4968=== File permissions
5069Ensure that the `headless_shell` binary located in your Kibana data directory is owned by the user who is running Kibana, that the
5170user has the execute permission, and if applicable, that the filesystem is mounted with the `exec` option.
@@ -63,25 +82,25 @@ Whenever possible, a Reporting error message tries to be as self-explanatory as
6382along with the solution.
6483
6584[float]
66- ==== " Max attempts reached"
85+ ==== Max attempts reached
6786There are two primary causes of this error:
6887
69- . You're creating a PDF of a visualization or dashboard that spans a large amount of data and Kibana is hitting the `xpack.reporting.queue.timeout`
88+ * You're creating a PDF of a visualization or dashboard that spans a large amount of data and Kibana is hitting the `xpack.reporting.queue.timeout`
7089
71- . Kibana is hosted behind a reverse-proxy, and the <<reporting-kibana-server-settings, Kibana server settings>> are not configured correctly
90+ * Kibana is hosted behind a reverse-proxy, and the <<reporting-kibana-server-settings, Kibana server settings>> are not configured correctly
7291
7392Create a Markdown visualization and then create a PDF report. If this succeeds, increase the `xpack.reporting.queue.timeout` setting. If the
7493PDF report fails with "Max attempts reached," check your <<reporting-kibana-server-settings, Kibana server settings>>.
7594
7695[float]
7796[[reporting-troubleshooting-nss-dependency]]
78- ==== " You must install nss for Reporting to work"
97+ ==== You must install nss for Reporting to work
7998Reporting using the Chromium browser relies on the Network Security Service libraries (NSS). Install the appropriate nss package for your
8099distribution.
81100
82101[float]
83102[[reporting-troubleshooting-sandbox-dependency]]
84- ==== " Unable to use Chromium sandbox"
103+ ==== Unable to use Chromium sandbox
85104Chromium uses sandboxing techniques that are built on top of operating system primitives. The Linux sandbox depends on user namespaces,
86105which were introduced with the 3.8 Linux kernel. However, many distributions don't have user namespaces enabled by default, or they require
87106the CAP_SYS_ADMIN capability.
@@ -90,6 +109,7 @@ Elastic recommends that you research the feasibility of enabling unprivileged us
90109is if you are running Kibana in Docker because the container runs in a user namespace with the built-in seccomp/bpf filters.
91110
92111[float]
112+ [[reporting-troubleshooting-verbose-logs]]
93113=== Verbose logs
94114{kib} server logs have a lot of useful information for troubleshooting and understanding how things work. If you're having any issues at
95115all, the full logs from Reporting will be the first place to look. In `kibana.yml`:
@@ -101,10 +121,12 @@ logging.verbose: true
101121
102122For more information about logging, see <<logging-verbose,Kibana configuration settings>>.
103123
124+ [float]
125+ [[reporting-troubleshooting-puppeteer-debug-logs]]
104126=== Puppeteer debug logs
105127The Chromium browser that {kib} launches on the server is driven by a NodeJS library for Chromium called Puppeteer. The Puppeteer library
106128has its own command-line method to generate its own debug logs, which can sometimes be helpful, particularly to figure out if a problem is
107- caused by Kibana or Chromium. See more at https://github.com/GoogleChrome/puppeteer/blob/v1.19.0/README.md#debugging-tips
129+ caused by Kibana or Chromium. See more at https://github.com/GoogleChrome/puppeteer/blob/v1.19.0/README.md#debugging-tips[debugging tips].
108130
109131Using Puppeteer's debug method when launching Kibana would look like:
110132```
@@ -114,3 +136,14 @@ The internal DevTools protocol traffic will be logged via the `debug` module und
114136
115137
116138The Puppeteer logs are very verbose and could possibly contain sensitive information. Handle the generated output with care.
139+
140+ [float]
141+ [[reporting-troubleshooting-system-requirements]]
142+ === System requirements
143+ In Elastic Cloud, the {kib} instances that most configurations provide by default is for 1GB of RAM for the instance. That is enough for
144+ {kib} Reporting when the visualization or dashboard is relatively simple, such as a single pie chart or a dashboard with
145+ a few visualizations. However, certain visualization types incur more load than others. For example, a TSVB panel has a lot of network
146+ requests to render.
147+
148+ If the {kib} instance doesn't have enough memory to run the report, the report fails with an error such as `Error: Page crashed!`
149+ In this case, try increasing the memory for the {kib} instance to 2GB.
0 commit comments