News and blog
NXLog main page
  • Products
    NXLog Platform
    Log collection
    Log management and analytics
    Log storage
    NXLog Community Edition
    Integrations
    Professional Services
  • Solutions
    Use cases
    Specific OS support
    SCADA/ICS
    Windows event log
    DNS logging
    MacOS logging
    Open Telemetry
    Solutions by industry
    Financial Services
    Government & Education
    Entertainment & Gambling
    Telecommunications
    Medical & Healthcare
    Military & Defense
    Law Firms & Legal Counsel
    Industrial & Manufacturing
  • Pricing
    Licensing
    Plans
  • Partners
    Find a Reseller
    Partner Program
    Partner Portal
  • Resources
    Documentation
    Blog
    White papers
    Videos
    Webinars
    Case Studies
    Community Program
    Community Forum
  • About
    Company
    Careers
  • Support
    Support portals
    Contact us

NXLog Platform
Log collection
Log management and analytics
Log storage
NXLog Community Edition
Integrations
Professional Services

Use Cases
Specific OS support
SCADA/ICS
Windows event log
DNS logging
MacOS logging
Open Telemetry
Solutions by industry
Financial Services
Government & Education
Entertainment & Gambling
Telecommunications
Medical & Healthcare
Military & Defense
Law Firms & Legal Counsel
Industrial & Manufacturing

Licensing
Plans

Find a Reseller
Partner Program
Partner Portal

Documentation
Blog
White papers
Videos
Webinars
Case Studies
Community Program
Community Forum

Company
Careers

Support portals
Contact us
Let's Talk
  • Start free
  • Interactive demo
Let's Talk
  • Start free
  • Interactive demo
NXLog search
  • Loading...
Let's Talk
  • Start free
  • Interactive demo
June 1, 2026 comparison

Fluent Bit vs Logstash: which pipeline fits your stack?

By João Correia

Share
ALL ANNOUNCEMENT COMPARISON COMPLIANCE DEPLOYMENT SECURITY SIEM STRATEGY RSS

Fluent Bit wins on footprint. Logstash wins on parsing depth. The choice isn’t which tool is "better" — it’s where in your pipeline each one earns its keep, and what your detection tier silently misses when you put one in the wrong tier.

Pick wrong and the cost shows up in three places: detection latency when batches stall, audit evidence when collectors stop shipping, and MTTR when responders can’t tell whether a quiet endpoint is an attack indicator or a broken agent. This comparison covers what actually changes between the two tools at the level a SecOps engineer cares about: resource budgets, parsing flexibility, reliability guarantees, and the operational shape of running them in production.

At a glance

Dimension Fluent Bit Logstash

Runtime

C, native binary

JVM (default heap 1 GB; tunable via LS_JAVA_OPTS)

Baseline memory

Single-digit MB per agent (per official docs)

~1 GB JVM heap default before tuning

Config format

YAML or classic INI

Pipeline DSL (Ruby-flavored)

Custom logic

Lua scripts, WASM filters

Ruby filter plugin, plus DSL primitives

Parsing flexibility

Built-in parsers for JSON, syslog, regex, ltsv

Grok, dissect, mutate, kv, plus 50+ filter plugins

Reliability buffer

Filesystem buffering, per-output backpressure, DLQ at chunk level (v4.2+)

Persistent queues, DLQ at event level

Source coverage strength

Kubernetes, container runtimes, systemd, cloud APIs, OpenTelemetry

Beats ecosystem, JDBC, JMS, broad vendor protocol plugin set

Windows Event Log depth

Limited (no native event channel subscription)

Limited (no native event channel subscription)

SIEM output coverage

Elastic, Splunk HEC, Microsoft Sentinel (DCR-based, GA), Google SecOps, Kafka, S3, Loki, OpenTelemetry

Same set, plus first-class Elastic; Microsoft Sentinel DCR plugin in public preview

License

Apache 2.0

Apache 2.0 (unchanged through Elastic’s 2021 and 2024 license shifts)

One clarification on that last row, since it confuses people. Only Elasticsearch and Kibana moved to SSPL/ELv2 in 2021, and Elastic added AGPLv3 alongside in 2024. Elastic’s own FAQ is clear on this: "our language clients and Logstash have always been available under the Apache 2.0 license." If anyone tells you Logstash isn’t open source anymore, they’re wrong.

Architecture and deployment

The two tools were built for different jobs, and the design choices show up faster than you’d think when you push either one into a role it wasn’t built for.

Fluent Bit is written in C and ships as a CNCF graduated project under the Fluentd umbrella (Fluentd graduated April 11, 2019; Fluent Bit graduated alongside it as a sub-project). The current stable line is v4.x, with v4.2 adding the Dead Letter Queue feature and routing improvements. Design priorities are low memory, fast startup, and easy embedding — as a Kubernetes DaemonSet, an OpenTelemetry collector sidecar, or a lightweight agent on a constrained host. The official documentation is the primary source for configuration syntax and plugin reference.

