Configuring Reporting
editConfiguring Reporting
editThe default settings enable Reporting to work out of the box in most
cases. However, you can configure the following options in
kibana.yml
to control how Reporting accesses Kibana, fine-tune the behavior
of the background Reporting jobs, and control how many reports can be generated
at one time.
Reporting Settings
edit-
reporting.encryptionKey
- A unique string used for encryption to protect sensitive information, like headers.
If you are load balancing across multiple Kibana instances, they need to have the same reporting encryption key. Otherwise, report generation will fail if a report is requested through one instance and another instance picks up the job from the report queue.
Kibana Server Settings
editReporting uses the Kibana interface to generate reports. If you use a proxy in your stack or otherwise change how you access Kibana, you might need to configure the following settings.
-
reporting.kibanaApp
-
The root path used to access Kibana, defaults to
/app/kibana
. -
reporting.kibanaServer.port
-
The port used to access Kibana, if different than the
server.port
value. -
reporting.kibanaServer.protocol
-
The protocol used to access Kibana, typically
http
orhttps
. -
reporting.kibanaServer.hostname
-
The hostname used to access Kibana, if different than the
server.name
value.
Background Job Settings
editReporting 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 might need to adjust the following settings.
-
reporting.queue.indexInterval
-
How often the index that stores reporting jobs rolls over to a new index.
Valid values are
year
,month
,week
,day
, andhour
. Defaults toweek
. -
reporting.queue.pollInterval
-
How often idle workers poll the index for pending jobs. Defaults to
3000
(3 seconds). -
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). -
reporting.queue.syncSocketTimeout
-
The maximum amount of time the socket should be held open for synchronous document
requests. Defaults to
300000
(5 minutes).
Capture Settings
editReporting works by grabbing screenshots from Kibana. These settings are used to control various aspects of the capturing process.
-
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.
-
reporting.capture.loadDelay
-
The amount of time to wait for Kibana to finish rendering the visualization before
taking a screenshot. Raising this value will increase report generation time, but
may be required on slower machines. If you are seeing empty images instead of
visualizations in your reports, try increasing this value.
Defaults to
3000
(3 seconds). -
reporting.capture.timeout
-
The maximum amount of time to wait for things to render in Kibana when capturing
screenshots. Defaults to
6000
(6 seconds).
Advanced Settings
edit-
reporting.roles.allow
-
Specifies the roles that are allowed to access reporting.
Defaults to
[ "admin", "reporting_user" ]