kibana/docs/settings/reporting-settings.asciidoc
PavithraCP 180827cfe1
Add acnchors to Kibana docs-settings (#78115)
* Add acnchors to Kibana docs-settings

* Address PR comments
2020-09-23 08:01:05 -07:00

261 lines
10 KiB
Plaintext

[role="xpack"]
[[reporting-settings-kb]]
=== Reporting settings in {kib}
++++
<titleabbrev>Reporting settings</titleabbrev>
++++
You can configure `xpack.reporting` settings in your `kibana.yml` to:
* <<reporting-kibana-server-settings,Control how the {report-features} communicate with the {kib} server>>
* <<reporting-job-queue-settings,Manage background jobs>>
* <<reporting-capture-settings,Capture screenshots>>
[float]
[[general-reporting-settings]]
==== General reporting settings
[cols="2*<"]
|===
| [[xpack-enable-reporting]]`xpack.reporting.enabled` {ess-icon}
| Set to `false` to disable the {report-features}.
|[[xpack-reporting-encryptionKey]] `xpack.reporting.encryptionKey` {ess-icon}
| Set to an alphanumeric, at least 32 characters long text string. By default, {kib} will generate a random key when it
starts, which will cause pending reports to fail after restart. Configure this
setting to preserve the same key across multiple restarts and multiple instances of {kib}.
|===
[float]
[[reporting-kibana-server-settings]]
==== {kib} server settings
Reporting opens the {kib} web interface in a server process to generate
screenshots of {kib} visualizations. In most cases, the default settings
will work and you don't need to configure Reporting to communicate with {kib}.
However, if your client connections must go through a reverse-proxy
to access {kib}, Reporting configuration must have the proxy port, protocol,
and hostname set in the `xpack.reporting.kibanaServer.*` settings.
[NOTE]
====
If a reverse-proxy carries encrypted traffic from end-user
clients back to a {kib} server, the proxy port, protocol, and hostname
in Reporting settings must be valid for the encryption that the Reporting
browser will receive. Encrypted communications will fail if there are
mismatches in the host information between the request and the certificate on the server.
Configuring the `xpack.reporting.kibanaServer` settings to point to a
proxy host requires that the {kib} server has network access to the proxy.
====
[cols="2*<"]
|===
| `xpack.reporting.kibanaServer.port`
| The port for accessing {kib}, if different from the <<server-port, `server.port`>> value.
| `xpack.reporting.kibanaServer.protocol`
| The protocol for accessing {kib}, typically `http` or `https`.
|[[xpack-kibanaServer-hostname]] `xpack.reporting.kibanaServer.hostname`
| The hostname for accessing {kib}, if different from the <<server-host, `server.host`>> value.
|===
[NOTE]
============
Reporting authenticates requests on the Kibana page only when the hostname matches the
<<xpack-kibanaServer-hostname, `xpack.reporting.kibanaServer.hostname`>> setting. Therefore Reporting would fail if the
set value redirects to another server. For that reason, `"0"` is an invalid setting
because, in the Reporting browser, it becomes an automatic redirect to `"0.0.0.0"`.
============
[float]
[[reporting-job-queue-settings]]
==== Background job settings
Reporting generates reports in the background and jobs are coordinated using documents
in {es}. Depending on how often you generate reports and the overall number of
reports, you might need to change the following settings.
[cols="2*<"]
|===
| `xpack.reporting.queue.indexInterval`
| How often the index that stores reporting jobs rolls over to a new index.
Valid values are `year`, `month`, `week`, `day`, and `hour`. Defaults to `week`.
| `xpack.reporting.queue.pollEnabled` {ess-icon}
| Set to `true` (default) to enable the {kib} instance to to poll the index for
pending jobs and claim them for execution. Setting this to `false` allows the
{kib} instance to only add new jobs to the reporting queue, list jobs, and
provide the downloads to completed report through the UI.
|===
[NOTE]
============
Running multiple instances of {kib} in a cluster for load balancing of
reporting requires identical values for <<xpack-reporting-encryptionKey, `xpack.reporting.encryptionKey`>> and, if
security is enabled, <<xpack-security-encryptionKey, `xpack.security.encryptionKey`>>.
============
[cols="2*<"]
|===
| `xpack.reporting.queue.pollInterval`
| Specify the {ref}/common-options.html#time-units[time] that the reporting poller waits between polling the index for any
pending Reporting jobs. Can be specified as number of milliseconds. Defaults to `3s`.
| [[xpack-reporting-q-timeout]] `xpack.reporting.queue.timeout` {ess-icon}
| {ref}/common-options.html#time-units[How long] each worker has to produce a report. If your machine is slow or under heavy
load, you might need to increase this timeout. If a Reporting job execution goes over this time limit, the job is marked as a
failure and no download will be available. Can be specified as number of milliseconds.
Defaults to `2m`.
|===
[float]
[[reporting-capture-settings]]
==== Capture settings
Reporting works by capturing screenshots from {kib}. The following settings
control the capturing process.
[cols="2*<"]
|===
a| `xpack.reporting.capture.timeouts`
`.openUrl` {ess-icon}
| Specify the {ref}/common-options.html#time-units[time] to allow the Reporting browser to wait for the "Loading..." screen
to dismiss and find the initial data for the page. If the time is exceeded, a screenshot is captured showing the current
page, and the download link shows a warning message. Can be specified as number of milliseconds.
Defaults to `1m`.
a| `xpack.reporting.capture.timeouts`
`.waitForElements` {ess-icon}
| Specify the {ref}/common-options.html#time-units[time] to allow the Reporting browser to wait for all visualization panels
to load on the page. If the time is exceeded, a screenshot is captured showing the current page, and the download link shows
a warning message. Can be specified as number of milliseconds.
Defaults to `30s`.
a| `xpack.reporting.capture.timeouts`
`.renderComplete` {ess-icon}
| Specify the {ref}/common-options.html#time-units[time] to allow the Reporting browser to wait for all visualizations to
fetch and render the data. If the time is exceeded, a screenshot is captured showing the current page, and the download link shows a
warning message. Can be specified as number of milliseconds.
Defaults to `30s`.
|===
[NOTE]
============
If any timeouts from `xpack.reporting.capture.timeouts.*` settings occur when
running a report job, Reporting will log the error and try to continue
capturing the page with a screenshot. As a result, a download will be
available, but there will likely be errors in the visualizations in the report.
============
[cols="2*<"]
|===
| `xpack.reporting.capture.maxAttempts` {ess-icon}
| If capturing a report fails for any reason, {kib} will re-attempt other reporting
job, as many times as this setting. Defaults to `3`.
| `xpack.reporting.capture.loadDelay`
| Specify the {ref}/common-options.html#time-units[amount of time] before taking a screenshot when visualizations are not evented.
All visualizations that ship with {kib} are evented, so this setting should not have much effect. If you are seeing empty images
instead of visualizations, try increasing this value.
Defaults to `3s`.
| [[xpack-reporting-browser]] `xpack.reporting.capture.browser.type` {ess-icon}
| Specifies the browser to use to capture screenshots. This setting exists for
backward compatibility. The only valid option is `chromium`.
|===
[float]
[[reporting-chromium-settings]]
==== Chromium settings
When <<xpack-reporting-browser, `xpack.reporting.capture.browser.type`>> is set to `chromium` (default) you can also specify the following settings.
[cols="2*<"]
|===
a| `xpack.reporting.capture.browser`
`.chromium.disableSandbox`
| It is recommended that you research the feasibility of enabling unprivileged user namespaces.
See Chromium Sandbox for additional information. Defaults to false for all operating systems except Debian,
Red Hat Linux, and CentOS which use true.
a| `xpack.reporting.capture.browser`
`.chromium.proxy.enabled`
| Enables the proxy for Chromium to use. When set to `true`, you must also specify the
`xpack.reporting.capture.browser.chromium.proxy.server` setting.
Defaults to `false`.
a| `xpack.reporting.capture.browser`
.chromium.proxy.server`
| The uri for the proxy server. Providing the username and password for the proxy server via the uri is not supported.
a| `xpack.reporting.capture.browser`
.chromium.proxy.bypass`
| An array of hosts that should not go through the proxy server and should use a direct connection instead.
Examples of valid entries are "elastic.co", "*.elastic.co", ".elastic.co", ".elastic.co:5601".
|===
[float]
[[reporting-csv-settings]]
==== CSV settings
[cols="2*<"]
|===
| [[xpack-reporting-csv]] `xpack.reporting.csv.maxSizeBytes` {ess-icon}
| The maximum {ref}/common-options.html#byte-units[byte size] of a CSV file before being truncated. This setting exists to
prevent large exports from causing performance and storage issues. Can be specified as number of bytes.
Defaults to `10mb`.
| `xpack.reporting.csv.scroll.size`
| Number of documents retrieved from {es} for each scroll iteration during a CSV
export.
Defaults to `500`.
| `xpack.reporting.csv.scroll.duration`
| Amount of {ref}/common-options.html#time-units[time] allowed before {kib} cleans the scroll context during a CSV export.
Defaults to `30s`.
| `xpack.reporting.csv.checkForFormulas`
| Enables a check that warns you when there's a potential formula involved in the output (=, -, +, and @ chars).
See OWASP: https://www.owasp.org/index.php/CSV_Injection
Defaults to `true`.
| `xpack.reporting.csv` `.enablePanelActionDownload`
| Enables CSV export from a saved search on a dashboard. This action is available in the dashboard panel menu for the saved search.
*Note:* This setting exists for backwards compatibility, but is unused and hardcoded to `true`. CSV export from a saved search on a dashboard
is enabled when Reporting is enabled.
|===
[float]
[[reporting-advanced-settings]]
==== Advanced settings
[cols="2*<"]
|===
| `xpack.reporting.index`
| Reporting uses a weekly index in {es} to store the reporting job and
the report content. The index is automatically created if it does not already
exist. Configure this to a unique value, beginning with `.reporting-`, for every
{kib} instance that has a unique <<kibana-index, `kibana.index`>> setting. Defaults to `.reporting`.
| `xpack.reporting.roles.allow`
| Specifies the roles in addition to superusers that can use reporting.
Defaults to `[ "reporting_user" ]`. +
|===
[NOTE]
============
Each user has access to only their own reports.
============