Logstash runs on the JVM and ships as part of the Elastic Stack. The source repository and official docs describe a server-side process that receives shipped logs — often from Beats or other agents — applies heavy transformation through its pipeline DSL, and writes to one or more destinations. The plugin ecosystem is large; the resource budget reflects that.

Here’s where each tool typically sits in a SecOps pipeline:

Fluent Bit vs Logstash architecture in SecOps pipeline

This is the Beats-style pattern with Fluent Bit playing the lightweight shipper role and Logstash doing aggregation and transformation. You can run Fluent Bit end-to-end. You can run Logstash on endpoints. Neither tool is locked to a tier — but if you put Logstash on hundreds of low-spec endpoints, the JVM footprint will hurt; if you push deep vendor-specific parsing into Fluent Bit, you’ll write more glue code than you expected.

Fluent Bit vs Logstash on measurable dimensions

Resource footprint

The numbers that exist come from official documentation rather than head-to-head benchmarks. Fluent Bit’s own comparison page cites a memory footprint of roughly 650 KB at idle for Fluent Bit, compared to "tens of MB" for Fluentd. Logstash, running on the JVM, ships with a default heap of 1 GB, configurable in jvm.options (Elastic docs). Real-world usage depends on plugin count, pipeline complexity, and event rate, but the order-of-magnitude gap is what it looks like.

For a centralized aggregation tier on dedicated infrastructure, the JVM overhead is fine. On endpoints — Kubernetes DaemonSets across hundreds of nodes, or workstations where the security team can’t be the loudest tenant on the box — it isn’t.

Be careful with public benchmark numbers from vendor blog posts. They’re useful as orders of magnitude, but most of them measure throughput against tuned configurations on hardware you don’t have. Run your own test with your actual log volumes, your actual parsers, and the destinations you actually use.

Configuration complexity

The two configuration models look like this. Fluent Bit, classic INI form:

[SERVICE]
    Flush        5
    Daemon       Off
    Log_Level    info

[INPUT]
    Name         tail
    Path         /var/log/auth.log
    Parser       syslog-rfc5424
    Tag          auth

[FILTER]
    Name         modify
    Match        auth
    Add          env production

[OUTPUT]
    Name         es
    Match        *
    Host         elastic.internal
    Port         9200
    Index        secops-auth
    tls          On
    tls.verify   On

Logstash, pipeline DSL:

input {
  file {
    path           => "/var/log/auth.log"
    type           => "auth"
    start_position => "beginning"
  }
}

filter {
  if [type] == "auth" {
    grok   { match => { "message" => "%{SYSLOGLINE}" } }
    mutate { add_field => { "env" => "production" } }
  }
}

output {
  elasticsearch {
    hosts       => ["https://elastic.internal:9200"]
    index       => "secops-auth-%{+YYYY.MM.dd}"
    ssl_enabled => true
  }
}

Both are readable. The difference shows up at scale, when a single pipeline has dozens of branches and you’re choosing between many INI sections joined by tags versus one DSL block with conditional logic. Logstash’s DSL handles branching more cleanly. Fluent Bit’s tagging is faster to scan when each section does one thing. Reasonable teams disagree, and the choice often follows whoever’s on call at 3 a.m.

Features and capabilities

Parsing and transformation

Logstash leads here, and it’s not close for messy vendor logs. Grok patterns handle the irregular reality of firewall, proxy, and custom application output without forcing you to write a parser per format:

filter {
  grok {
    match => { "message" => "%{IPORHOST:src_ip} %{WORD:action} %{GREEDYDATA:details}" }
  }
  mutate {
    add_field => { "pipeline_stage" => "enriched" }
  }
  geoip {
    source => "src_ip"
    target => "geo"
  }
}

Fluent Bit handles the well-known formats — JSON, syslog RFC 3164/5424, ltsv, regex — and gives you Lua or WASM for the rest:

[FILTER]
    Name      parser
    Match     auth.*
    Key_Name  log
    Parser    syslog-rfc5424

[FILTER]
    Name      lua
    Match     *
    script    enrich.lua
    call      add_geo

The Lua path works, and it’s fast, but you’re writing more code per new format than you would with Grok. If your environment is dominated by structured JSON or well-known shapes, Fluent Bit’s built-in parsers are enough. If you’re constantly onboarding new vendor formats, Logstash saves real engineering time.

Neither tool offers a paid tier that unlocks more parsers. Both ship everything in their open-source builds.

Reliability and delivery guarantees

