---
title: "ELK Stack on Windows : The Complete Installation Guide"
description: "Learn to set up ELK Stack on Windows in this step-by-step tutorial to elevate insights seamlessly—unleash powerful log management today!"
canonical: "https://adamtheautomator.com/elk-stack-on-windows/"
---

# ELK Stack on Windows : The Complete Installation Guide

> Learn to set up ELK Stack on Windows in this step-by-step tutorial to elevate insights seamlessly—unleash powerful log management today!

Source: https://adamtheautomator.com/elk-stack-on-windows/

---

ATA Learning

Tap to hide

[

ATA Learning

](/)

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Search for:  

*   [](https://twitter.com/adbertram)
*   [](https://github.com/Adam-the-Automator)
*   [](https://www.linkedin.com/company/adam-the-automator-llc)
*   [](/feed/)

![ELK Stack on Windows : The Complete Installation Guide](https://adamtheautomator.com/wp-content/uploads/2023/12/elk-stack-on-windows.jpg)

# ELK Stack on Windows : The Complete Installation Guide

[![](https://secure.gravatar.com/avatar/d05ab46ae71ee2393867f96cfec69e3a779ade5f81d9a519fc4d4fab1b177298?s=192&d=mm&r=g)Goodness Chris-Ugari](https://adamtheautomator.com/author/goodness-chris-ugari/)4 December 20238 min. read

Categories: [IT Ops](/category/it-ops/)

Tags:[ElasticSearch](/tag/elasticsearch/)

Table of Contents

*   [Prerequisites](#prerequisites)
*   [Downloading and Installing Elasticsearch for Your ELK Stack on Windows](#downloading-and-installing-elasticsearch-for-your-elk-stack-on-windows)
*   [Setting up Logstash: A Powerhouse for Data Orchestration](#setting-up-logstash-a-powerhouse-for-data-orchestration)
*   [Installing Kibana for Dynamic Dashboards](#installing-kibana-for-dynamic-dashboards)
*   [Visualizing Data in Kibana](#visualizing-data-in-kibana)
*   [Conclusion](#conclusion)

Feeling overwhelmed by an ocean of data and wishing for a superhero to make sense of it all? Well, meet your data savior – the ELK Stack on Windows. Whether you’re a seasoned developer or just a curious explorer, you can transform raw data into insights at your fingertips.

Upon completing this tutorial, your machine will host a fully operational ELK stack, primed to manage and analyze data effectively.

Bid farewell to data chaos; it’s time to embrace the order that ELK stack has to offer!

## Prerequisites

This tutorial will be a hands-on demonstration. If you’d like to follow along, be sure you have the following:

*   A Windows machine – This tutorial uses Windows 10 for demonstrations.
*   [Java JDK](https://www.oracle.com/java/technologies/downloads/) (Optional, as the ELK stack on Windows comes with a bundled JDK).

Related:[Learn How to Install Java on Raspberry Pi](https://adamtheautomator.com/java-on-raspberry-pi/)

## Downloading and Installing Elasticsearch for Your ELK Stack on Windows

Coming off the prerequisites, delve into the crucial phase of laying the foundation for seamless log management — installing [Elasticsearch](https://adamtheautomator.com/install-elasticsearch-on-ubuntu/). Imagine Elasticsearch as the architect’s blueprint for your ELK Stack on Windows.

Related:[Install Elasticsearch on Ubuntu for Next Level Searching](https://adamtheautomator.com/install-elasticsearch-on-ubuntu/)

The Elasticsearch engine empowers your ELK Stack to effortlessly crunch and visualize data like a pro.

To download and install Elasticsearch, follow these steps:

1\. Open your preferred web browser and visit the [official Elasticsearch download page](https://www.elastic.co/downloads/elasticsearch).

2\. Next, select **Windows** from the dropdown list as your platform and click the **Windows** button to download the Elasticsearch ZIP package.

![elk stack on windows - Downloading the Elasticsearch installer package](https://adamtheautomator.com/wp-content/uploads/2023/12/image-4.png)

Downloading the Elasticsearch installer package

3\. Once downloaded, extract the Elasticsearch ZIP file to your preferred location.

Related:[Introducing PowerShell Unzip and Zip Commands on Archives](https://adamtheautomator.com/powershell-unzip/)

4\. Next, open the [command prompt as administrator](https://www.howtogeek.com/194041/how-to-open-the-command-prompt-as-administrator-in-windows-10/), navigate to the Elasticsearch `bin` directory, and run the `elasticsearch.bat` file to start Elasticsearch.

```bash
elasticsearch.bat
```

![Starting Elasticsearch](https://adamtheautomator.com/wp-content/uploads/2023/12/image-3.png)

Starting Elasticsearch

Related:[PowerShell Change Directory: Navigating Your File System](https://adamtheautomator.com/powershell-change-directory/)

5\. Look for the following, as shown below, somewhere in the middle of the output, and save them for later use.

Below, one is a generated password and another is an enrollment token (valid for 30 minutes) for the Elastic user for Kibana.

💡 _Note that the password and token are generated only on the initial run of Elasticsearch and will not be displayed for subsequent runs. If you lose either before you have a chance to use it, follow the Elasticsearch documentation for [password reset](https://www.elastic.co/guide/en/elasticsearch/reference/current/reset-password.html) or [creating enrollment tokens](https://www.elastic.co/guide/en/elasticsearch/reference/current/create-enrollment-token.html)._

![Copying the generated password and enrollment token](https://adamtheautomator.com/wp-content/uploads/2023/12/image-2.png)

Copying the generated password and enrollment token

6\. Now, open a new browser tab and navigate to https://localhost:9200 to confirm your Elasticsearch is running, where you’ll be prompted to sign in (step seven).

7\. Input **elastic** as the username, the unique password you noted in step five, and click **Sign in**.

![Signing in to Elasticsearch ](https://adamtheautomator.com/wp-content/uploads/2023/12/image-1.png)

Signing in to Elasticsearch

If successful, you’ll see the Elasticsearch cluster information in a JSON response, as shown below.

Related:[PowerShell and JSON: A Comprehensive Guide](https://adamtheautomator.com/powershell-json/)

![](https://adamtheautomator.com/wp-content/uploads/2023/12/image.png)

Viewing the Elasticsearch cluster details

## Setting up Logstash: A Powerhouse for Data Orchestration

As you ride the ELK Stack wave, having Elasticsearch in play, the spotlight now turns to orchestrating the smooth flow of information in your ELK Stack — Logstash. Logstash transforms your system into a data-processing powerhouse.

To download and install Logstash, carry out the following:

1\. Visit the official Logstash [download page](https://www.elastic.co/downloads/logstash), select **Windows** as your platform in the dropdown field, and click **Windows** to download the Logstash ZIP package.

![Downloading Logstash](https://adamtheautomator.com/wp-content/uploads/2023/12/image-6.png)

Downloading Logstash

2\. Next, extract the downloaded ZIP file to your preferred location.

3\. Once extracted, create a configuration file for Logstash called _**logstash.conf**_ in your Logstash _**config**_ directory or any preferred location.

![Creating a Logstash configuration file](https://adamtheautomator.com/wp-content/uploads/2023/12/image-5.png)

Creating a Logstash configuration file

4\. Now, add the following configuration to your _logstash.conf_ file, save the changes, and close the file.

This configuration defines the input and output settings (you can also define filter settings) based on your data processing needs — ingesting sample data.

```
# Input configuration: Reads input from the standard input (stdin)
input {
  stdin {}
}

# Output configuration: Sends data to Elasticsearch
output {
  elasticsearch {
    # Elasticsearch server address
    hosts => ["<https://localhost:9200>"]
    
    # Index name with dynamic date format
    index => "demo-log-%{+YYYY.MM.dd}"
    
    # Elasticsearch user credentials
    user => "elastic"
    password => "your_elastic_password"
    
    # Disabling SSL certificate verification (for demo purposes)
    ssl_certificate_verification => false
  }

  # Output to stdout for debugging (Ruby debug format)
  stdout {
    codec => rubydebug
  }
}
```

5\. Next, execute the following commands to navigate to the Logstash `bin` directory and start Logstash. Ensure you replace the following:

*   `logstash-bin` – The path to the Logstash `bin` directory (i.e., _\\logstash-8.11.1\\bin_).
*   `config-file` – The path of your Logstash configuration file.

```bash
cd logstash-bin
logstash.bat -f config-file
```

![Starting Logstash](https://adamtheautomator.com/wp-content/uploads/2023/12/image-9.png)

Starting Logstash

6\. When prompted, copy and paste the entire sample data below (or any other you’d like to use) to the command prompt.

```bash
2023-11-21 10:00:00 INFO - User 'john.doe' logged out
2023-11-21 10:15:00 ERROR - Connection failed: Server not responding
2023-11-21 10:30:00 INFO - Request received from IP: 192.168.1.1
2023-11-21 10:45:00 WARNING - Disk space low on /dev/sda
2023-11-21 11:00:00 ERROR - Database connection timeout
2023-11-21 11:15:00 INFO - File uploaded successfully: file.pdf
2023-11-20 11:30:00 DEBUG - Processing background task
2023-11-20 12:45:00 WARNING - High CPU usage detected
2023-11-20 13:00:00 ERROR - Application crash detected
2023-11-20 15:15:00 INFO - User 'jane.doe' accessed dashboard
```

![](https://adamtheautomator.com/wp-content/uploads/2023/12/image-8-1024x522.png)

Feeding data into the prompt

Once the data has been processed by Logstash, you’ll see output in JSON Lines (JSONL) format, like in the image below.

JSONL is a format where each line of the file is a JSON object, allowing for quick parsing and readability. Logstash commonly uses JSONL as an intermediate format for transporting and storing log events.

![Viewing processed data](https://adamtheautomator.com/wp-content/uploads/2023/12/image-7.png)

Viewing processed data

## Installing Kibana for Dynamic Dashboards

With Elasticsearch running, you’ll need a dynamic dashboard powerhouse — Kibana. Picture Kibana as the storyteller, turning raw data into compelling narratives. Kibana lets you uncover insights and patterns in your data effortlessly.

To install Kibana on Windows, complete the steps below:

1\. Navigate to the official Kibana [download page](https://www.elastic.co/downloads/kibana) in your web browser.

2\. Next, choose the Windows version and click the Windows button to download the Kibana ZIP package.

![Downloading the Kibana installer package](https://adamtheautomator.com/wp-content/uploads/2023/12/image-16.png)

Downloading the Kibana installer package

3\. After downloading, extract the ZIP file to your preferred location.

4\. Now, open a new command prompt, and execute these commands to change the directory to the Kibana `bin` folder, and start the Kibana service (`kibana.bat`).

Ensure you replace `kibana-bin` with the exact path to the bin folder within the Kibana ZIP package you extracted (i.e., _**\\kibana-8.11.1\\bin**_).

```bash
cd kibana-bin
kibana.bat
```

![](https://adamtheautomator.com/wp-content/uploads/2023/12/image-15-1024x520.png)

Starting the Kibana service

5\. Once Kibana has started, copy the link below the message saying **Kibana has not been configured**.

![Verifying Kibana has not been configured.](https://adamtheautomator.com/wp-content/uploads/2023/12/image-14.png)

Verifying Kibana has not been configured.

6\. Visit the link you noted in step five, then enter the enrollment token you noted in step five of the “Downloading and Installing Elasticsearch” section, and click **Configure Elastic**. Doing so establishes a connection between Kibana and Elasticsearch, enabling seamless communication.

This step is pivotal for integrating these components, allowing Kibana to leverage the power of Elasticsearch for dynamic dashboard creation and insightful data visualization.

![Providing the Kibana enrollment token ](https://adamtheautomator.com/wp-content/uploads/2023/12/image-13.png)

Providing the Kibana enrollment token

If the token is correct and still valid, you’ll see an indication that Kibana is being set up, like in the screenshot below. Once the setup completes, your browser redirects to the Elastic login page (step seven)

![Confirming Kibana is being set up](https://adamtheautomator.com/wp-content/uploads/2023/12/image-12.png)

Confirming Kibana is being set up

7\. Input **elastic** as the username, then your unique Elastic password, and click **Log in**.

![Logging in to Elastic](https://adamtheautomator.com/wp-content/uploads/2023/12/image-11.png)

Logging in to Elastic

8\. Once logged in, click **Explore on my own** to access the Kibana web interface.

![Verifying successful Kibana log-in](https://adamtheautomator.com/wp-content/uploads/2023/12/image-10.png)

Verifying successful Kibana log-in

## Visualizing Data in Kibana

Now that you’ve successfully brought the ELK Stack on Windows playground to life, it’s time to harness Kibana’s visual prowess. You’ll create a dynamic dashboard that unveils insights and patterns within your data.

To visualize data in Kibana, proceed with the following:

1\. On the Kibana home page, click the menu icon (top-left), and choose **Stack Management** under the **Management** section (side menu).

Your browser redirects to the **Stack Management** page, where you gain centralized control over various aspects of your Elastic stack deployment (step two).

![Accessing the Stack Management page](https://adamtheautomator.com/wp-content/uploads/2023/12/image-27.png)

Accessing the Stack Management page

2\. Next, click **Data Views** under the **Kibana** section to access the Data Views page (step three).

The Data Views page allows you to define how your data is structured, set up custom configurations, and optimize the way Kibana visualizes and analyzes your data.

![Accessing the Data Views page](https://adamtheautomator.com/wp-content/uploads/2023/12/image-26.png)

Accessing the Data Views page

3\. On the **Data Views** page, click **Create data view** to initiate the process of creating a new data view or index pattern. An index pattern is a way to tell Kibana which Elasticsearch indices you want to explore and analyze.

Note that the **Create data view** button only appears when Kibana knows you have data in Elasticsearch. In this case, the data is what you provided when you started Logstash.

![Initiating the process of creating a new data view](https://adamtheautomator.com/wp-content/uploads/2023/12/image-25.png)

Initiating the process of creating a new data view

4\. Now, input a **Name** and an **Index pattern** (which should match the index pattern defined in the configuration file) for the data view, and click **Save data view to Kibana** to save the data view.

All sources matching the index pattern you inputted will be displayed in the right-hand corner of the form. In this case, the index pattern matches just one source, so that is selected. Once created, your browser redirects to the page of your newly-created data view (step five).

![Creating a data view](https://adamtheautomator.com/wp-content/uploads/2023/12/image-24.png)

Creating a data view

5\. On your data view, expand the side menu and navigate to **Visualize Library** under the **Analytics** section.

Your browser redirects to the Visualize Library page, where you can create, explore, and manage visualizations based on your data (step six).

![Accessing the Visualize Library](https://adamtheautomator.com/wp-content/uploads/2023/12/image-23.png)

Accessing the Visualize Library

6\. Next, click **Create new visualization** to initiate creating a new visualization of your data.

![Initiating creating a new visualization](https://adamtheautomator.com/wp-content/uploads/2023/12/image-22.png)

Initiating creating a new visualization

7\. On the pop-up window, select any of the following for how you want to create the visualization:

*   **Lens** – Choose this visual editor in Kibana if you want a super-friendly and quick way to whip up charts and visuals.
*   **Maps** – If your data has a geographic side, Maps is your map-loving buddy. Think of it as a virtual globe-trotter helping you plot points or create cool maps that reveal the story behind your locations.
*   **Time Series Visual Builder (TSVB)** – TSVB is like having a time-traveling companion for your data. Perfect for diving into time-based trends with style and control.
*   **Custom visualization** – Choose this option to unleash your creativity. Custom visualization is a DIY approach, giving you the artistic freedom to mold your visuals exactly the way you want.

But for simplicity’s sake, in this tutorial, choose the **Lens** visual editor.

![Selecting a visual editor](https://adamtheautomator.com/wp-content/uploads/2023/12/image-21.png)

Selecting a visual editor

9\. On the Lens visual editor, hover over any of the available fields to display, and click the plus sign (**+**) to add that field to your workspace.

![Adding a field to the workspace](https://adamtheautomator.com/wp-content/uploads/2023/12/image-20.png)

Adding a field to the workspace

Once added, click **Save** (top-right) to save the visualization where you see the field(s) added are shown based on your selected chart type.

![Saving the new data visualization](https://adamtheautomator.com/wp-content/uploads/2023/12/image-19.png)

Saving the new data visualization

10\. Finally, add a **Title** for the visualization, indicate if you’d like to add it to a dashboard, and click **Save and go to Dashboard** to finalize creating your visualization dashboard.

![Finalizing creating the visualization dashboard](https://adamtheautomator.com/wp-content/uploads/2023/12/image-18.png)

Finalizing creating the visualization dashboard

Once saved, a dashboard with your visualization appears, as shown below, which confirms your data visualization undoubtedly works.

![Visualization in a new dashboard](https://adamtheautomator.com/wp-content/uploads/2023/12/image-17.png)

Visualization in a new dashboard

## Conclusion

Throughout this tutorial, you’ve successfully set up the powerhouse trio: Elasticsearch, Logstash, and Kibana, known as ELK stack on Windows. You started from laying the foundation to orchestrating data flow to visualizing insights.

The foundation is set at this point, and your Windows environment is now an analytics powerhouse, ready to munch on data.

Now, as you bask in the glow of your newly set up ELK Stack on Windows, the adventure doesn’t end here. Why not try integrating [Beats](https://www.elastic.co/beats) for seamless data shipping? Or see other ways to [add data](https://www.elastic.co/guide/en/kibana/current/connect-to-elasticsearch.html) to your ELK stack?

The ELK Stack is a versatile toolkit, and you’re just scratching the surface. Keep tinkering, keep exploring—your data journey has only just begun!

Share this article

[Share on X](https://twitter.com/intent/tweet?url=https%3A%2F%2Fadamtheautomator.com%2Felk-stack-on-windows%2F&text=ELK%20Stack%20on%20Windows%20%3A%20The%20Complete%20Installation%20Guide)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fadamtheautomator.com%2Felk-stack-on-windows%2F)[Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fadamtheautomator.com%2Felk-stack-on-windows%2F)

## Related Posts

![](https://adamtheautomator.com/wp-content/uploads/2026/07/featured_image-4.png)

### [Migrate from EWS to Microsoft Graph API](/migrate-ews-microsoft-graph-api/)

Move EWS mailbox automation to Microsoft Graph with a practical inventory, permissions, PowerShell SDK, and cutover validation checklist.

![](https://adamtheautomator.com/wp-content/uploads/2026/06/featured_image-21.png)

### [Automate SOC 2 Compliance with PowerShell](/automate-soc-2-compliance-powershell/)

A comprehensive walkthrough on using PowerShell and Azure Policy as Code to automate evidence collection and enforce SOC 2 compliance controls across enterprise cloud environments.

![](https://adamtheautomator.com/wp-content/uploads/2026/06/26995-troubleshoot-dns-issues-powershell-codex.webp)

### [Troubleshoot DNS Issues with PowerShell](/troubleshoot-dns-issues-powershell/)

Troubleshoot DNS issues with PowerShell by testing name resolution, DNS client settings, cache entries, and network connectivity in a repeatable workflow.

## Categories

*   [IT Ops](/category/it-ops/)
*   [Cloud](/category/cloud/)
*   [DevOps](/category/devops/)
*   [Home Ops](/category/home-ops/)
*   [Information Security](/category/infosec/)
*   [Software Development](/category/software-development/)

## Site

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Copyright 2026© ATA Learning | [Privacy Policy](/privacy/)
