Add Kibana user settings

Elasticsearch Service 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:

  1. Log into the Elasticsearch Service Console.
  2. 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.

  3. From your deployment menu, go to the Edit page.
  4. At the bottom of the Kibana instance, expand the User settings overrides caret.
  5. Update the user settings.
  6. Click Save changes.

Saving your changes initiates a configuration plan change that restarts Kibana automatically for you.

If a setting is not supported by Elasticsearch Service, you will get an error message when you try to save.

Supported Kibana settings

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. Available on Kibana 7.3 and higher. To learn more, see Configuring Kibana.
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. Available on Kibana 7.3 and higher. To learn more, see Configuring Kibana.
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 example above 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.
server.defaultRoute
Specifies the default route when opening Kibana. You can use this setting to modify the landing page when opening Kibana.
tilemap.options.attribution

Adds the map attribution string.

In version 7.0, all tilemap settings now begin with map.. For example, tilemap.options becomes map.tilemap.options

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.
i18n.locale
Specifies the locale for all strings, dates, and number formats that can be localized. Defaults to en (English).
timelion.ui.enabled

For version 7.x The Timelion application no longer appears by default in the Kibana side navigation.

Set to true to add Timelion back in the side navigation.

SAML
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

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
Whitelists the SAML authentication URL within Kibana, so that the Kibana server doesn’t reject external authentication messages that originate from your Identity Provider.
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, see configuring Kibana to use SAML.

OpenID Connect
The following OpenID Connect user settings are supported:
xpack.security.authc.oidc.realm
Specifies which OpenID Connect realm in Elasticsearch should be used.

To learn more, see configuring Kibana to use OpenID Connect.

xpack.security.sessionTimeout
Specifies the session duration in milliseconds. Allows a value between 15000 (15 seconds) and 86400000 (1 day). To learn more, see Security settings in Kibana.

X-Pack configuration settings

For version 5.0 and later: You can configure the following X-Pack settings from the Kibana User Settings editor. You can review the full list of the latest X-Pack settings, if needed.

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 the CPU utilization based on the Cgroup statistics, and adds the Cgroup CPU utilization to the Node Overview page instead of the overall operating system CPU utilization.

Defaults to false.

xpack.ml.enabled

Set to true (default) to enable machine learning.

If set to false in kibana.yml, the machine learning icon is hidden in this Kibana instance. If xpack.ml.enabled is set to true in elasticsearch.yml, however, you can still use the machine learning APIs. To disable machine learning entirely, see the Elasticsearch Machine Learning Settings.

xpack.reporting.enabled
Set to false to disable reporting.
xpack.reporting.queue.timeout

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. Specified in milliseconds.

Defaults to 30000 (30 seconds).

xpack.reporting.capture.browser.type

Specifies the browser to use to capture screenshots. Valid options are phantom and chromium. When chromium is set, the settings specified in the Chromium settings are respected.

Defaults to phantom.

xpack.reporting.encryptionKey
Set to any text string. To provide your own encryption key for reports, use this setting.
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.

Defaults to 10485760 (10mB).

APM
The following APM settings are supported in Kibana:
xpack.apm.ui.enabled
Set to false to disable X-Pack APM UI.
apm_oss.spanIndices
Matcher for indices containing span documents. Defaults to apm-*.
apm_oss.errorIndices
Matcher for indices containing error documents. Defaults to apm-*.
apm_oss.transactionIndices
Matcher for indices containing transaction documents. Defaults to apm-*.