[Docs/Reporting] Fix Troubleshooting page issues, Add section in Getting Started (#31539) (#31649)

* [Docs/Reporting] Fix Troubleshooting page issues, Add section in Get Started

Close https://github.com/elastic/kibana/issues/31518

* update some gs headings

* Kibana doesn't download Chromium!

* Note about verbose logging

* sections

* full path

* has been
This commit is contained in:
Tim Sullivan 2019-02-20 16:47:42 -07:00 committed by GitHub
parent a5993c075b
commit 62aebccedb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 94 additions and 65 deletions

View file

@ -2,9 +2,19 @@
[[reporting-getting-started]]
== Getting Started
{reporting} is automatically enabled in {kib}.
[float]
=== System Setup
To manually generate a report:
{reporting} is automatically enabled in {kib}. The first time Kibana runs, it extracts a custom build for the Chromium web browser, which
runs on the server in headless mode to load Kibana and capture the rendered Kibana charts as images.
Chromium is an open-source project not related to Elastic, but the Chromium binary for Kibana has been custom-built by Elastic to ensure it
works with minimal setup. However, the Kibana server OS might still require additional dependencies for Chromium. See the
<<reporting-troubleshooting-system-dependencies, Reporting Troubleshooting>> section for more information about the system dependencies
for different operating systems.
[float]
=== Generating a Report Manually
. Open {kib} in your web browser and log in. If you are running {kib}
locally, go to `http://localhost:5601`. To access {kib} and generate
@ -35,6 +45,9 @@ image:reporting/images/share-button.png["Reporting Button",link="share-button.pn
... Click the *Generate PDF* button.
[float]
=== Generating a Report Automatically
If you want to automatically generate reports from a script or with
{watcher}, use the displayed Generation URL. For more information, see
<<automating-report-generation, Automating Report Generation>>

View file

@ -9,10 +9,6 @@ visualizations, and saved searches. Dashboards and visualizations are
exported as PDF documents, while saved searches in Discover
are exported to CSV.
NOTE: On Linux, the `libfontconfig` and `libfreetype6` packages and system
fonts are required to generate PDF reports. If no system fonts are available,
labels are not rendered correctly in the reports.
Reporting is located in the share menu from the {kib} toolbar:
[role="screenshot"]

View file

@ -1,72 +1,35 @@
[role="xpack"]
[[reporting-troubleshooting]]
== Reporting Troubleshooting
++++
<titleabbrev>Troubleshooting</titleabbrev>
++++
Having trouble? Here are solutions to common problems you might encounter while using Reporting.
[float]
=== Text is Not rendered correctly in generated reports
=== Verbose Logging
Kibana's server logs have a lot of useful information for troubleshooting and understanding how things work. If you're having any issues at
all, the full logs from Reporting will be the first place to look. In `kibana.yml`:
If a report label is rendered as an empty rectangle, no system fonts
are available. Install at least one font package on the system.
[source,yaml]
--------------------------------------------------------------------------------
logging.verbose: true
--------------------------------------------------------------------------------
If the report is missing certain Chinese, Japanese or Korean characters, ensure that a system font with
those characters is installed.
For more information about logging, see <<logging-verbose,Kibana configuration settings>>.
[float]
=== Error generating your report
You might see "There was an error generating your report" or one of the following errors when you download your report. See below for
an explanation of why the failure occurred and what you can do to fix it.
[[reporting-troubleshooting-system-dependencies]]
=== System Dependencies
Reporting launches a "headless" web browser called Chromium on the Kibana server. It is a custom build made by Elastic of an open source
project, and it is intended to have minimal dependencies on OS libraries. However, the Kibana server OS might still require additional
dependencies for Chromium.
Make sure Kibana server OS has the appropriate packages installed for the distribution.
[float]
=== Data Table Visualization does not show all data in PDF reports
There is currently a known limitation with the Data Table visualization that only the first page of data rows, which are the only data visible on the screen, are shown in PDF reports.
[float]
==== `You must install fontconfig and freetype for Reporting to work'`
Reporting using PhantomJS, the default browser, relies on system packages. Install the appropriate fontconfig and freetype
packages for your distribution.
[float]
==== `Max attempts reached (3)`
There are two primary causes of this error:
. 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`
. Kibana is hosted behind a reverse-proxy, and the <<reporting-kibana-server-settings, Kibana server settings>> are not configured correctly
Create a Markdown visualization and then create a PDF report. If this succeeds, increase the `xpack.reporting.queue.timeout`
setting. If the PDF report fails with "Max attempts reached (3)," check your <<reporting-kibana-server-settings, Kibana server settings>>.
[float]
==== `You must install freetype and ttf-font for Reporting to work`
Reporting using the Chromium browser relies on system packages and at least one system font. Install the appropriate fontconfig and freetype
packages for your distribution and at least one system font.
[float]
==== `You must install nss for Reporting to work`
Reporting using the Chromium browser relies on the Network Security Service libraries (NSS). Install the appropriate nss package for your distribution.
[float]
==== `Unable to use Chromium sandbox. This can be disabled at your own risk with 'xpack.reporting.capture.browser.chromium.disableSandbox'`
Chromium uses sandboxing techniques that are built on top of operating system primitives. The Linux sandbox depends on user namespaces,
which were introduced with the 3.8 Linux kernel. However, many distributions don't have user namespaces enabled by default, or they require
the CAP_SYS_ADMIN capability.
Elastic recommends that you research the feasibility of enabling unprivileged user namespaces before disabling the sandbox. An exception
is if you are running Kibana in Docker because the container runs in a user namespace with the built-in seccomp/bpf filters.
[float]
==== `spawn EACCES`
Ensure that the `phantomjs` binary in your Kibana data directory is owned by the user who is running Kibana, that the user has the execute permission,
and if applicable, that the filesystem is mounted with the `exec` option.
[float]
==== `Caught error spawning Chromium`
Ensure that the `headless_shell` binary located in your Kibana data directory is owned by the user who is running Kibana, that the user has the execute permission,
and if applicable, that the filesystem is mounted with the `exec` option.
Another possible reason of such error might be the fact the `headless_shell` binary requires dependencies which are not installed at the operating system level.
.On CentOS/RHEL systems, the following packages should be installed:
==== On CentOS/RHEL systems, the following packages should be installed:
* `ipa-gothic-fonts`
* `xorg-x11-fonts-100dpi`
* `xorg-x11-fonts-75dpi`
@ -77,6 +40,63 @@ Another possible reason of such error might be the fact the `headless_shell` bin
* `fontconfig`
* `freetype`
.On Ubuntu/Debian systems, the following packages should be installed:
[float]
==== On Ubuntu/Debian systems, the following packages should be installed:
* `fonts-liberation`
* `libfontconfig1`
[float]
=== Text is Not rendered correctly in generated reports
If a report label is rendered as an empty rectangle, no system fonts are available. Install at least one font package on the system.
If the report is missing certain Chinese, Japanese or Korean characters, ensure that a system font with those characters is installed.
[float]
=== Data Table Visualization does not show all data in PDF reports
There is currently a known limitation with the Data Table visualization that only the first page of data rows, which are the only data
visible on the screen, are shown in PDF reports.
[float]
=== File Permissions
Ensure that the `headless_shell` binary located in your Kibana data directory is owned by the user who is running Kibana, that the
user has the execute permission, and if applicable, that the filesystem is mounted with the `exec` option.
[NOTE]
--
The Chromium binary is located in the Kibana installation directory as `data/headless_shell-OS_TYPE/headless_shell`. The full path is logged
the first time Kibana starts when verbose logging is enabled.
--
[float]
[[reporting-troubleshooting-error-messages]]
=== Error Messages
Whenever possible, a Reporting error message tries to be as self-explanatory as possible. Here are some error messages you might encounter,
along with the solution.
[float]
==== "Max attempts reached"
There are two primary causes of this error:
. 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`
. Kibana is hosted behind a reverse-proxy, and the <<reporting-kibana-server-settings, Kibana server settings>> are not configured correctly
Create a Markdown visualization and then create a PDF report. If this succeeds, increase the `xpack.reporting.queue.timeout` setting. If the
PDF report fails with "Max attempts reached," check your <<reporting-kibana-server-settings, Kibana server settings>>.
[float]
[[reporting-troubleshooting-nss-dependency]]
==== "You must install nss for Reporting to work"
Reporting using the Chromium browser relies on the Network Security Service libraries (NSS). Install the appropriate nss package for your
distribution.
[float]
[[reporting-troubleshooting-sandbox-dependency]]
==== "Unable to use Chromium sandbox"
Chromium uses sandboxing techniques that are built on top of operating system primitives. The Linux sandbox depends on user namespaces,
which were introduced with the 3.8 Linux kernel. However, many distributions don't have user namespaces enabled by default, or they require
the CAP_SYS_ADMIN capability.
Elastic recommends that you research the feasibility of enabling unprivileged user namespaces before disabling the sandbox. An exception
is if you are running Kibana in Docker because the container runs in a user namespace with the built-in seccomp/bpf filters.