Logstash’s persistent queue is the more mature mechanism. It writes events to disk before acknowledgment, survives restarts cleanly, and supports a dead letter queue (DLQ) at the event level — a single bad record doesn’t take its neighbors with it. The behavior and failure modes are well documented and well understood at scale.

Fluent Bit added a DLQ in v4.2 (November 2025, via the storage.keep.rejected parameter — see the official troubleshooting guide). It works, but it preserves failed chunks rather than individual events. A single bad record can park the chunk it shipped with. Fluent Bit also has filesystem buffering and per-output backpressure (storage.type filesystem, storage.total_limit_size), which cover most operational cases — but the granularity of recovery isn’t equivalent to Logstash’s.

For SecOps, the granularity matters most at the egress hop. Losing events between an EDR agent and your SIEM is one of the worst outcomes you can quietly cause, and "lost the whole batch that contained one bad event" reads differently in a post-incident review than "lost one event."

Source coverage and the Windows gap

Fluent Bit’s strengths are Kubernetes, container runtimes, systemd, and cloud provider APIs. Logstash’s input plugin set is broader on the vendor protocol side: Beats, JDBC, JMS, SNMP, and the long tail.

The gap worth calling out for SecOps: neither tool handles Windows Event Log collection the way a Windows-native agent does. Both can read forwarded events. Both can parse XML or JSON exports. Neither subscribes to Windows Event channels with the depth that compliance frameworks and detection teams want — ETW providers, DNS analytical logs, Sysmon at high volume, forwarded events from large estates. This is where specialized Windows-native agents (NXLog Agent is the one we know best) fit, and it’s part of why a Windows-heavy estate often isn’t a clean Fluent Bit vs Logstash decision.

Output and SIEM destinations

Both tools cover the destinations a SecOps team needs: Splunk HEC, Elastic, OpenSearch, Microsoft Sentinel, Google SecOps via HTTPS push, Kafka for fan-out, and S3 for archive.

One thing to factor in if you’re targeting Sentinel: the legacy Azure HTTP Data Collector API retires September 14, 2026, so any pipeline you stand up this year needs to target the DCR-based Logs Ingestion API. Fluent Bit ships an azure_logs_ingestion output plugin built on the new API. Microsoft’s DCR-based Logstash output plugin is still in public preview as of mid-2026 — usable, and Microsoft rebuilt it in Java in early 2026 for better security and support — but if you’re standing up production Sentinel ingestion this year, factor that maturity gap into the decision.

Logstash leans toward Elastic destinations because that’s its origin story. Fluent Bit’s outputs to Loki and OpenTelemetry collectors are first-class, which fits its CNCF lineage.

Extensibility and fleet operability

Both tools are extensible through code — Lua/WASM for Fluent Bit, Ruby filters for Logstash — and both have active plugin ecosystems. Neither one ships with a built-in management plane.

That last point matters more than it sounds. After you’ve chosen a collector, the next problem shows up fast: how do you run hundreds or thousands of them? Centralized config distribution, version and policy control, visibility into collector health, audit trails for PCI DSS, HIPAA, ISO 27001, or NIS2 evidence — Fluent Bit and Logstash both leave these to you. You can build them with Ansible, a Git-driven config repo, and Prometheus dashboards, and many teams do. At small scale it’s fine. At enterprise scale, the operational cost adds up, and it’s the kind of cost that doesn’t show in a benchmark.

If you reach that scale and don’t want to build it yourself, NXLog Platform is a management plane built for fleets of telemetry agents — config templates, policy enforcement, health visibility, and audit history across mixed-OS estates. It’s a different layer of the problem and worth knowing about before you’ve sunk six months into homegrown agent management.

Use-case scenarios

Mid-size cloud-native SaaS team, 300 GB/day, mostly Kubernetes, 2 SREs

Fluent Bit end-to-end. Run it as a DaemonSet on each node, ship directly to your SIEM or to an OpenTelemetry collector. The footprint is right for hundreds of pods, the Kubernetes integration is mature, and you don’t need Grok for the JSON-structured app logs that dominate this kind of estate. Logstash is overkill at this volume and adds a JVM to operate.

Enterprise SecOps, 5 TB/day, heterogeneous Windows + Linux + cloud, dedicated SOC

Neither tool on its own. Use Fluent Bit on Linux and Kubernetes nodes for the cloud-native side. Use Logstash (or a similar aggregator) in the middle if you need Grok for vendor formats. For Windows Event Log depth across thousands of hosts — ETW, DNS analytical, Sysmon — pair with a specialized Windows agent. Fleet management becomes the dominant operational cost at this scale, not the collector choice itself.

Small DevOps team running ELK, 50 GB/day, single data center

Logstash. You’re already paying the JVM cost on the aggregator and the team knows Grok. Adding Fluent Bit on the edge buys you marginal footprint savings at the cost of two configuration models to maintain. Pick one and keep it simple.

