Edit Kibana user settingsedit
Elasticsearch Add-On for Heroku supports most of the standard Kibana and X-Pack settings. Through a YAML editor in the console, you can append Kibana properties to the kibana.yml
file. Your changes to the configuration file are read on startup.
Be aware that some settings that could break your cluster if set incorrectly and that the syntax might change between major versions. Before upgrading, be sure to review the full list of the latest Kibana settings and syntax.
To change Kibana settings:
- Log in to the Elasticsearch Add-On for Heroku console.
-
On the deployments page, select your deployment.
Narrow your deployments by name, ID, or choose from several other filters. To customize your view, use a combination of filters, or change the format from a grid to a list.
- From your deployment menu, go to the Edit page.
- In the Kibana section, select Edit user settings. (For deployments with existing user settings, you may have to expand the Edit kibana.yml caret instead.)
- Update the user settings.
- Select Save changes.
Saving your changes initiates a configuration plan change that restarts Kibana automatically for you.
If a setting is not supported by Elasticsearch Add-On for Heroku, you will get an error message when you try to save.
Supported Kibana settingsedit
For version 7.15.0 and later, the following settings are supported:
-
migrations.maxBatchSizeBytes
- Defines the maximum payload size for indexing batches of saved objects during upgrade migrations. To learn more, check Configure Kibana.
For version 7.13.0 and later, the following settings are supported:
-
server.maxPayload
- The maximum payload size in bytes for incoming server requests. Default: 1048576. To learn more, check Configure Kibana.
-
server.securityResponseHeaders.strictTransportSecurity
-
Controls whether the
Strict-Transport-Security
header is used in all responses to the client from the Kibana server. To learn more, check Configure Kibana. -
server.securityResponseHeaders.xContentTypeOptions
-
Controls whether the
X-Content-Type-Options
header is used in all responses to the client from the Kibana server. To learn more, check Configure Kibana. -
server.securityResponseHeaders.referrerPolicy
-
Controls whether the
Referrer-Policy
header is used in all responses to the client from the Kibana server. To learn more, see Configure Kibana. -
server.securityResponseHeaders.permissionsPolicy
-
Controls whether the
Permissions-Policy
header is used in all responses to the client from the Kibana server. To learn more, see Configure Kibana. -
server.securityResponseHeaders.disableEmbedding
-
Controls whether the
Content-Security-Policy
andX-Frame-Options
headers are configured to disable embedding Kibana in other webpages using iframes. To learn more, see Configure Kibana.
For version 7.3.0 to 8.0, the following settings are supported:
-
kibana.autocompleteTimeout
-
Specifies the time in milliseconds to wait for autocomplete suggestions from Elasticsearch. The default is 1000. Allowed values are between 1 and 1200000.
To learn more, check Configure Kibana. In stack version 7.14.0 or above, use
data.autocomplete.valueSuggestions.timeout
instead. -
kibana.autocompleteTerminateAfter
-
Specifies the max number of documents loaded by each shard to generate autocomplete suggestions. The default is 100000. Allowed values are between 1 and 10000000.
To learn more, check Configure Kibana. In stack version 7.14.0 or above, use
data.autocomplete.valueSuggestions.terminateAfter
instead.
For version 7.14.0 and later, the following settings are supported:
-
data.autocomplete.valueSuggestions.timeout
- Specifies the time in milliseconds to wait for autocomplete suggestions from Elasticsearch. The default is 1000. Allowed values are between 1 and 1200000. To learn more, check Configure Kibana.
-
data.autocomplete.valueSuggestions.terminateAfter
- Specifies the max number of documents loaded by each shard to generate autocomplete suggestions. The default is 100000. Allowed values are between 1 and 10000000. To learn more, check Configure Kibana.
For version 7.0.0 to 7.15, the following settings are supported:
-
timelion.ui.enabled
-
The Timelion application no longer appears by default in the Kibana side navigation.
Set to
true
to add Timelion back into the side navigation. In version 7.16.0 the Timelion app is removed and this setting is no longer supported.
For version 6.7.0 and later, the following settings are supported:
-
i18n.locale
-
Specifies the locale for all strings, dates, and number formats that can be localized. Defaults to
en
(English).
For version 6.5.0 and later, the following settings are supported:
-
migrations.batchSize
- Defines the number of documents migrated at a time during saved object upgrade migrations. To learn more, check Configure Kibana.
For version 6.0.0 and later, the following settings are supported:
-
vega.enableExternalUrls
-
Set to
true
to allow Vega vizualizations to use data from sources other than the linked Elasticsearch cluster. In stack version 8.0.0 and above, thevega.enableExternalUrls
is not supported. Usevis_type_vega.enableExternalUrls
instead.
For version 5.6.0 and later, the following settings are supported:
-
server.defaultRoute
- Specifies the default route when opening Kibana. You can use this setting to modify the landing page when opening Kibana.
-
server.customResponseHeaders
- Specifies HTTP header names and values that the Kibana backend will return to the client.
- Map
-
map.regionmap:
-
Specifies additional vector layers for use in Region Map visualizations. Each layer object points to an external vector file that contains a geojson FeatureCollection. The file must use the WGS84 coordinate reference system and only include polygons. If the file is hosted on a separate domain from Kibana, the server needs to be CORS-enabled so Kibana can download the file. The following example shows a valid regionmap configuration.
map.regionmap: includeElasticMapsService: false layers: - name: "Departments of France" url: "http://my.cors.enabled.server.org/france_departements.geojson" attribution: "INRAP" fields: - name: "department" description: "Full department name" - name: "INSEE" description: "INSEE numeric identifier"
-
map.regionmap.includeElasticMapsService:
-
Turns on or off
whether layers from the Elastic Maps Service should be included in the vector
layer option list. Supported on Elastic Cloud Enterprise. By turning this off,
only the layers that are configured here will be included. The default is
true
. -
map.regionmap.layers[].attribution:
- Optional. References the originating source of the geojson file.
-
map.regionmap.layers[].fields[]:
- Mandatory. Each layer can contain multiple fields to indicate what properties from the geojson features you wish to expose. The previous example shows how to define multiple properties.
-
map.regionmap.layers[].fields[].description:
- Mandatory. The human readable text that is shown under the Options tab when building the Region Map visualization.
-
map.regionmap.layers[].fields[].name:
-
Mandatory.
This value is used to do an inner-join between the document stored in
Elasticsearch and the geojson file. For example, if the field in the geojson is
called
Location
and has city names, there must be a field in Elasticsearch that holds the same values that Kibana can then use to lookup for the geoshape data. -
map.regionmap.layers[].name:
- Mandatory. A description of the map being provided.
-
map.regionmap.layers[].url:
- Mandatory. The location of the geojson file as provided by a webserver.
-
tilemap.options.attribution
- Adds the map attribution string.
-
tilemap.options.maxZoom
- Sets the maximum zoom level.
-
tilemap.options.minZoom
- Sets the minimum zoom level.
-
tilemap.options.subdomains
-
Provides an array of subdomains used by the tile service.
Specify the position of the subdomain the URL with the token
{s}
. -
tilemap.url
- Lists the URL to the tileservice that Kibana uses to display map tiles in tilemap visualizations.
For version 7.0.0 and later, the following map.tilemap settings are supported:
map.tilemap.options.attribution
:: Adds the map attribution string.
-
map.tilemap.options.maxZoom
- Sets the maximum zoom level.
-
map.tilemap.options.minZoom
- Sets the minimum zoom level.
-
map.tilemap.options.subdomains
-
Provides an array of subdomains used by the tile service.
Specify the position of the subdomain the URL with the token
{s}
. -
map.tilemap.url
- Lists the URL to the tileservice that Kibana uses to display map tiles in tilemap visualizations.
-
vis_type_table.legacyVisEnabled
-
For version 7.11 to 7.16, a new version of the datatable visualization is used. Set to
true
to enable the legacy version. In version 8.0, the old implementation is removed and this setting is no longer supported.
- SAML
- If you are using SAML to secure your clusters, these settings are supported in Elasticsearch Add-On for Heroku.
For version 8.0.0 and later, the following additional settings are supported:
-
server.xsrf.allowlist
- Allows the SAML authentication URL within Kibana, so that the Kibana server doesn’t reject external authentication messages that originate from your Identity Provider.
For version 7.8.1 and later, the following additional settings are supported:
-
xpack.security.authc.providers.saml.<provider-name>.useRelayStateDeepLink
-
Specifies if Kibana should treat the
RelayState
parameter as a deep link when Identity Provider Initiated login flow is used.
For version 7.7 and later, only the following SAML user settings are needed:
-
xpack.security.authc.providers.saml.<provider-name>.order
- Specifies order of the SAML authentication provider in the authentication chain.
-
xpack.security.authc.providers.saml.<provider-name>.realm
- Specifies which SAML realm in Elasticsearch should be used.
-
xpack.security.authc.providers.saml.<provider-name>.maxRedirectURLSize
- Specifies the maximum size of the URL that Kibana is allowed to store during the SAML handshake.
-
xpack.security.authc.providers.saml.<provider-name>.description
- Specifies how SAML login should be titled in the Login Selector UI.
For version 7.5 and later, the following SAML user settings are also supported:
-
xpack.security.authc.saml.maxRedirectURLSize
- Specifies the maximum size of the URL that Kibana is allowed to store during the SAML handshake.
For version 7.2 and later, the following SAML user settings are also supported:
-
xpack.security.authc.saml.realm
- Specifies which SAML realm in Elasticsearch should be used.
-
xpack.security.authc.providers
- Specifies which providers are going to be used in Kibana.
The following settings are deprecated and are not supported in version 8.0
* xpack.security.authProviders
* xpack.security.public.protocol
* xpack.security.public.hostname
* xpack.security.public.port
* xpack.security.authc.saml.useRelayStateDeepLink
*For version 6.8.11, the following SAML user settings are also supported:
-
xpack.security.authc.saml.useRelayStateDeepLink
-
Specifies if Kibana should treat the
RelayState
parameter as a deep link when Identity Provider Initiated login flow is used.
For version 6.4 and later, The following SAML user settings are also supported:
-
xpack.security.authProviders
-
Set to
saml
to instruct Kibana to use SAML SSO as the authentication method. -
server.xsrf.whitelist
-
Explicitly allows the SAML authentication URL within Kibana, so that the Kibana server doesn’t reject external authentication messages that originate from your Identity Provider.
This setting is renamed to
server.xsrf.allowlist
in version 8.0.0. -
xpack.security.public.protocol
- Set to HTTP or HTTPS. To access Kibana, HTTPS protocol is recommended.
-
xpack.security.public.hostname
- Set to a fully qualified hostname to connect your users to the proxy server.
-
xpack.security.public.port
- The port number that connects your users to the proxy server (for example, 80 for HTTP or 443 for HTTPS).
To learn more, check configuring Kibana to use SAML.
- OpenID Connect
- If you are using OpenID Connect to secure your clusters, these settings are supported in Elasticsearch Add-On for Heroku.
For version 7.7 and later, only the following OpenID Connect user settings are needed:
-
xpack.security.authc.providers.oidc.<provider-name>.order
- Specifies order of the OpenID Connect authentication provider in the authentication chain.
-
xpack.security.authc.providers.oidc.<provider-name>.realm
- Specifies which OpenID Connect realm in Elasticsearch should be used.
-
xpack.security.authc.providers.oidc.<provider-name>.description
- Specifies how OpenID Connect login should be titled in the Login Selector UI.
For version 7.4 and later, the following OpenID Connect user settings are also supported:
-
xpack.security.authc.oidc.realm
- Specifies which OpenID Connect realm in Elasticsearch should be used.
To learn more, check configuring Kibana to use OpenID Connect.
- Anonymous authentication
- If you want to allow anonymous authentication in Kibana, these settings are supported in Elasticsearch Add-On for Heroku. To learn more on how to enable anonymous access, check Enabling anonymous access
-
xpack.security.authc.anonymous.*
-
Enables access for the
anonymous
user. In versions prior to 7.10 anonymous access is enabled by default, but you can add this setting if you want to avoid anonymous access being disabled accidentally by a subsequent upgrade.
For version 7.11 and later, the following anonymous authentication settings are needed:
-
xpack.security.authc.providers.anonymous.<provider-name>.order
- Specifies order of the anonymous authentication provider in the authentication chain.
-
xpack.security.authc.providers.anonymous.<provider-name>.credentials
- Specifies which credentials Kibana should use for anonymous users.
To learn more, check configuring Kibana to use anonymous authentication.
-
xpack.security.sessionTimeout
- Specifies the session duration in milliseconds. Allows a value between 15000 (15 seconds) and 86400000 (1 day). To learn more, check Security settings in Kibana. Deprecated in versions 7.6+ and removed in versions 8.0+.
X-Pack configuration settingsedit
You can configure the following X-Pack settings from the Kibana User Settings editor.
For version 7.12.1 and later:
-
xpack.actions.maxResponseContentLength
- Specifies the max number of bytes of the HTTP response for requests to external resources. Defaults to 1mb.
-
xpack.actions.responseTimeout
- Specifies the time allowed for requests to external resources. Requests that take longer are aborted. The time is formatted as <count>[ms|s|m|h|d|w|M|Y], for example, 20m, 24h, 7d, 1w. Defaults to 60s.
For versions from 6.8.11 to 7.0.0 and 7.8.1 and later:
-
xpack.security.sameSiteCookies
-
Sets the
SameSite
attribute ofSet-Cookie
HTTP header. It allows you to declare whether your cookie should be restricted to a first-party or same-site context. Not set by default, which makes modern browsers treat it asLax
. If you use Kibana embedded in an iframe in modern browsers, you might need to set it toNone
. Note thatNone
usage requires secure context:xpack.security.secureCookies: true
. Some old versions of IE11 do not supportSameSite: None
, so you should not specifyxpack.security.sameSiteCookies
at all.
For version 7.7 and later:
-
xpack.task_manager.max_workers
-
Specify the maximum number of tasks a Kibana will run concurrently. Default:
10
. -
xpack.task_manager.poll_interval
-
Specify how often, in milliseconds, a Kibana should check for more tasks. Default:
3000
. -
xpack.task_manager.index
-
Specify the name of the index that the task_manager will use. Cannot be set to
.tasks
as that is already in use by the Elasticsearch Task Manager. Default:.kibana_task_manager
. -
xpack.eventLog.logEntries
-
Set to
true
to enable logging event log documents from alerting to the Kibana log, in addition to being indexed into the event log index. Default:false
.
For version 7.6 and later:
-
xpack.security.session.idleTimeout
-
Set the session duration. The format is a string of
count
andunit
, where unit is one ofms
,s
,m
,h
,d
,w
,M
,Y
. For example,70ms
,5s
,3d
,1Y
. To learn more, check Security settings in Kibana. -
xpack.security.session.lifespan
- Sets the maximum duration, also known as "absolute timeout". After this duration, the session will expire even if it is not idle. To learn more, check Security settings in Kibana.
-
xpack.maps.showMapVisualizationTypes
-
Set to
true
if you want to create new region map visualizations. -
xpack.actions.allowedHosts
-
Set to an array of host names which actions such as email, slack, pagerduty, and webhook can connect to. An element of
*
indicates any host can be connected to. An empty array indicates no hosts can be connected to. Default:[ * ]
-
xpack.actions.enabledActionTypes
-
Set to an array of action types that are enabled. An element of
*
indicates all action types registered are enabled. The action types provided by Kibana are:.server-log
,.slack
,.email
,.index
,.pagerduty
,.webhook
. Default:[ * ]
For version 5.0 and later:
-
xpack.grokdebugger.enabled
-
Set to
true
(default) to enable the Grok Debugger. -
xpack.graph.enabled
-
Set to
false
to disable X-Pack graph. -
xpack.monitoring.cluster_alerts.email_notifications.email_address
-
When enabled, specifies the email address to receive cluster alert notifications. As of version 6.5, replaces the
xpack:defaultAdminEmail
setting for monitoring. -
xpack.monitoring.kibana.collection.interval
- Controls how often data samples are collected.
-
xpack.monitoring.min_interval_seconds
-
Specifies the minimum number of seconds that a time bucket in a chart can represent. If you modify the
xpack.monitoring.kibana.collection.interval
, use the same value in this setting. -
xpack.monitoring.ui.container.elasticsearch.enabled
-
For Elasticsearch clusters that run in containers, enables the
Node Listing
to display theCPU utilization
based on theCgroup statistics
, and adds theCgroup CPU utilization
to the Node Overview page instead of the overall operating system CPU utilization. -
monitoring.cluster_alerts.allowedSpaces
-
Specifies the spaces where cluster Stack Monitoring alerts can be created. You must specify all spaces where you want to generate alerts, including the default space. Defaults to
[ "default" ]
.Starting in 7.15, the Stack Monitoring application will prompt you to create cluster alerts rather than creating them automatically in allowed spaces. This configuration is deprecated in 7.16+ and will be removed in 8.0+.
-
xpack.ml.enabled
-
Set to true (default) to enable machine learning.
If set to
false
inkibana.yml
, the machine learning icon is hidden in this Kibana instance. Ifxpack.ml.enabled
is set totrue
inelasticsearch.yml
, however, you can still use the machine learning APIs. To disable machine learning entirely, check the Elasticsearch Machine Learning Settings. -
xpack.reporting.enabled
-
Set to
false
to completely disable reporting. -
xpack.reporting.queue.timeout
-
Specifies the time each worker has to produce a report. If your machine is slow or under heavy load, you might need to increase this timeout. Specified in milliseconds (number) or duration (string). Duration is a string value formatted as <count>[ms|s|m|h|d|w|M|Y], for example, 20m, 24h, 7d, 1w.
Defaults to
120000
(2 minutes) -
xpack.reporting.capture.maxAttempts
-
Specifies how many retries to attempt in case of occasional failures.
Defaults to
3
. -
xpack.screenshotting.capture.timeouts.openUrl
-
Specify how long to allow the Reporting browser to wait for the "Loading…" screen to dismiss and find the initial data for the Kibana page. If the time is exceeded, a page screenshot is captured showing the current state, and the download link shows a warning message.
Defaults to
30000
(30 seconds). -
xpack.screenshotting.capture.timeouts.waitForElements
-
Specify how long to allow the Reporting browser to wait for all visualization panels to load on the Kibana page. If the time is exceeded, a page screenshot is captured showing the current state, and the download link shows a warning message.
Defaults to
30000
(30 seconds). -
xpack.screenshotting.capture.timeouts.renderComplete
-
Specify how long to allow the Reporting browser to wait for all visualizations to fetch and render the data. If the time is exceeded, a page screenshot is captured showing the current state, and the download link shows a warning message.
Defaults to
30000
(30 seconds). -
xpack.screenshotting.capture.browser.type
-
Specifies the browser to use to capture screenshots. Valid options are
phantom
andchromium
.Beginning with version 7.0,
chromium
is the only allowed option. Defaults tophantom
for earlier versions. -
xpack.reporting.csv.maxSizeBytes
-
Sets the maximum size of a CSV file before being truncated. This setting exists to prevent large exports from causing performance and storage issues. Until 7.15, maximum allowed value is 50 MB (52428800 Bytes).
Defaults to
250MB
. Elastic Stack versions before 8.10 default to10485760
(10MB). -
xpack.reporting.encryptionKey
- Set to any text string. To provide your own encryption key for reports, use this setting.
For version 7.13.0 and later, the following xpack.reporting setting is supported:
-
xpack.reporting.roles.enabled
-
When
true
, grants users access to the reporting features when they are assigned thereporting_user
role. Granting access to users this way is deprecated. Set tofalse
and use Kibana privileges instead.
Defaults to true
.
For version 7.17.0 and later, the following xpack.reporting setting is supported:
-
xpack.reporting.csv.scroll.duration
- Amount of time allowed before Kibana cleans the scroll context during a CSV export.
Defaults to 30s
(30 seconds).
If search latency in Elasticsearch is sufficiently high, such as if you are using cross-cluster search or frozen tiers, you may need to increase the setting.
- Logging and audit settings
- NOTE: To change logging settings or to enable auditing you must first enable deployment logging.
The following logging settings are supported:
For 7.6 and later 7.x versions:
-
logging.verbose
- If set to true, all events are logged, including system usage information and all requests. Defaults to false.
-
logging.quiet
- If set to true, all logging output other than error messages is suppressed. Defaults to false.
-
elasticsearch.logQueries
-
When set to true, queries sent to Elasticsearch are logged (requires
logging.verbose
set to true). Defaults to false. -
xpack.security.audit.enabled
- When set to true, audit logging is enabled for security events. Defaults to false.
For 7.12 and later 7.x versions:
-
xpack.security.audit.appender.type
-
When set to "rolling-file" and
xpack.security.audit.enabled
is set to true, Kibana ECS audit logs are enabled.
For 7.11 and later:
-
xpack.security.audit.ignore_filters
- List of filters that determine which audit events should be excluded from the ECS audit log.
For 7.11.x versions:
-
xpack.security.audit.appender.kind
-
When set to "rolling-file" and
xpack.security.audit.enabled
is set to true, Kibana ECS audit logs are enabled.
For 8.0 and later:
-
logging.root.level
-
Can be used to adjust Kibana’s logging level. Allowed values are
fatal
,error
,warn
,info
,debug
,trace
, andall
. Setting this toall
causes all events to be logged, including system usage information, all requests, and Elasticsearch queries. This has a similar effect to enabling bothlogging.verbose
andelasticsearch.logQueries
in older 7.x versions. Setting toerror
has a similar effect to enablinglogging.quiet
in older 7.x versions. Defaults toinfo
. - APM
-
The following APM settings are deprecated and are not supported in version 8.0:
-
xpack.apm.maxServiceEnvironments
-
The following APM settings are supported in Kibana:
For version 7.16.0 to 8.6.2:
-
xpack.apm.ui.transactionGroupBucketSize
-
Number of top transaction groups displayed in the APM app. Defaults to
1000
.
For version 7.16.0 and later:
-
xpack.apm.maxServiceEnvironments
-
Maximum number of unique service environments recognized by the UI. Defaults to
100
. -
xpack.apm.serviceMapFingerprintBucketSize
-
Maximum number of unique transaction combinations sampled for generating service map focused on a specific service. Defaults to
100
. -
xpack.apm.serviceMapFingerprintGlobalBucketSize
-
Maximum number of unique transaction combinations sampled for generating the global service map. Defaults to
100
. -
xpack.apm.serviceMapEnabled
-
Set to
false
to disable service maps. Defaults totrue
. -
xpack.apm.serviceMapTraceIdBucketSize
-
Maximum number of trace IDs sampled for generating service map focused on a specific service. Defaults to
65
. -
xpack.apm.serviceMapTraceIdGlobalBucketSize
-
Maximum number of trace IDs sampled for generating the global service map. Defaults to
6
. -
xpack.apm.serviceMapMaxTracesPerRequest
-
Maximum number of traces per request for generating the global service map. Defaults to
50
. -
xpack.observability.annotations.index
-
Index name where Observability annotations are stored. Defaults to
observability-annotations
. -
xpack.apm.metricsInterval
-
Sets a
fixed_interval
for date histograms in metrics aggregations. Defaults to30
. -
xpack.apm.agent.migrations.enabled
-
Set to
false
to disable cloud APM migrations. Defaults totrue
. -
xpack.apm.indices.span
- Matcher for indices containing span documents. Defaults to apm-*.
-
xpack.apm.indices.error
- Matcher for indices containing error documents. Defaults to apm-*.
-
xpack.apm.indices.transaction
- Matcher for indices containing transaction documents. Defaults to apm-*.
-
xpack.apm.indices.onboarding
- Matcher for all onboarding indices. Defaults to apm-*.
-
xpack.apm.indices.metric
- Matcher for all metrics indices. Defaults to apm-*.
-
xpack.apm.indices.sourcemap
- Matcher for all source map indices. Defaults to apm-*.
-
xpack.apm.maxSuggestions
-
Maximum number of suggestions fetched in autocomplete selection boxes. Defaults to
100
For version 7.14.0 and later:
-
xpack.apm.searchAggregatedTransactions
-
Whether to use metric instead of transaction documents to render the UI. Available options are
always
,never
orauto
. Defaults toauto
.
For version 7.13.0 to 7.16.0:
-
xpack.apm.maxServiceSelection
-
Maximum number of unique services fetched in autocomplete selection boxes. Defaults to
100
For version 7.6.0 and later:
-
xpack.apm.autocreateApmIndexPattern
-
Set to
false
to disable the automatic creation of the APM data view when the APM app is opened. Defaults totrue
. This setting is renamed toxpack.apm.autoCreateApmDataView
in version 8.0.0.
For version 7.4.0 and later:
-
xpack.apm.ui.maxTraceItems
-
Maximum number of child items displayed when viewing trace details.
Defaults to
1000
. Any positive value is valid. To learn more, check APM settings in Kibana.
For version 6.1.0 and later:
-
xpack.apm.ui.enabled
-
Set to
false
to disable X-Pack APM UI.