New

The executive guide to generative AI

Read more
Loading

Install Kibana on Windows

Self Managed

Kibana can be installed on Windows using the .zip package.

This package contains both free and subscription features. Start a 30-day trial to try out all of the features.

The latest stable version of Kibana can be found on the Download Kibana page. Other versions can be found on the Past Releases page.

Download the .zip windows archive for Kibana 9.0.0 from https://artifacts.elastic.co/downloads/kibana/kibana-9.0.0-windows-x86_64.zip

Unzip it with your favorite unzip tool. This will create a folder called kibana-9.0.0-windows-x86_64, which we will refer to as $KIBANA_HOME. In a terminal window, CD to the $KIBANA_HOME directory, for instance:

CD c:\kibana-9.0.0-windows-x86_64

Start Elasticsearch.

When you start your first Elasticsearch node for the first time, it automatically performs the following security setup:

  • Generates TLS certificates for the transport and HTTP layers
  • Applies TLS configuration settings to elasticsearch.yml
  • Sets a password for the elastic superuser
  • Creates an enrollment token to securely connect Kibana to Elasticsearch

You can then start Kibana and enter the enrollment token, which is valid for 30 minutes. This token automatically applies the security settings from your Elasticsearch cluster, authenticates to Elasticsearch with the built-in kibana service account, and writes the security configuration to kibana.yml.

Note

There are some cases where security can’t be configured automatically because the node startup process detects that the node is already part of a cluster, or that security is already configured or explicitly disabled.

If your enrollment token has expired, then you can generate a new enrollment token for Kibana with the elasticsearch-create-enrollment-token tool:

bin/elasticsearch-create-enrollment-token -s 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 set up Kibana to run on a routable, external IP address. You can do this by editing the settings in kibana.yml:

  1. Open kibana.yml in a text editor.

  2. Uncomment the line #server.host: localhost and replace the default address with 0.0.0.0. The 0.0.0.0 setting enables Kibana to listen for connections on all available network interfaces. In a production environment, you might want to use a different value, such as a static IP address.

    server.host: 0.0.0.0
    
  3. Save your changes and close the editor.

Kibana can be started from the command line as follows:

.\bin\kibana.bat

By default, Kibana runs in the foreground, prints its logs to STDOUT, and can be stopped by pressing Ctrl+C.

If this is the first time you’re starting Kibana, this command generates a unique link in your terminal to enroll your Kibana instance with Elasticsearch.

  1. In your terminal, click the generated link to open Kibana in your browser.
  2. In your browser, paste the enrollment token that was generated in the terminal when you started Elasticsearch, and then click the button to connect your Kibana instance with Elasticsearch.
  3. Log in to Kibana as the elastic user with the password that was generated when you started Elasticsearch.
Note

If you need to reset the password for the elastic user or other built-in users, run the elasticsearch-reset-password tool. To generate new enrollment tokens for Kibana or Elasticsearch nodes, run the elasticsearch-create-enrollment-token tool. These tools are available in the Elasticsearch bin directory.

Tip

Kibana won’t enter interactive mode if it detects existing credentials for Elasticsearch (elasticsearch.username and elasticsearch.password) or an existing URL for elasticsearch.hosts.

In this case, you can enroll Kibana in detached mode:

Run the kibana-setup tool and pass the generated enrollment token with the --enrollment-token parameter.

bin/kibana-setup --enrollment-token <enrollment-token>

Kibana loads its configuration from the $KIBANA_HOME/config/kibana.yml file by default. The format of this config file is explained in Configure Kibana.

The .zip package is entirely self-contained. All files and directories are, by default, contained within $KIBANA_HOME — the directory created when unpacking the archive.

This is very convenient because you don’t have to create any directories to start using Kibana, and uninstalling Kibana is as easy as removing the $KIBANA_HOME directory. However, it is advisable to change the default locations of the config and data directories so that you do not delete important data later on.

Type Description Default Location Setting
home Kibana home directory or $KIBANA_HOME Directory created by unpacking the archive
bin Binary scripts including kibana to start the Kibana server and kibana-plugin to install plugins $KIBANA_HOME\bin
config Configuration files including kibana.yml $KIBANA_HOME\config [KBN_PATH_CONF](configure-kibana.md)
data The location of the data files written to disk by Kibana and its plugins $KIBANA_HOME\data
plugins Plugin files location. Each plugin will be contained in a subdirectory. $KIBANA_HOME\plugins

You now have a basic Kibana instance set up. Consider the following next steps: