← Katalog
E I A C

Vector

Observability-as-Code

Wysokowydajny potok danych observability (logi, metryki, ślady) - deklaratywny, konfiguracja jako kod. Rust.

Vector to napisany w Rust, szybki i lekki potok danych obserwowalności: zbiera logi, metryki i zdarzenia ze źródeł, przetwarza je (parsowanie, filtrowanie, wzbogacanie, redakcja PII) i wysyła do dowolnych sink-ów. Potok opisujesz deklaratywnie (sources → transforms → sinks) w jednym pliku - więc cała logika przepływu telemetrii jest kodem: wersjonowana, testowalna (vector test) i odtwarzalna. Zastępuje cięższe agenty przy niższym zużyciu zasobów.

Kiedy używać

  • Chcesz jednego, wydajnego agenta/potoku dla logów i metryk, z transformacjami jako kod.
  • Potrzebujesz kontroli nad danymi zanim opuszczą Twoją infrastrukturę (redakcja, sampling, routing).
  • Zależy Ci na małym zużyciu CPU/RAM i self-hostingu.

Przykład użycia

# vector.toml - potok jako kod
[sources.app]
type = "file"
include = ["/var/log/app/*.log"]

[transforms.parse]
type = "remap"
inputs = ["app"]
source = '. = parse_json!(.message)'

[sinks.loki]
type = "loki"
inputs = ["parse"]
endpoint = "http://loki:3100"
labels = { job = "web", env = "prod" }

Warto wiedzieć

  • Uzupełnia lub zastępuje agenty; do pełnej standaryzacji telemetrii zob. OpenTelemetry Collector.
  • Świetnie karmi Loki i inne backendy; transformacje testujesz w CI.
  • MPL-2.0, self-hosting; dane redagujesz i kierujesz po swojej stronie (suwerenność, RODO).