We may earn an affiliate commission when you visit our partners.
Course image
Bo Andersen

Want to learn how to process events with Logstash? Then you have come to the right place; this course is by far the most comprehensive course on Logstash here at Udemy.  This course specifically covers Logstash, meaning than we can go into much more detail than if this course covered the entire Elastic Stack. So if you want to learn Logstash specifically, then this course is for you.

Read more

Want to learn how to process events with Logstash? Then you have come to the right place; this course is by far the most comprehensive course on Logstash here at Udemy.  This course specifically covers Logstash, meaning than we can go into much more detail than if this course covered the entire Elastic Stack. So if you want to learn Logstash specifically, then this course is for you.

This course assumes no prior knowledge of or experience with Logstash. We start from the very basics and gradually transition into more advanced topics. The course is designed so that you can follow along the whole time step by step, and you can find all of the configuration files within a GitHub repository. The course covers topics such as handling Apache web server logs (both access and error logs), data enrichment, sending data to Elasticsearch, visualizing data with Kibana, along with covering a number of popular use cases that you are likely to come across. Upon completing this course, you will know all of the most important aspects of Logstash, and will be able to build complex pipeline configurations and process many different kinds of events and data.

What is Logstash?In case you don't know what Logstash is all about, it is an event processing engine developed by the company behind Elasticsearch, Kibana, and more. Logstash is often used as a key part of the ELK stack or Elastic Stack, so it offers a strong synergy with these technologies. You can use Logstash for processing many different kinds of events, and an event can be many things. You can process access or error logs from a web server, or you can send events to Logstash from an e-commerce application, such as when an order was received or a payment was processed. You can ingest data from files (flat files), receive data over HTTP or TCP, retrieve data from databases, and more. Logstash then enables you to process and manipulate the events before sending them to a destination of your choice, such as Elasticsearch, OpenSearch, e-mail, or Slack.

Why do we need Logstash?Because by sending events to Logstash, you decouple things. You effectively move event processing out of the web application and into Logstash, representing the entire data pipeline, or perhaps just a part of it. This means that if you need to change how events are processed, you don’t need to deploy a new version of a web application, for instance. The event processing and its configuration is centralized within Logstash instead of every place you trigger events. This means that all the web application needs to do, is to send an event to Logstash; it doesn’t need to know anything about what happens to the event afterwards and where it ends up. This improves your architecture and lets Logstash do what it does best; process events.

Let's get started. I hope that you are ready to begin learning Logstash. Have a look around the curriculum if you want to check out the course content in more details. I look forward to seeing you inside the course.

Enroll now

What's inside

Learning objectives

  • Understand the fundamental concepts of logstash
  • Build pipelines that process and manipulates thousands of events
  • Send data to logstash from numerous sources and to several destinations
  • Build a fully functional pipeline that handles apache web server logs
  • Process filebeat events with logstash

Syllabus

Understand the purpose of Logstash and set it up on your own machine.

Get an overview of who the course is for and what is covered.

Before getting started, let's take a few minutes to introduce what Logstash is all about and why you would want to use it.

Read more

See how to install Logstash on Mac and Linux.

See how to install Logstash on Windows.

Learn the basics of Logstash, being how to process events, how to send them to outputs, and how to manipulate them.

See how to start up a pipeline and process the simplest possible event.

Now that you know how to process an event, see how to process events consisting of JSON.

Learn how to write processed events to files in this lecture.

Apart from reading events from the terminal, learn how to send events to Logstash through HTTP.

Learn the basics of filtering and manipulating events in this lecture.

See an overview of four filter options that are "common," meaning that they can be used within any filter plugin.

Before learning more features of Logstash, let's take a moment to look at its architecture and how it works under the hood.

A quick recap of what was covered in this section.

Learn how to process Apache web server logs, being both access and error logs, and learn lots of Logstash functionality along the way.

A quick introduction to what we will be covering throughout this section.

Learn how to automatically reload pipeline configuration files to save time, and also how to use the file input.

Learn how to parse access logs by using something called Grok patterns.

Let's finish the parsing requests with the Grok pattern that we started building in the previous lecture.

In this lecture, we will take a look at how to access field values within pipeline configurations.

Sometimes you may want to format dates, which you will see how to do by using the sprintf format.

When processing events back in time, it is very useful to set the time of the event to when the event happened instead of when Logstash processed it. Learn how to do just that in this lecture.

