Core Vector concepts

Before you begin, it's useful to become familiar with the basic concepts that comprise Vector. These concepts are used throughout the documentation and are helpful to understand as you proceed. They are ordered by their natural progression.


The purpose of Vector is to collect data from various sources in various shapes. Vector is designed to pull and receive data from these sources depending on the source type. As Vector ingests data it proceeds to normalize that data into a record (see next section). This sets the stage for easy and consistent processing of your data. Examples of sources include file, syslog, tcp, and stdin.


A "transform" is anything that modifies an event or the stream as a whole, such as a parser, filter, sampler, or aggregator. This term is purposefully generic to help simplify the concepts Vector is built on.


A sink is a destination for events. Each sink's design and transmission method is dictated by the downstream service it is interacting with. For example, the tcp sink will stream individual records, while the aws_s3 sink will buffer and flush data.