Reporting Settings in Kibana

edit

You configure xpack.reporting settings in kibana.yml to control how X-Pack reporting communicates with the Kibana server, manages background jobs, and captures screenshots.

General Reporting Settings

edit
xpack.reporting.enabled
Set to false to disable X-Pack reporting.
xpack.reporting.encryptionKey
Set to any text string. By default, Kibana generates a random key when it starts, which causes any pending reports to fail on restart. Configure this setting to use the same key across restarts.

Kibana Server Settings

edit

Reporting uses the Kibana interface to generate reports. In most cases, you don’t need to configure Reporting to communicate with Kibana, it just works out of the box. However, if you use a proxy in your stack or otherwise change how you access Kibana, you might need to configure the following settings.

xpack.reporting.kibanaApp
The root path used to access Kibana, defaults to /app/kibana.
xpack.reporting.kibanaServer.port
The port used to access Kibana, if different than the server.port value.
xpack.reporting.kibanaServer.protocol
The protocol used to access Kibana, typically http or https.
xpack.reporting.kibanaServer.hostname
The hostname used to access Kibana, if different than the server.name value.

Background Job Settings

edit

Reporting generates reports in the background and jobs are coordinated using documents in Elasticsearch. Depending on how often you generate reports and the overall number of reports, you may need to change some of the following settings.

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.pollInterval
How often idle workers poll the index for pending jobs. Defaults to 3000 (3 seconds).
xpack.reporting.queue.timeout
How long each worker has to produce a report. If your machine is slow or under constant heavy load, you might need to increase this timeout. Specified in milliseconds. Defaults to 30000 (30 seconds).

Capture Settings

edit

Reporting works by capturing screenshots from Kibana. These settings are used to control various aspects of the capturing process.

xpack.reporting.capture.concurrency
The number of concurrent capture processes to run. Note that jobs are CPU bound, and exceeding the number of cores available on the machine will likely be very slow and might cause issues. Defaults to the number of cores on the machine.
xpack.reporting.capture.loadDelay
When visualizations are not evented, this is the amount of time to before taking a screenshot. All visualizations that ship with Kibana are evented, so this setting shouldn’t have much effect. If you are seeing empty images instead of visualizations in your reports, try increasing this value. Defaults to 3000 (3 seconds).
xpack.reporting.capture.settleTime
When visualizations are evented, this is the amount of time to wait for their rendering to settle. If visualizations in your PDF are smaller than they should be, try increasing this value. Defaults to 1000 (1 second).
xpack.reporting.capture.timeout
The maximum amount of time to wait for things to render in Kibana when capturing screenshots. Defaults to 6000 (6 seconds).

CSV Settings

edit
xpack.reporting.csv.maxSizeBytes
The maximum size that a CSV may reach before being truncated. This exists to prevent unintentionally large exports from causing performance and storage issues. Defaults to 10485760 (10mB)

Advanced Settings

edit
xpack.reporting.index
Reporting uses a weekly index in Elasticsearch to store the reporting job and the report content. The index will be created automatically if it does not already exist. Defaults to .reporting
xpack.reporting.roles.allow
Specifies the roles in addition to superusers that are allowed to access reporting. Defaults to [ "reporting_user" ]