Setting Kibana Server Propertiesedit

The Kibana server reads properties from the kibana.yml file on startup. The default settings configure Kibana to run on localhost:5601. To change the host or port number, or connect to Elasticsearch running on a different machine, you’ll need to update your kibana.yml file. You can also enable SSL and set a variety of other options.

Table 3. Kibana Configuration Settings

server.port:

Default: 5601 Kibana is served by a back end server. This setting specifies the port to use.

server.host:

Default: "0.0.0.0" This setting specifies the IP address of the back end server.

server.basePath:

Enables you to specify a path to mount Kibana at if you are running behind a proxy. This setting cannot end in a slash (/).

server.maxPayloadBytes:

Default: 1048576 The maximum payload size in bytes for incoming server requests.

elasticsearch.url:

Default: "http://localhost:9200" The URL of the Elasticsearch instance to use for all your queries.

elasticsearch.preserveHost:

Default: true When this setting’s value is true Kibana uses the hostname specified in the server.host setting. When the value of this setting is false, Kibana uses the hostname of the host that connects to this Kibana instance.

kibana.index:

Default: ".kibana" Kibana uses an index in Elasticsearch to store saved searches, visualizations and dashboards. Kibana creates a new index if the index doesn’t already exist.

kibana.defaultAppId:

Default: "discover" The default application to load.

elasticsearch.username: and elasticsearch.password:

If your Elasticsearch is protected with basic authentication, these settings provide the username and password that the Kibana server uses to perform maintenance on the Kibana index at startup. Your Kibana users still need to authenticate with Elasticsearch, which is proxied through the Kibana server.

server.ssl.cert: and server.ssl.key:

Paths to the PEM-format SSL certificate and SSL key files, respectively. These files enable SSL for outgoing requests from the Kibana server to the browser.

elasticsearch.ssl.cert: and elasticsearch.ssl.key:

Optional settings that provide the paths to the PEM-format SSL certificate and key files. These files validate that your Elasticsearch backend uses the same key files.

elasticsearch.ssl.ca:

Optional setting that enables you to specify a path to the PEM file for the certificate authority for your Elasticsearch instance.

elasticsearch.ssl.verify:

Default: true To disregard the validity of SSL certificates, change this setting’s value to false.

elasticsearch.pingTimeout:

Default: the value of the elasticsearch.requestTimeout setting Time in milliseconds to wait for Elasticsearch to respond to pings.

elasticsearch.requestTimeout:

Default: 30000 Time in milliseconds to wait for responses from the back end or Elasticsearch. This value must be a positive integer.

elasticsearch.shardTimeout:

Default: 0 Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.

elasticsearch.startupTimeout:

Default: 5000 Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying.

pid.file:

Specifies the path where Kibana creates the process ID file.

logging.dest:

Default: stdout Enables you specify a file where Kibana stores log output.

logging.filter.<key>:

Default: authorization Replace <key> with the string to filter. Set the value of this setting to remove to remove matching keys from all logged objects. Set the value of this setting to censor to replace each character in the key’s value with an X character.

logging.silent:

Default: false Set the value of this setting to true to suppress all logging output.

logging.quiet:

Default: false Set the value of this setting to true to suppress all logging output other than error messages.

logging.verbose

Default: false Set the value of this setting to true to log all events, including system usage information and all requests.

Deprecated in 4.2.

The names of several Kibana server properties changed in the 4.2 release of Kibana. The previous names remain as functional aliases, but are now deprecated and will be removed in a future release of Kibana

Table 4. Kibana Server Properties Changed in the 4.2 Release

server.port [4.2] Added in 4.2.

The port that the Kibana server runs on.

alias: port [4.2] Deprecated in 4.2.

default: 5601

server.host [4.2] Added in 4.2.

The host to bind the Kibana server to.

alias: host [4.2] Deprecated in 4.2.

default: "0.0.0.0"

elasticsearch.url [4.2] Added in 4.2.

The Elasticsearch instance where the indices you want to query reside.

alias: elasticsearch_url [4.2] Deprecated in 4.2.

default: "http://localhost:9200"

elasticsearch.preserveHost [4.2] Added in 4.2.

By default, the host specified in the incoming request from the browser is specified as the host in the corresponding request Kibana sends to Elasticsearch. If you set this option to false, Kibana uses the host specified in elasticsearch_url.

alias: elasticsearch_preserve_host [4.2] Deprecated in 4.2.

default: true

elasticsearch.ssl.cert [4.2] Added in 4.2.

