Vector can be installed on various platforms using multiple methods. Choose the installation method that best suits your environment.
Quick Install
The fastest way to install Vector is using our installation script:
curl --proto '=https' --tlsv1.2 -sSfL https://sh.vector.dev | bash
The installer script will detect your platform and install the appropriate package. Use curl ... | bash -s -- -y to skip the confirmation prompt.
Installation Methods
Docker
Kubernetes
APT (Debian/Ubuntu)
YUM/DNF (RHEL/CentOS)
Homebrew (macOS)
Systemd
Vector provides official Docker images for multiple platforms and architectures.Alpine (Recommended)
The Alpine image is based on musl libc and BusyBox, making it the smallest and most reliable option:docker pull timberio/vector:latest-alpine
docker run -v $(pwd)/vector.yaml:/etc/vector/vector.yaml:ro \
timberio/vector:latest-alpine
Debian
Based on the Debian slim image:docker pull timberio/vector:latest-debian
docker run -v $(pwd)/vector.yaml:/etc/vector/vector.yaml:ro \
timberio/vector:latest-debian
Distroless
Minimal images with only essential runtime dependencies:Static (musl):docker pull timberio/vector:latest-distroless-static
Dynamic (libc):docker pull timberio/vector:latest-distroless-libc
Architectures
All Vector Docker images support:
- x86_64 (amd64)
- ARM64 (aarch64)
- ARMv7
Docker automatically pulls the correct architecture for your platform.| Version | Tag Example |
|---|
| Latest major | timberio/vector:latest-alpine |
| Latest minor | timberio/vector:0.X-alpine |
| Latest patch | timberio/vector:0.53.X-alpine |
| Specific version | timberio/vector:0.53.0-alpine |
| Nightly | timberio/vector:nightly-alpine |
| Specific nightly | timberio/vector:nightly-2024-03-05-alpine |
Configuration
Mount your configuration file at /etc/vector/vector.yaml:docker run -d \
-v $(pwd)/vector.yaml:/etc/vector/vector.yaml:ro \
-p 8686:8686 \
timberio/vector:latest-alpine
Vector can be deployed on Kubernetes in multiple configurations.Agent (DaemonSet)
Deploy Vector as a DaemonSet to collect logs from all nodes:kubectl apply -k https://github.com/vectordotdev/vector/distribution/kubernetes/vector-agent/
Or using individual manifests:kubectl apply -f https://raw.githubusercontent.com/vectordotdev/vector/master/distribution/kubernetes/vector-agent/
Aggregator (StatefulSet)
Deploy Vector as a StatefulSet for aggregating and processing data:kubectl apply -k https://github.com/vectordotdev/vector/distribution/kubernetes/vector-aggregator/
Stateless Aggregator (Deployment)
Deploy Vector as a Deployment for stateless aggregation:kubectl apply -k https://github.com/vectordotdev/vector/distribution/kubernetes/vector-stateless-aggregator/
Helm Chart
Install using Helm for more customization options:helm repo add vector https://helm.vector.dev
helm repo update
helm install vector vector/vector
The Kubernetes manifests include ServiceAccount, RBAC, ConfigMap, and Service resources.
Install Vector on Debian or Ubuntu systems using APT:Add Repository
curl -1sLf 'https://repositories.timber.io/public/vector/cfg/setup/bash.deb.sh' | sudo -E bash
Install Vector
sudo apt-get install vector
Start Vector
sudo systemctl start vector
sudo systemctl enable vector
Configuration
Edit the configuration file:sudo nano /etc/vector/vector.yaml
Validate and reload:sudo vector validate
sudo systemctl reload vector
Install Vector on RHEL, CentOS, Fedora, or Amazon Linux using YUM/DNF:Add Repository
curl -1sLf 'https://repositories.timber.io/public/vector/cfg/setup/bash.rpm.sh' | sudo -E bash
Install Vector
sudo yum install vector
# or
sudo dnf install vector
Start Vector
sudo systemctl start vector
sudo systemctl enable vector
Configuration
Edit the configuration file:sudo vi /etc/vector/vector.yaml
Validate and reload:sudo vector validate
sudo systemctl reload vector
Install Vector on macOS using Homebrew:Install
brew tap vectordotdev/brew
brew install vector
Start Vector
brew services start vector
Configuration
The default configuration is located at:/usr/local/etc/vector/vector.yaml
Edit and restart:vi /usr/local/etc/vector/vector.yaml
brew services restart vector
Manual installation using systemd service:Download Binary
curl -LO https://packages.timber.io/vector/0.53.0/vector-0.53.0-x86_64-unknown-linux-gnu.tar.gz
tar xzf vector-0.53.0-x86_64-unknown-linux-gnu.tar.gz
sudo cp vector-x86_64-unknown-linux-gnu/bin/vector /usr/bin/
Create User
sudo useradd --system --user-group --shell /usr/sbin/nologin vector
Create Directories
sudo mkdir -p /etc/vector
sudo mkdir -p /var/lib/vector
sudo chown -R vector:vector /var/lib/vector
Install Systemd Service
Create /etc/systemd/system/vector.service:[Unit]
Description=Vector
Documentation=https://vector.dev
After=network-online.target
Requires=network-online.target
[Service]
User=vector
Group=vector
ExecStartPre=/usr/bin/vector validate
ExecStart=/usr/bin/vector
ExecReload=/usr/bin/vector validate --no-environment
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
AmbientCapabilities=CAP_NET_BIND_SERVICE
EnvironmentFile=-/etc/default/vector
StartLimitInterval=10
StartLimitBurst=5
[Install]
WantedBy=multi-user.target
Enable and Start
sudo systemctl daemon-reload
sudo systemctl enable vector
sudo systemctl start vector
Check Status
sudo systemctl status vector
Verification
Verify your installation:
Expected output:
vector 0.53.0 (x86_64-unknown-linux-gnu)
Configuration
After installation, you’ll need to configure Vector. The default configuration file location varies by installation method:
- Linux (Package):
/etc/vector/vector.yaml
- macOS (Homebrew):
/usr/local/etc/vector/vector.yaml
- Docker:
/etc/vector/vector.yaml (mount your config)
Validate your configuration:
vector validate --config /etc/vector/vector.yaml
Next Steps
Configuration
Learn how to configure sources, transforms, and sinks
CLI Reference
Explore Vector’s command-line interface
Deployment
Deploy Vector in production environments
API Reference
Monitor and manage Vector via GraphQL API
Troubleshooting
Permission Denied
If Vector fails to start due to permission issues:
# Check Vector user permissions
sudo chown -R vector:vector /var/lib/vector
sudo chown vector:vector /etc/vector/vector.yaml
Port Already in Use
If the API port (8686) is already in use:
api:
enabled: true
address: "127.0.0.1:8687" # Change port
Validation Fails
If configuration validation fails:
# Check for syntax errors
vector validate --config /etc/vector/vector.yaml
# Enable verbose output
vector validate --verbose --config /etc/vector/vector.yaml