Management

How to start, stop, reload, and restart your Vector instance

The sections below show you how to administer your Vector instance—start, stop, reload, etc.—in a variety of settings:

Vector executable

To manage the Vector executable directly, without a process manager:

killall -s SIGHUP vector
vector --config /etc/vector/vector.toml

# Or supply a JSON or YAML config file

Linux

APT, dpkg, RPM, YUM

If you’ve installed Vector using APT, dpkg, RPM, or YUM, you can manage it using systemctl.

systemctl kill -s HUP --kill-who=main vector.service
sudo systemctl restart vector
sudo systemctl start vector
sudo systemctl stop vector

Nix

If you’ve installed Vector using Nix, you can manage it using the commands laid out in the Vector executable section.

macOS

If you’re running Vector on macOS, you can manage it using either the executable commands or Homebrew.

Homebrew

If you’ve installed Vector using Homebrew, you can manage it using Homebrew’s services utility.

killall -S SIGHUP vector
brew services restart vector
brew services start vector
brew services stop vector

Windows

If you’re running Vector on Windows (perhaps you installed it using MSI), you can manage it using these commands:

C:\Program Files\Vector\bin\vector \
  --config C:\Program Files\Vector\config\vector.toml

# Or supply a JSON or YAML config file

Docker

If you’re running Vector using Docker, the command interface is the same across all platforms.

docker kill --signal=HUP timberio/vector
docker restart -f $(docker ps -aqf "name=vector")
docker run \
  -d \
  -v ~/vector.toml:/etc/vector/vector.toml:ro \
  -p 8686:8686 \
  timberio/vector:0.17.0-alpine
docker stop timberio/vector

The commands above involve configuring Vector using TOML, but you can also use JSON or YAML. You can also use one of three image variants (the commands assume alpine):

VariantImage basis
alpineAlpine, a Linux distro built around musl libc and BusyBox
debianThe debian-slim image, which is a smaller and more compact version of the standard debian image
distrolessThe Distroless project, which provides extremely lean images with no package managers, shells, or other inessential utilities

Helm

To get Vector running on Kubernetes using the Helm package manager:

Once Vector is running in Kubernetes, you can manage it using kubectl:

kubectl rollout restart --namespace vector daemonset/vector-agent
kubectl rollout restart --namespace vector statefulset/vector-aggregator

Reloading

As you can see above, many administrative interfaces for Vector enable you to trigger a restart of a Vector instance while it’s running. There are a few things that you should know about reloading.

Automatic reloading on config change

You can make Vector automatically reload itself when its configuration file changes by setting the --watch-config or -w flag when you first start your Vector instance.

Automatic reload on configuration change

Vector provides an option

How it works

Running Vector instances accept the IPC signals and produce the exit codes listed below.

Signals

The Vector is built to handle the inter-process communication signals listed in the table below.
SignalDescription
SIGHUPReloads configuration on the fly.
SIGTERMInitiates graceful shutdown process.

Exit codes

You can find a full list of exit codes in the exitcodes Rust crate. Vector uses the codes listed in the table below.
CodeDescription
0Exited successfully.
1Exited with a generic error.
78Configuration is invalid.