Logs are an essential part of observing any service; without them you are flying blind. But collecting and analyzing them can be a real challenge -- especially at scale. Not only do you need to solve the basic task of collecting your logs, but you must do it in a reliable, performant, and robust manner. Nothing is more frustrating than having your logs pipeline fall on it's face during an outage, or even worse, disrupt more important services!
What is Clickhouse?
ClickHouse is an open-source column-oriented database management system that manages extremely large volumes of data, including non-aggregated data, in a stable and sustainable manner and allows generating custom data reports in real time. The system is linearly scalable and can be scaled up to store and process trillions of rows and petabytes of data. This makes it an best-in-class storage for logs and metrics data.
How This Guide Works
We'll be using Vector to accomplish this task. Vector is a popular open-source utility for building observability pipelines. It's written in Rust, making it lightweight, ultra-fast and highly reliable. And we'll be deploying Vector as a service.
The service deployment strategy treats Vector like a
separate service. It is designed to receive data from an upstream source and
fan-out to one or more destinations.
For this guide, Vector will receive data from
HTTP via Vector's
The following diagram demonstrates how it works.
What We'll Accomplish
To be clear, here's everything we'll accomplish in this short guide:
Install Vectorcurl --proto '=https' --tlsv1.2 -sSf https://sh.vector.dev | shexplain this command
Or choose your preferred method.
Configure Vectorcat <<-VECTORCFG > vector.toml[sources.in]address = "0.0.0.0:80" # requiredtype = "http" # required[sinks.out]host = "http://localhost:8123" # requiredinputs = ["in"] # requiredtable = "mytable" # requiredtype = "clickhouse" # requiredVECTORCFGexplain this command
Start Vectorvector --config vector.toml
That's it! Simple and to the point. Hit
Vector is powerful utility and we're just scratching the surface in this guide. Here are a few pages we recommend that demonstrate the power and flexibility of Vector: