Fly.ioProblem & solution
Fly Behind The Scenes: Fresh Logging
Summary
Fly replaced its centralized Graylog logging platform after seven servers could not process peak volumes of 20,000–30,000 logs per second, causing drops. Vector, written in Rust, now runs on every server, parses and transforms logs from journald and other applications, and sends them directly to Elasticsearch, removing Graylog as a middleman. The pipeline adopts the Elasticsearch Common Schema (ECS), with Fly-specific fields for app names, allocation IDs, and regions, while Vector configurations are distributed through the existing configuration management system. The migration took about two weeks alongside other work; logs are now available quickly enough to support failed-allocation queries that previously often raced processing, and future sinks may include Papertrail, Honeycomb, or Kafka.
Context
The previous logging system used seven centralized Graylog servers that could not process peak volumes of 20,000–30,000 logs per second, causing dropped logs. Customer access also depended on polling the Graylog API, while failed-allocation queries could run before logs had been processed.
Approach / What changed
Vector runs on every server, receives logs from journald and other applications, applies parsing and transformations, and ships the results directly to Elasticsearch. The platform uses the Elasticsearch Common Schema with Fly-specific fields, and Vector TOML configurations are distributed through the existing configuration management system.
Takeaways
Vector distributes log capture and transformation across servers, while Elasticsearch handles indexing and retrieval after Graylog was removed from the path.
The Elasticsearch Common Schema standardizes fields across applications, including source IP data, and supports Fly-specific fields such as app names, allocation IDs, and regions.
Vector configurations can be validated and unit tested locally before deployment; configuration changes are then distributed to all servers through the configuration management system.
Source and freshness
- Source
- fly.io
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.