Skip to content
A lightweight and ultra-fast tool for building observability pipelines
Rust HTML
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci chore(operations): Build archives, DEB, and RPM packages with glibc (#… May 18, 2020
.github chore(operations): Build archives, DEB, and RPM packages with glibc (#… May 18, 2020
.meta chore: Replace http:// to https:// (#2646) May 19, 2020
benches enhancement(regex_parser transform): Add RegexSet support to regex (#… May 13, 2020
config feat(kafka sink): Add support for templates in the topic config (#2598) May 14, 2020
distribution chore: Replace http:// to https:// (#2646) May 19, 2020
lib fix: Fix possible infinite loop decoding too-long lines (#2587) May 13, 2020
proto enhancement!: Support null values in log events (#1898) Feb 24, 2020
rfcs chore: Replace http:// to https:// (#2646) May 19, 2020
scripts chore(operations): Build archives, DEB, and RPM packages with glibc (#… May 18, 2020
src chore: Replace http:// to https:// (#2646) May 19, 2020
tests Remove race between sink and source (#2619) May 19, 2020
website chore: Replace http:// to https:// (#2646) May 19, 2020
.dockerignore chore(tests): Enable Kubernetes tests (#1970) Mar 29, 2020
.editorconfig chore: Replace http:// to https:// (#2646) May 19, 2020
.gitattributes docs: Small website and documentation improvements (#1215) Nov 21, 2019
.gitignore chore: Add .vscode/ to .gitignore Apr 30, 2020
.markdownlintignore chore: Add `target` directory to `.markdownlintignore` (#2054) Mar 13, 2020
.markdownlintrc chore: Add markdown linting (#2020) Mar 12, 2020
CODE_OF_CONDUCT.md chore: Replace http:// to https:// (#2646) May 19, 2020
CONTRIBUTING.md docs: add profiling instructions (#2416) Apr 28, 2020
Cargo.lock fix(tests): Fixup loki tests (#2613) May 15, 2020
Cargo.toml Remove race between sink and source (#2619) May 19, 2020
DOCUMENTING.md docs: Cleanup outdated contribution documentation Apr 16, 2020
LICENSE chore(operations): Check for EOLs and trailing spaces in CI (#1425) Dec 27, 2019
Makefile chore(operations): Build archives, DEB, and RPM packages with glibc (#… May 18, 2020
NOTICE chore: Replace http:// to https:// (#2646) May 19, 2020
PRIVACY.md cohre: Add Privacy Policy (#1977) Mar 3, 2020
README.md chore(website): Fix and run `make generate` May 14, 2020
README.md.erb docs: Add schema function category Apr 30, 2020
RELEASE_NOTES.md chore: Update v0.9.1 release with build hotfixes Apr 30, 2020
RELEASE_NOTES.md.erb chore(website): Fix broken release notes links, closes #1452 Dec 28, 2019
RELEASING.md chore: Replace http:// to https:// (#2646) May 19, 2020
REVIEWING.md chore(operations): Add shellcheck to CI and correct scripts (#2482) May 5, 2020
SECURITY.md cohre: Add Privacy Policy (#1977) Mar 3, 2020
build.rs enhancement: Use `BTreeMap` instead of `HashMap` for logs and metrics ( Feb 21, 2020
deny.toml chore(operations): Improve check-advisories CI job (#2571) May 11, 2020
docker-compose.yml chore(operations): Build archives, DEB, and RPM packages with glibc (#… May 18, 2020
rust-toolchain chore(operations): Upgrade to rustc `1.43.1` (#2563) May 7, 2020

README.md

Components  •  Guides  •  Docs  •  Blog  •  Download v0.9.1


Vector

What is Vector?

Vector is a lightweight, ultra-fast, open-source tool for building observability pipelines. Compared to Logstash and friends, Vector improves throughput by ~10X while significanly reducing CPU and memory usage.

Principles

  • Reliability First. - Built in Rust, Vector's primary design goal is reliability.
  • One Tool. All Data. - One simple tool gets your logs, metrics, and traces (coming soon) from A to B.
  • Single Responsibility. - Vector is a data router, it does not plan to become a distributed processing framework.

Who should use Vector?

  • You SHOULD use Vector to replace Logstash, Fluent*, Telegraf, Beats, or similar tools.
  • You SHOULD use Vector as a daemon or sidecar.
  • You SHOULD use Vector as a Kafka consumer/producer for observability data.
  • You SHOULD use Vector in resource constrained environments (such as devices).
  • You SHOULD NOT use Vector if you need an advanced distributed stream processing framework.
  • You SHOULD NOT use Vector to replace Kafka. Vector is designed to work with Kafka!
  • You SHOULD NOT use Vector for non-observability data such as analytics data.

Community

  • Vector is downloaded over 100,000 times per day.
  • Vector's largest user processes over 10TB daily.
  • Vector is used by multiple fortune 500 companies with stringent production requirements.
  • Vector has over 15 active contributors and growing.

Documentation

About

Setup

Reference

Administration

Resources

Performance

The following performance tests demonstrate baseline performance between common protocols with the exception of the Regex Parsing test.

Test Vector Filebeat FluentBit FluentD Logstash SplunkUF SplunkHF
TCP to Blackhole 86mib/s n/a 64.4mib/s 27.7mib/s 40.6mib/s n/a n/a
File to TCP 76.7mib/s 7.8mib/s 35mib/s 26.1mib/s 3.1mib/s 40.1mib/s 39mib/s
Regex Parsing 13.2mib/s n/a 20.5mib/s 2.6mib/s 4.6mib/s n/a 7.8mib/s
TCP to HTTP 26.7mib/s n/a 19.6mib/s <1mib/s 2.7mib/s n/a n/a
TCP to TCP 69.9mib/s 5mib/s 67.1mib/s 3.9mib/s 10mib/s 70.4mib/s 7.6mib/s

To learn more about our performance tests, please see the Vector test harness.

Correctness

The following correctness tests are not exhaustive, but they demonstrate fundamental differences in quality and attention to detail:

Test Vector Filebeat FluentBit FluentD Logstash Splunk UF Splunk HF
Disk Buffer Persistence ⚠️
File Rotate (create)
File Rotate (copytruncate)
File Truncation
Process (SIGHUP) ⚠️
JSON (wrapped)

To learn more about our correctness tests, please see the Vector test harness.

The Little Details

Data Model

Control Flow

Data Processing

Operations

Reliability

  • Memory safety - Vector is built in Rust and is memory safe, avoiding a large class of memory related errors.
  • Decoupled buffer design - Buffers are per-sink; a bad sink won't bring the entire pipeline to a halt.
  • Intelligent retries - A fibonacci backoff algorithsm with jitter makes Vector a good citizen during outages.
  • Backpressure & load shedding - Buffers can be configured to provide backpressure or shed load.
  • Rate-limited internal logging - Vector's internal logging is rate-limited avoiding IO saturation if errors occur.
  • Sink healthchecks - Healthchecks provide startup safety and prevent deploys with bad configuration.
  • Robust disk buffering - Vector uses leveldb for robust data durability across restarts.

UX

Installation

Run the following in your terminal, then follow the on-screen instructions.

curl --proto '=https' --tlsv1.2 -sSf https://sh.vector.dev | sh

Or use your own preferred method.

Latest Highlights

view all...


Developed with ❤️ by Timber.io - Security Policy - Privacy Policy

You can’t perform that action at this time.