This parameter specifies the path to the SSL certificate for Elasticsearch instances that require a client certificate.

alias: kibana_elasticsearch_client_crt [4.2] Deprecated in 4.2.

elasticsearch.ssl.key [4.2] Added in 4.2.

This parameter specifies the path to the SSL key for Elasticsearch instances that require a client key.

alias: kibana_elasticsearch_client_key [4.2] Deprecated in 4.2.

elasticsearch.password [4.2] Added in 4.2.

This parameter specifies the password for Elasticsearch instances that use HTTP basic authentication. Kibana users still need to authenticate with Elasticsearch, which is proxied through the Kibana server.

alias: kibana_elasticsearch_password [4.2] Deprecated in 4.2.

elasticsearch.username [4.2] Added in 4.2.

This parameter specifies the username for Elasticsearch instances that use HTTP basic authentication. Kibana users still need to authenticate with Elasticsearch, which is proxied through the Kibana server.

alias: kibana_elasticsearch_username [4.2] Deprecated in 4.2.

elasticsearch.pingTimeout [4.2] Added in 4.2.

This parameter specifies the maximum wait time in milliseconds for ping responses by Elasticsearch.

alias: ping_timeout [4.2] Deprecated in 4.2.

default: 1500

elasticsearch.startupTimeout [4.2] Added in 4.2.

This parameter specifies the maximum wait time in milliseconds for Elasticsearch discovery at Kibana startup. Kibana repeats attempts to discover an Elasticsearch cluster after the specified time elapses.

alias: startup_timeout [4.2] Deprecated in 4.2.

default: 5000

kibana.index [4.2] Added in 4.2.

The name of the index where saved searched, visualizations, and dashboards will be stored..

alias: kibana_index [4.2] Deprecated in 4.2.

default: .kibana

kibana.defaultAppId [4.2] Added in 4.2.

The page that will be displayed when you launch Kibana: discover, visualize, dashboard, or settings.

alias: default_app_id [4.2] Deprecated in 4.2.

default: "discover"

logging.silent [4.2] Added in 4.2.

Set this value to true to suppress all logging output.

default: false

logging.quiet [4.2] Added in 4.2.

Set this value to true to suppress all logging output except for log messages tagged error, fatal, or Hapi.js errors.

default: false

logging.verbose [4.2] Added in 4.2.

Set this value to true to log all events, including system usage information and all requests.

default: false

logging.events [4.2] Added in 4.2.

You can specify a map of log types to output tags for this parameter to create a customized set of loggable events, as in the following example:

{
  log: ['info', 'warning', 'error', 'fatal'],
  response: '*',
  error: '*'
}

elasticsearch.requestTimeout [4.2] Added in 4.2.

How long to wait for responses from the Kibana backend or Elasticsearch, in milliseconds.

alias: request_timeout [4.2] Deprecated in 4.2.

default: 500000

elasticsearch.shardTimeout [4.2] Added in 4.2.

How long Elasticsearch should wait for responses from shards. Set to 0 to disable.

alias: shard_timeout [4.2] Deprecated in 4.2.

default: 0

elasticsearch.ssl.verify [4.2] Added in 4.2.

Indicates whether or not to validate the Elasticsearch SSL certificate. Set to false to disable SSL verification.

alias: verify_ssl [4.2] Deprecated in 4.2.

default: true

elasticsearch.ssl.ca

An array of paths to the CA certificates for your Elasticsearch instance. Specify if you are using a self-signed certificate so the certificate can be verified. Disable elasticsearch.ssl.verify otherwise.

alias: ca [4.2] Deprecated in 4.2.

server.ssl.key [4.2] Added in 4.2.

The path to your Kibana server’s key file. Must be set to encrypt communications between the browser and Kibana.

alias: ssl_key_file [4.2] Deprecated in 4.2.

server.ssl.cert [4.2] Added in 4.2.

The path to your Kibana server’s certificate file. Must be set to encrypt communications between the browser and Kibana.

alias: ssl_cert_file [4.2] Deprecated in 4.2.

pid.file [4.2] Added in 4.2.

The location where you want to store the process ID file.

alias: pid_file [4.2] Deprecated in 4.2.

default: /var/run/kibana.pid

logging.dest [4.2] Added in 4.2.

The location where you want to store the Kibana’s log output. If not specified, log output is written to standard output and not stored. Specifying a log file suppresses log writes to standard output.

alias: log_file [4.2] Deprecated in 4.2.