Overview
FerroStash is a Rust-native, Logstash-compatible log and event pipeline. It ingests, transforms, and routes events through the same input -> filter -> output model as Logstash, parsing the Logstash pipeline.conf DSL (and an equivalent YAML form) natively - without a JVM and without a separate agent runtime. Where a Logstash pipeline commonly holds about a gigabyte of JVM heap and takes tens of seconds to start, FerroStash runs as a single static binary (about 14 MB) that starts in milliseconds and holds tens of MB of RAM, so you can pack far more shippers per host. What FerroStash does today (v1.0 line): it implements the production-common subset of the Logstash 9.x plugin set - about 88 percent of the bundled plugins (98 of 111), weighted toward the parsing and filtering hot path. Inputs include beats, file, tcp, udp, http, http_poller, syslog, kafka, redis, s3, sqs, jdbc, elasticsearch, cloudwatch, rabbitmq, and the dead-letter-queue. Filters include grok, dissect, kv, json, mutate, date, geoip, dns, csv, xml, useragent, cidr, fingerprint, translate, aggregate, throttle, plus a native Painless-style script filter. Outputs include elasticsearch / opensearch, kafka, s3, http, tcp, udp, file, redis, sqs, sns, cloudwatch, email, and datadog. Codecs include json, json_lines, multiline, cef, netflow, avro, msgpack, and protobuf. Reliability: an optional on-disk persistent queue with full at-least-once delivery (read/ack cursor separation, checkpoint-after-output-ack) and a dead-letter queue, with opt-in fsync for power-loss durability. A built-in monitoring API exposes node and pipeline stats. Engineering posture (verifiable): unsafe_code is denied workspace-wide (with narrow, audited exceptions for the optional mruby FFI and the script-filter JIT), clippy is clean at -D warnings with unwrap() denied in production code, an SPDX header is on every source file, a cargo deny supply-chain gate runs in CI, and the test suite runs 1,400+ tests with output verified against Logstash 9.4.2 expected fields across 24 parity fixtures. Compatibility scope: FerroStash is Logstash config / pipeline compatible across the covered plugin set. It is not a 100 percent drop-in - a covered plugin may implement a subset of that plugin's options, and a config that uses an unsupported plugin fails fast at load with a clear error rather than silently dropping events. The remaining gaps are mostly enterprise / niche connectors (for example jms, azure_event_hubs, snmp, lumberjack, webhdfs). The supported topology is single-node, and the optional ruby filter (Artichoke/mruby) is excluded from the default build. This Marketplace product is a hardened, security-scanned distribution at a pinned, SemVer-stable release version. The AMI is metered automatically by AWS per running instance-hour - there is no metering code in the product.
Highlights
- Rust-native with no JVM: a single static binary runs Logstash-style pipeline configs (DSL or YAML) with low memory use and fast startup.
- 90+ inputs, filters, codecs and outputs including grok, mutate, JSON, Painless-style scripting, Kafka, S3, and Elasticsearch/OpenSearch.
- At-least-once delivery with an on-disk persistent queue and dead-letter queue, plus optional fsync durability.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Dimension | Cost/hour |
|---|---|
c7g.large Recommended | $0.06 |
t4g.small | $0.04 |
r7g.large | $0.06 |
m7g.large | $0.06 |
m7g.xlarge | $0.12 |
t4g.large | $0.06 |
c7g.medium | $0.03 |
t4g.medium | $0.05 |
c7g.xlarge | $0.12 |
c7g.2xlarge | $0.24 |
Vendor refund policy
Contact aws-support@abyo.net within 30 days of a charge to request a refund for a billing error or a documented defect in the supported distribution. Refunds are processed in accordance with the AWS Marketplace Standard Contract.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (Arm) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
FerroStash v1.0 line. Rust-native, Logstash-compatible log and event pipeline. A single static binary - no JVM, no separate agent runtime - that starts in milliseconds and holds tens of MB of RAM. Parses the Logstash pipeline.conf DSL (and an equivalent YAML form) natively and implements about 88 percent of the bundled Logstash 9.x plugins (98 of 111), weighted toward the parsing and filtering hot path: inputs such as beats, file, tcp/udp, http, syslog, kafka, redis, s3, sqs, and jdbc; filters such as grok, dissect, kv, json, mutate, date, geoip, and a native Painless-style script filter; outputs such as Elasticsearch/OpenSearch, kafka, s3, http, and file. Reliability: an optional on-disk persistent queue with at-least-once delivery and a dead-letter queue, plus opt-in fsync durability; a built-in monitoring API. Honest scope: Logstash config / pipeline compatible, NOT a byte-identical 100 percent drop-in; coverage is plugin-level and a covered plugin may implement a subset of its options; a config using a missing plugin fails fast at load. Single-developer project with no public production deployments yet; the supported Marketplace topology is single-node; the optional ruby filter is excluded from the default build. Engineering: unsafe_code denied workspace-wide (narrow audited exceptions), clippy clean at -D warnings, unwrap() denied in production code, cargo deny gate, 1,400+ tests with output verified byte-for-byte against Logstash 9.4.2 across 24 fixtures. Metered automatically by AWS per instance-hour (no metering code in the AMI).
Additional details
Usage instructions
Launch the self-contained FerroStash AMI on EC2 (Graviton/arm64). FerroStash starts as a systemd service (ferro-stash) running a single pipeline from /etc/ferro-stash/pipeline.conf with its data directory under /var/lib/ferro-stash. The shipped default pipeline accepts Elastic Beats input on TCP 5044 and writes events to a local file; edit /etc/ferro-stash/pipeline.conf to point at your real inputs and outputs (for example Elasticsearch/OpenSearch, Kafka, or S3) and restart the service. Send Beats / TCP traffic only from inside your VPC via the security group; do not expose pipeline input ports to the public internet. The built-in monitoring API binds to localhost:9600 only; reach it over SSH or a private tunnel. There is no admin login and no baked-in secret: the service runs unprivileged and reads its config from disk. A first-boot note with the instance id and quick-start guidance is written to /var/lib/ferro-stash/initial-info.txt. The supported topology is single-node.
Support
Vendor support
Marketplace subscribers receive support by email at aws-support@abyo.net under the published SLA. Include your AWS account id and the EC2 instance id when you open a ticket. A limitations document, a Logstash compatibility matrix, and a due-diligence pack ship with the product.
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.