Learn what the syntax for conditional statements looks like in Logstash.

Now that you know the syntax of conditional statements, let's put that knowledge to use and actually write some conditional statements.

In this lecture, you will see an example of how to enrich events with additional data. More specifically, how to perform geographical lookups based on IP addresses.

Another type of data enrichment, is to parse the user agent string to get useful information such as operating system, device, etc. Learn how to do just that in this lecture.

Before processing lots of events and sending them to Elasticsearch, we have just a couple of things left to do. In particular, to filter out certain requests, being administrative pages, static files, and requests from crawlers/spiders.

Now that the pipeline is good to go, let's process some thousand events and send them to Elasticsearch, and then visualize them with Kibana.

Now that we are done handling access logs, let's turn our attention to handling error logs. This involves a key challenge, being to handle events that span multiple lines.

Now that you have seen how to handle multiline events, it's time to see an easier way of accomplishing the same thing.

The line of a stack trace has been grouped together into one event, so now it's time to extract information from the event.

There is a handy object named @metadata, which can be used for storing temporary data. In this lecture, you will see a handy trick for setting the event time without needing to remove any fields afterwards.

Learn how to improve pipeline configurations by running multiple pipelines within the same Logstash instance, and avoid unnecessary complexity within the pipeline configurations.

Learn how to install and configure Filebeat to collect log files, and process log entries within Logstash. See how to visualize Apache2 access and error logs within Kibana.

Get a brief overview of what Beats is, along with an overview of the most important beats. Also learn a few reasons for why using Beats is beneficial in combination with Logstash.

A quick introduction to what we will build throughout this section. Specifically, we will use Filebeat to read Apache access logs and error logs, as well as Java stack traces (multiline logs). We will process these logs with Logstash and send them to Elasticsearch. Lastly, we will use Kibana dashboards to visualize the logs.

See how to install Filebeat.

Since Filebeat sends logs to Elasticsearch by default, we need to configure Filebeat to send data to Logstash instead.

Before we get to the Logstash side of things, we need to enable the "apache" Filebeat module, as well as configure the paths for the log files.

Before starting up Filebeat, we need to prepare a Logstash pipeline to receive the data. For the time being, we will just implement a simple one that outputs data to the terminal (stdout), and then gradually make it more complicated later.

It's time to start up Filebeat! This lecture shows the command for starting up Filebeat, along with a useful debugging option. We then go through a couple of metadata fields that Filebeat adds to Logstash events.

Before adding the Kibana dashboard, we will add an index template to Elasticsearch. We will inspect how it works, what the Elastic Common Schema (ECS) is all about, and what the purpose of the fields.yml file is.

Learn how to add the Kibana dashboards for visualizing the Apache access logs (and later error logs). As you will see, there are two ways of doing this. We will cover both, and you will learn when to use each of the two methods.

Now that everything else has been set up, let's finish implementing the Logstash pipeline to process Apache access logs, as well as configure the Elasticsearch output plugin.

Let's have a look at how Filebeat works internally. This includes inputs, harvesters, the Filebeat registry, libbeat, and lastly at-least-once delivery.

In this lecture, we will inspect the Filebeat registry, and you will learn how to clear/reset it. Once the registry has been cleared, we will process events again, and finally visualize them within the Kibana dashboard that we previously added.

In this lecture, we will just process a large number of events, with the purpose of thoroughly testing our setup, as well as making the Kibana dashboard look more appealing.

Filebeat modules are nice, but let's see how we can configure an input manually. This is useful in situations where a Filebeat module cannot be used (or one doesn't exist for your use case), or if you just want full control of the configuration.

Should you use Filebeat modules or configure inputs manually? This lecture discusses the pros and cons of each of the approaches.

Learn how to add tags to Filebeat events, enabling you to use these tags within the configured output (e.g. to filter events within Logstash).

Expanding the Logstash pipeline to handle multiple event types, introduces a couple of challenges. In this lecture, we cover a couple of architectural approaches for solving these challenges.

It's time to process Apache error logs with Filebeat and Logstash (not to be confused with application logs). We will adjust our Logstash pipeline to handle the error logs, as well as visualize the error logs within the Apache dashboard that we previously added to Kibana.