Platform team standardizing on OpenTelemetry, 1 TB/day across multi-cloud

Fluent Bit. OTLP ingestion and delivery are first-class in Fluent Bit v3+, and the CNCF alignment means fewer impedance mismatches with the rest of your observability stack. Logstash has OpenTelemetry support but it’s not the path of least resistance.

Compliance-heavy regulated environment, 800 GB/day, audit trails required

Either tool works for the data plane, but neither answers the audit-trail-on-collector-config question. If you’re being asked to produce evidence of who changed what on which collector and when, plan to build that layer yourself or buy it — and budget for the work either way. The collector choice is the easy half of the problem.

Conclusion

If you’re cloud-native and OpenTelemetry-aligned, pick Fluent Bit. The footprint, the Kubernetes story, the CNCF lineage, and the OTLP support compound. Logstash will work, but you’re paying for capability you don’t need.

If you’re inside the Elastic Stack and your team knows Grok, pick Logstash. The persistent queue is more mature, the parsing library saves real engineering time on messy vendor logs, and the JVM cost is acceptable on a centralized aggregator. Don’t replatform just to chase a smaller footprint at the aggregation tier.

If your estate is mixed — Windows Event Logs, Linux syslog, cloud audit, OT/IoT, legacy appliances at thousands of hosts — neither tool answers the full problem on its own. Use Fluent Bit on the cloud-native edge. Use Logstash or a similar aggregator in the middle if Grok is paying for itself. Plan for a specialized Windows agent on the Windows side. And budget for fleet management as a separate workstream from the day you pass a few hundred hosts, whether you build it or buy it.

The public throughput numbers floating around vendor blogs are useful as orders of magnitude and not much more. Test both tools with your actual log volumes, your actual parsers, and the destinations you actually use. The goal is a pipeline you can reason about under pressure — not one that wins a feature comparison on paper.

NXLog Platform is an on-premises solution for centralized log management with
versatile processing forming the backbone of security monitoring.

With our industry-leading expertise in log collection and agent management, we comprehensively
address your security log-related tasks, including collection, parsing, processing, enrichment, storage, management, and analytics.

Start free Contact us
  • Telemetry collection
  • Kubernetes
  • OpenTelemetry
Share

Facebook Twitter LinkedIn Reddit Mail
Related Posts

Fluent Bit vs Filebeat: Architecture, trade-offs, and the better default
9 minutes | March 16, 2026
Fluent Bit vs Fluentd: How to choose the right tool for your log pipeline
8 minutes | March 3, 2026
DNS Log Collection on Windows
9 minutes | May 28, 2020

Stay connected:

Sign up

Keep up to date with our monthly digest of articles.

By clicking singing up, I agree to the use of my personal data in accordance with NXLog Privacy Policy.

Featured posts

Enterprise IIS log analysis software: top tools, use cases, and NXLog Agent integration
May 7, 2026
Announcing NXLog Platform 1.12
April 21, 2026
How to visualize telemetry data flow and volume with NXLog Platform
March 23, 2026
Security dashboards go dark: why visibility isn't optional, even when your defenses keep running
February 26, 2026
Building a practical OpenTelemetry pipeline with NXLog Platform
February 25, 2026
Announcing NXLog Platform 1.11
February 23, 2026
Adopting OpenTelemetry without changing your applications
February 10, 2026
Linux security monitoring with NXLog Platform: Extracting key events for better monitoring
January 9, 2026
2025 and NXLog - a recap
December 18, 2025
Announcing NXLog Platform 1.10
December 11, 2025
Announcing NXLog Platform 1.9
October 22, 2025
Gaining valuable host performance metrics with NXLog Platform
September 30, 2025
Security Event Logs: Importance, best practices, and management
July 22, 2025
Enhancing security with Microsoft's Expanded Cloud Logs
June 10, 2025

Categories

  • ANNOUNCEMENT
  • COMPARISON
  • COMPLIANCE
  • DEPLOYMENT
  • SECURITY
  • SIEM
  • STRATEGY
  • Products
  • NXLog Platform
  • NXLog Community Edition
  • Integration
  • Professional Services
  • Licensing
  • Plans
  • Resources
  • Documentation
  • Blog
  • White Papers
  • Videos
  • Webinars
  • Case Studies
  • Community Program
  • Community Forum
  • Compare NXLog Platform
  • Partners
  • Find a Reseller
  • Partner Program
  • Partner Portal
  • About NXLog
  • Company
  • Careers
  • Support Portals
  • Contact Us

Follow us

LinkedIn Facebook YouTube Reddit
logo

© Copyright NXLog Ltd.

Subscribe to our newsletter

Privacy Policy • General Terms of Business