How to Install Logstash

How to Install Logstash: A Comprehensive Tutorial Introduction Logstash is a powerful open-source data processing pipeline that ingests data from multiple sources simultaneously, transforms it, and then sends it to your preferred “stash,” such as Elasticsearch. It plays a vital role in the ELK Stack (Elasticsearch, Logstash, Kibana), which is widely used for log management, analytics, and monitori

Nov 17, 2025 - 11:07
Nov 17, 2025 - 11:07
 3

How to Install Logstash: A Comprehensive Tutorial

Introduction

Logstash is a powerful open-source data processing pipeline that ingests data from multiple sources simultaneously, transforms it, and then sends it to your preferred stash, such as Elasticsearch. It plays a vital role in the ELK Stack (Elasticsearch, Logstash, Kibana), which is widely used for log management, analytics, and monitoring solutions.

Installing Logstash correctly is the foundational step in setting up an efficient centralized logging system. This tutorial will guide you through the entire process of installing Logstash on various platforms, ensuring you have a solid base to build your data processing workflows.

Whether you are a developer, system administrator, or data engineer, mastering Logstash installation is essential for handling large-scale log data and gaining actionable insights.

Step-by-Step Guide

1. System Requirements and Prerequisites

Before installing Logstash, ensure your system meets the following prerequisites:

  • Java Runtime Environment (JRE): Logstash requires Java 11 or higher. Oracle JDK or OpenJDK are both supported.
  • Operating System: Logstash supports Linux distributions (Ubuntu, CentOS, Debian), Windows, and macOS.
  • Hardware: Minimum of 4GB RAM is recommended for production environments.
  • Network: Ensure internet access to download packages and dependencies.

2. Installing Java

Logstash depends on Java, so this is a critical first step.

On Ubuntu/Debian

Run the following commands to install OpenJDK 11:

sudo apt update

sudo apt install openjdk-11-jdk -y

Verify installation:

java -version

On CentOS/RHEL

Use the following commands:

sudo yum install java-11-openjdk-devel -y

Check Java version:

java -version

On Windows

Download and install the latest OpenJDK 11 package from the official website. Ensure to add Java to your systems PATH environment variable.

3. Downloading and Installing Logstash

Option 1: Using Package Manager on Linux

Ubuntu/Debian

Add the Elastic package repository and install Logstash:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

sudo apt install apt-transport-https

echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list

sudo apt update

sudo apt install logstash

CentOS/RHEL

Add the Elastic repository and install Logstash:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Create repository file /etc/yum.repos.d/elastic.repo with the following content:

[elastic-8.x]

name=Elastic repository for 8.x packages

baseurl=https://artifacts.elastic.co/packages/8.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

Then install Logstash:

sudo yum install logstash

Option 2: Manual Installation

For manual installation or on unsupported systems, download the Logstash tarball:

Visit Elastic Logstash Downloads and download the latest version.

Extract the tarball:

tar -xzf logstash-8.x.x.tar.gz

Navigate into the extracted directory to run Logstash manually.

4. Configuring Logstash

Logstash uses configuration files to define input, filter, and output plugins.

Create a configuration file, for example /etc/logstash/conf.d/logstash.conf:

input {

beats {

port => 5044

}

}

filter {

grok {

match => { "message" => "%{COMBINEDAPACHELOG}" }

}

}

output {

elasticsearch {

hosts => ["localhost:9200"]

}

stdout { codec => rubydebug }

}

This configuration listens for logs from Beats on port 5044, parses Apache logs, and sends data to Elasticsearch.

5. Starting and Enabling Logstash Service

On Linux with systemd

Start Logstash:

sudo systemctl start logstash

Enable Logstash to start on boot:

sudo systemctl enable logstash

Check status:

sudo systemctl status logstash

On Windows

If installed as a service, start Logstash via the Services management console or command prompt:

net start logstash

6. Verifying Installation

Check Logstash logs for errors:

sudo journalctl -u logstash -f

Test the pipeline by sending sample data or starting Beats to forward logs.

Best Practices

1. Use Dedicated Configuration Files

Split complex Logstash pipelines into multiple configuration files under /etc/logstash/conf.d/. This improves maintainability and debugging.

2. Monitor Resource Usage

Logstash can be resource-intensive. Monitor CPU and memory usage, especially in production, and adjust JVM heap size in /etc/logstash/jvm.options accordingly.

3. Secure Communication

Enable TLS encryption between Logstash and data sources like Beats or Elasticsearch to secure data in transit.

4. Backup Configurations

Regularly back up your Logstash configuration files and pipeline scripts to avoid data loss and simplify disaster recovery.

5. Keep Logstash Updated

Stay current with Logstash updates and patches to benefit from performance improvements, new features, and security fixes.

Tools and Resources

Official Documentation

Elastic Logstash Documentation - The most authoritative resource for installation, configuration, and advanced usage.

Community Forums and GitHub

Engage with the Elastic community on forums and explore open-source pipeline examples on GitHub repositories.

Monitoring Tools

  • X-Pack Monitoring: Elastics monitoring feature for Logstash pipelines.
  • Metricbeat: A lightweight shipper to track Logstash performance metrics.

Configuration Testing Tools

Use the Logstash --config.test_and_exit flag to validate pipeline configurations before deploying.

Real Examples

Example 1: Installing Logstash on Ubuntu 22.04

Step-by-step commands:

sudo apt update

sudo apt install openjdk-11-jdk -y

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

sudo apt install apt-transport-https -y

echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

sudo apt update

sudo apt install logstash -y

sudo systemctl start logstash

sudo systemctl enable logstash

Example 2: Basic Logstash Pipeline for Apache Logs

Configuration file /etc/logstash/conf.d/apache.conf:

input {

file {

path => "/var/log/apache2/access.log"

start_position => "beginning"

}

}

filter {

grok {

match => { "message" => "%{COMBINEDAPACHELOG}" }

}

date {

match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]

}

}

output {

stdout { codec => rubydebug }

elasticsearch {

hosts => ["localhost:9200"]

index => "apache-logs-%{+YYYY.MM.dd}"

}

}

FAQs

Q1: What versions of Java are compatible with Logstash?

Logstash requires Java 11 or higher. Both OpenJDK and Oracle JDK are supported.

Q2: Can I run Logstash on Windows?

Yes, Logstash supports Windows installations. You can run it as a service or manually via the command line.

Q3: How do I upgrade Logstash safely?

Backup your configuration files, stop the Logstash service, update the package or replace the binaries, then restart the service. Test the pipeline after upgrading.

Q4: How can I test my Logstash configuration?

Use the command logstash --config.test_and_exit -f /path/to/config to validate configurations without starting the pipeline.

Q5: Where are Logstash logs stored?

By default, logs are located in /var/log/logstash/ on Linux systems.

Conclusion

Installing Logstash is a critical step to harnessing the full power of the ELK Stack for centralized logging and data processing. This tutorial covered all essential aspects from system requirements and Java installation to configuring and running Logstash. Following best practices and leveraging the right tools will help maintain a robust and scalable logging infrastructure.

With Logstash correctly installed and configured, you can now build complex pipelines to ingest, transform, and analyze your data efficiently, enabling better visibility and decision-making across your IT environment.