Let's handle the Java stack traces (being multiline logs) that we handled earlier again, but this time with Filebeat. Multiline logs must be handled on the Filebeat side of things, so let's see how we can do that.

Having covered the most important multiline options available within Filebeat, let's take a look at a couple of other ones that may be useful to you, albeit less frequently used.

We already covered how to handle multiline logs with Filebeat, but there is a different approach; using a different combination of the multiline options. This approach is not as convenient for our use case, but it is still useful to know for other use cases. It also lets us discover a limitation of Filebeat that is useful to know.

Let's take a short moment to recap on what we covered throughout this section of the course.

Conclusion

A few concluding words.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops core Apache web server logging pipelines using Logstash to gather, process, and enrich Apache web server events for visualizing in Kibana
Teaches the fundamental operations of Apache web server and Apache Filebeat event processing using Logstash, which is practical and useful across a variety of industries
Provides hands-on practice processing both Apache web server access logs and error logs, ensuring students get practical experience with common logging scenarios
Assumes no prior knowledge of Logstash, making it beginner-friendly for learners new to Logstash or event processing
Covers a wide range of Logstash features, providing a comprehensive understanding of the tool for processing events
May require students to already have some familiarity with Apache web server logs and Kibana

Save this course

Save Data Processing with Logstash (and Filebeat) to your list so you can find it easily later:
Save

Reviews summary

Unorganized course

According to students, this course is unorganized. When explaining, it would be great if the correct way was explained first, and then the reasons why it is the best.
Explanations were unorganized.
"When explaining, it would be great if you explain the correct way first, and then note why is it the best."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Data Processing with Logstash (and Filebeat) with these activities:
Gather Logstash resources
Compile a collection of Logstash tutorials, documentation, and reference materials for future reference.
Show steps
  • Search for Logstash resources
  • Organize resources into categories
Review the basics of Logstash
Review key event processing concepts by reading the official Logstash documentation or watching tutorials online.
Browse courses on Logstash
Show steps
  • Read the Logstash documentation
  • Watch Logstash tutorials
Design Multiple Dashboards in Kibana
Create personalized visualizations of event data to enhance data analysis and monitoring.
Show steps
  • Identify key metrics and events to visualize
  • Design dashboards with informative charts and graphs
  • Configure drill-down capabilities for deeper data exploration
  • Share and collaborate on dashboards with team members
Five other activities
Expand to see all activities and additional details
Show all eight activities
Follow a Logstash tutorial
Complete a comprehensive Logstash tutorial to gain practical experience and reinforce key concepts.
Show steps
  • Find a Logstash tutorial
  • Follow the tutorial step-by-step
  • Experiment with different configurations
Join a Logstash study group
Collaborate with fellow students to discuss Logstash concepts, share experiences, and learn from each other.
Show steps
  • Find a Logstash study group
  • Participate in discussions
  • Share your knowledge and experiences
Build Logstash pipelines
Create and configure multiple Logstash pipelines to process different types of events, solidifying your understanding of pipeline architecture.
Show steps
  • Design a Logstash pipeline
  • Implement the pipeline in Logstash
  • Test the pipeline with sample data
Develop a Logstash dashboard
Create a dashboard to visualize Logstash output, providing a practical way to monitor and analyze processed events.
Show steps
  • Choose a visualization tool (e.g., Kibana, Grafana)
  • Design the dashboard layout
  • Create visualizations for key metrics
Contribute to the Logstash community
Engage with the Logstash community by reporting bugs or contributing to the project, deepening your understanding and giving back to the ecosystem.
Show steps
  • Find a Logstash bug or improvement opportunity
  • Submit a bug report or pull request
  • Review feedback from the community

Career center

Learners who complete Data Processing with Logstash (and Filebeat) will develop knowledge and skills that may be useful to these careers:
Data Analyst
Data Analysts help organizations understand the underlying trends and patterns in their data. By using Logstash, you will learn to process and analyze large datasets, extract meaningful insights, and present the findings in a clear and concise manner. These skills are essential for Data Analysts seeking to make informed decisions based on data-driven evidence.
Security Analyst
Security Analysts play a crucial role in protecting organizations from cyber threats. Logstash provides you with the knowledge to analyze security data, detect suspicious patterns, and respond to incidents in real-time. This course will help you develop the skills necessary to succeed in this rapidly growing field, where safeguarding sensitive data and maintaining system integrity are paramount.
Data Engineer
Data Engineers design and build data pipelines, ensuring that data is processed, transformed, and stored in a structured manner. Logstash will equip you with the expertise to handle large volumes of data, manage data quality, and create efficient data pipelines. By mastering these skills, you will be well-prepared to contribute to the success of data-driven organizations.
DevOps Engineer
DevOps Engineers bridge the gap between development and operations teams, facilitating seamless collaboration and efficient software delivery. Logstash will empower you to automate data pipelines, monitor system performance, and troubleshoot issues across the DevOps lifecycle. This course will provide you with the foundation to excel in this role, where collaboration and a deep understanding of data are key.
Log Analyst
Log Analysts specialize in analyzing log data to identify patterns, trends, and anomalies. Logstash will provide you with the tools to parse, filter, and analyze large volumes of log data, enabling you to extract valuable insights for system troubleshooting, security monitoring, and performance optimization.
Machine Learning Engineer
Machine Learning Engineers build and deploy machine learning models to solve complex business problems. Logstash can help you preprocess data, extract features, and prepare datasets for machine learning algorithms. By gaining expertise in Logstash, you will enhance your ability to build and maintain robust machine learning systems.
Data Scientist
Logstash may be useful for Data Scientists, as it provides a powerful platform for data preprocessing. However, it is important to note that Logstash is not a complete data science toolkit and may require additional tools for advanced analytics and model building.
Software Engineer
Logstash may be useful for Software Engineers seeking to gain a better understanding of data processing and analysis. However, it is primarily focused on log data and may not be as relevant for software development tasks.
Cloud Engineer
Logstash may be useful for Cloud Engineers interested in managing and analyzing log data in cloud environments. However, it is important to note that Logstash is not a cloud-specific tool and may require additional expertise for cloud computing.
Business Analyst
Logstash may be useful for Business Analysts seeking to gain insights from log data. However, it is primarily a data processing tool and may not provide the comprehensive business analysis capabilities needed for this role.
Data Architect
Logstash may be useful for Data Architects interested in designing and implementing data pipelines. However, it is primarily focused on log data and may not provide the broader data management perspective required for this role.
Database Administrator
Logstash may be useful for Database Administrators seeking to analyze and manage log data related to database operations. However, it is primarily a data processing tool and may not provide the comprehensive database management capabilities needed for this role.
IT Manager
Logstash may be useful for IT Managers seeking to understand and manage log data across the organization. However, it is primarily a data processing tool and may not provide the broader IT management perspective needed for this role.
Product Manager
Logstash may be useful for Product Managers seeking to gather insights from log data related to product usage. However, it is primarily a data processing tool and may not provide the comprehensive product management capabilities needed for this role.
Project Manager
Logstash may be useful for Project Managers seeking to track and analyze project-related log data. However, it is primarily a data processing tool and may not provide the comprehensive project management capabilities needed for this role.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Data Processing with Logstash (and Filebeat).
Provides a comprehensive overview of Elasticsearch, covering everything from the basics of indexing and searching to advanced topics such as scaling and security. It valuable resource for anyone who wants to learn more about Elasticsearch and how to use it effectively.
Provides a comprehensive overview of Kibana, covering everything from the basics of creating dashboards and visualizations to advanced topics such as developing custom plugins. It valuable resource for anyone who wants to learn more about Kibana and how to use it effectively.
Practical guide to using Logstash, covering everything from installation and configuration to advanced topics such as data enrichment and security. It valuable resource for anyone who wants to learn more about Logstash or use it to its full potential.
Covers data visualization techniques using Python, which can be used to create visualizations of data collected by Logstash.
Covers natural language processing techniques using Python, which can be useful for analyzing text data collected by Logstash.
Provides a practical guide to data warehousing, which common use case for Logstash.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Data Processing with Logstash (and Filebeat).
Detecting Anomalies and Events with Winlogbeat
Most relevant
Complete Guide to Elasticsearch
Most relevant
HDInsight Deep Dive: Storm, HBase, and Hive
Most relevant
Processing and Visualizing Logs With Elastic Stack
Most relevant
Data Visualization with Kibana
Most relevant
Elasticsearch 8 and the Elastic Stack: In Depth and Hands...
Most relevant
Installing the Elastic Stack
Complex Event Processing Using Apache Flink
Event Handling in jQuery
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser