npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

node-red-contrib-logstash

v0.0.3

Published

A set of Node-RED nodes for Logstash

Downloads

35

Readme

Node-RED Logstash nodes

This project aims at providing a set of Node-RED nodes for modeling and executing any Logstash pipelines.

Context

The Node-RED project provides a nice browser-based visual editor for wiring the Internet of Things.

This project makes the assumption that if you can wire IoT devices, you can wire anything. So, the initial idea is to use the excellent environment offered by the Node-RED platform in order to visually model Logstash pipelines as Node-RED flows. This project thus aims at providing all Logstash components (i.e. inputs, outputs and filters) in the form of additional Node-RED nodes that anyone can then easily assemble into her own Logstash pipeline instead of having to write the configuration file manually.

Using these new nodes and existing ones, one will not only be empowered to model her Logstash pipelines in a neat visual environment, but such pipelines can also be executed inside the Node-RED runtime.

Visual modeling and real-time execution of Logstash pipelines are nice, but there's more. Once the pipeline executes according to your expectations, you can generate and export the corresponding Logstash configuration file in order to use it on the Logstash command-line.

Another neat feature that this project is going to support is the ability to parse any existing Logstash configuration and automatically create the corresponding Node-RED flow, which can then be further re-arranged, improved, modified and re-exported. Yes, round-trip Logstash engineering!

Finally, since the Node-RED ecosystem also allows contributors to share their flows in the open Node-RED library for others to reuse, this basically opens the door to sharing your Logstash pipelines with others.

To sum up, this project can be seen as some sort of missing Visual IDE for Logstash, which allows you to:

  • visually model a full-blown Logstash pipeline by dragging and dropping input/filter/output nodes and wiring them together as Node-RED flows
  • generate the equivalent Logstash configuration you'd have written by hand otherwise
  • share Logstash pipelines (aka Node-RED flows) with the community and your peers
  • execute the Logstash pipeline in real-time inside the Node-RED runtime (in progress)
  • reverse-engineer existing Logstash pipelines into Node-RED flows (in progress)

Installation

  1. First, follow the steps to install the Node-RED environment. By default, Node-RED gets installed into your home directory in .node-red.

  2. > cd ~/.node-red

  3. Install this package via npm: > npm install node-red-contrib-logstash

  4. Fire up Node-RED: > node-red

  5. Open your browser at http://localhost:1880

How to use

1. Drag & drop

Once Node-RED is started, you'll find all the Logstash nodes in the left sidebar, called the palette.

Logstash nodes

You can drag and drop them into the workspace and visually compose your pipeline (aka Node-RED flow).

Logstash pipeline

2. Configure node settings

The official settings for the file input plugin are shown on the figure below (taken from the official documentation):

Logstash file input plugin

Once you add a node into the workspace, you can configure its settings by double clicking on the node in order to open a configuration dialog, such as the one shown below for the file input node.

As you can see, all the settings for the file input node can be input into text fields or selected from dropdown lists which are automatically populated by the supported values defined in the respective Logstash plugin. Similarly, placeholder values show the default settings as configured in the respective Logstash plugin.

Logstash settings

3. Generate Logstash configuration

The very simple pipeline wired in step 1 above basically corresponds to the following Logstash configuration, which has been automatically generated from the above pipeline/flow:

input {
  # Tail test.log
  file {
    codec => "json"
    path => "/home/me/test.log"
    type => "test"
    add_field => { "[@metadata][test]" => "Hello1" }
  }
  # Tail test2.log
  file {
    codec => "json"
    path => "/home/me/test2.log"
    type => "test2"
    add_field => { "[@metadata][test]" => "Hello2" }
  }
}
filter {
  if [type] == "test" {
    # Lowercase first name
    mutate {
      lowercase => "first_name"
    }
  }
  if [type] == "test2" {
    # Lowercase last name
    mutate {
      lowercase => "last_name"
    }
  }
}
output {
  # Out
  stdout {
    codec => "rubydebug"
  }
}

And now the limit is the sky!

Future

The ultimate objective of this project is to migrate this visual Logstash editor environment as a Kibana plugin.