tcp source

Ingests data through the TCP protocol and outputs `log` events.

The tcp source ingests data through the TCP protocol and outputs log events.

Config File

vector.toml (example)
vector.toml (schema)
vector.toml (specification)
[sources.my_source_id]
# REQUIRED - General
type = "tcp" # must be: "tcp"
address = "0.0.0.0:9000"
# OPTIONAL - General
max_length = 102400 # default, bytes
shutdown_timeout_secs = 30 # default, seconds
# OPTIONAL - Context
host_key = "host" # default

Options

Key

Type

Description

REQUIRED - General

type

string

The component type required must be: "tcp"

address

string

The address to bind the socket to. required example: "0.0.0.0:9000"

OPTIONAL - General

max_length

int

The maximum bytes size of incoming messages before they are discarded. default: 102400 unit: bytes

shutdown_timeout_secs

int

The timeout before a connection is forcefully closed during shutdown. default: 30 unit: seconds

OPTIONAL - Context

host_key

string

The key name added to each event representing the current host. See Context for more info. default: "host"

Examples

Given the following input line:

stdin
2019-02-13T19:48:34+00:00 [info] Started GET "/" for 127.0.0.1

A log event will be emitted with the following structure:

log
{
"timestamp": <timestamp> # current time,
"message": "2019-02-13T19:48:34+00:00 [info] Started GET "/" for 127.0.0.1",
"host": "10.2.22.122" # current nostname
}

How It Works

Context

By default, the tcp source will add context keys to your events via the host_key options.

Delivery Guarantee

Due to the nature of this component, it offers a best effort delivery guarantee.

Environment Variables

Environment variables are supported through all of Vector's configuration. Simply add ${MY_ENV_VAR} in your Vector configuration file and the variable will be replaced before being evaluated.

You can learn more in the Environment Variables section.

Line Delimiters

Each line is read until a new line delimiter (the 0xA byte) is found.

Troubleshooting

The best place to start with troubleshooting is to check the Vector logs. This is typically located at /var/log/vector.log, then proceed to follow the Troubleshooting Guide.

If the Troubleshooting Guide does not resolve your issue, please:

  1. Check for any open tcp_source issues.

  2. If encountered a bug, please file a bug report.

  3. If encountered a missing feature, please file a feature request.

  4. If you need help, join our chat/forum community. You can post a question and search previous questions.

Resources