Configure Kibana

The Kibana server reads properties from the kibana.yml file on startup.

The location of this file differs depending on how you installed Kibana:

  • Archive distributions (.tar.gz or .zip): Default location is $KIBANA_HOME/config
  • Package distributions (Debian or RPM): Default location is /etc/kibana

The config directory can be changed using the KBN_PATH_CONF environment variable:

KBN_PATH_CONF=/home/kibana/config ./bin/kibana
		

The default host and port settings configure Kibana to run on localhost:5601. To change this behavior and allow remote users to connect, you need to update your server.host and server.port settings in the kibana.yml file.

In this file, you can also enable SSL and set a variety of other options.

Environment variables can be injected into configuration using ${MY_ENV_VAR} syntax. By default, configuration validation will fail if an environment variable used in the config file is not present when Kibana starts. This behavior can be changed by using a default value for the environment variable, using the ${MY_ENV_VAR:defaultValue} syntax.

For a complete list of settings that you can apply to Kibana, refer to Kibana configuration reference.

Most Kibana settings are read only at startup, so changing them requires a restart. However, you can update some settings without restarting Kibana by sending a SIGHUP signal to the running process. The settings described in this section support this type of reload on Unix-like systems. On Windows, you must restart Kibana to apply changes made in kibana.yml.

Important

If Kibana cannot parse the updated kibana.yml or validate the settings being reloaded, it shuts down. Check your changes before sending SIGHUP.

You can reload Kibana logging settings without restarting Kibana. This is useful when you need to temporarily increase logging verbosity while troubleshooting. You can change logging.root.level, configure a dedicated logger, or increase verbosity for log records that match specific metadata. Reload the configuration and collect the detailed logs you need. When you finish, restore the original settings and reload the configuration.

For all available logging settings, refer to the Kibana logging configuration reference.

To reload the logging configuration:

  1. Update the logging settings in kibana.yml to configure the log levels, output, or filtering you need.

  2. Send a SIGHUP signal to the running Kibana process to reload the configuration:

    kill -HUP <kibana_pid>
    		

    On Docker, signal the container instead:

    docker kill --signal=HUP <container_id>
    		

    If you run Kibana with multiple worker processes, send the signal to each process.

  3. Confirm the reload in the Kibana logs. A successful reload produces a message similar to:

    Reloaded Kibana configuration (reason: SIGHUP signal received).
    		
  4. Verify that the updated logging settings produce the expected output.

  5. If the logging changes are temporary, restore the original settings and send another SIGHUP signal to reload the configuration.

Refer to the following documentation to learn how to perform key configuration tasks for Kibana: