Install Kibana on Windows
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.2.0 from https://artifacts.elastic.co/downloads/kibana/kibana-9.2.0-windows-x86_64.zip
Unzip it with your favorite unzip tool. This will create a folder with the following name:
kibana-9.2.0-windows-x86_64
We will refer to this folder as $KIBANA_HOME.
In a terminal window, CD to the $KIBANA_HOME directory, for instance:
CD c:\kibana-9.2.0-windows-x86_64
Download the .zip archive for the Kibana version that you want from the Past Releases page.
If you're unsure about which version to install, refer to Elasticsearch version for more information about version compatibility.
Unzip it with your favorite unzip tool. This will create a folder called kibana-<SPECIFIC.VERSION.NUMBER>-windows-x86_64, where <SPECIFIC.VERSION.NUMBER> is the version you downloaded. We will refer to this folder as $KIBANA_HOME.
In a terminal window, CD to the $KIBANA_HOME directory, for instance:
CD c:\kibana-<SPECIFIC.VERSION.NUMBER>}-windows-x86_64
Replace <SPECIFIC.VERSION.NUMBER> with the Kibana version number you installed.
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
elasticsuperuser - 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.
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:
Open
kibana.ymlin a text editor.Uncomment the line
#server.host: localhostand replace the default address with0.0.0.0. The0.0.0.0setting 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.0Save 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.
- In your terminal, click the generated link to open Kibana in your browser.
- 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.
- Log in to Kibana as the
elasticuser with the password that was generated when you started Elasticsearch.
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.
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:
- Learn how to configure Kibana.
- Learn how to access Kibana.
- Explore key configuration topics to learn how to secure and manage Kibana.