The Validate Command
Usevector validate to check your configuration:
What Gets Validated
The validation process checks:- Syntax - YAML/TOML/JSON syntax correctness
- Schema - Component configuration matches expected schema
- Topology - Data flows correctly between components
- Connectivity - Sinks can connect to external services (health checks)
- Resources - Required files and directories exist
Basic Usage
Validate a Single File
Validate Multiple Files
Validate a Directory
Validate all configuration files in a directory:Validate Multiple Directories
Command-Line Options
Configuration File Options
Specify configuration files in different formats:Skip Environment Checks
Skip component and health checks (only validate syntax and schema):- CI/CD pipelines where external services aren’t available
- Quick syntax checking
- Validating configurations for different environments
Skip Health Checks Only
Validate components but skip sink health checks:- External services are temporarily unavailable
- You want to validate topology without network access
- Health checks are slow or flaky in your environment
Deny Warnings
Treat warnings as errors (fail validation on warnings):- Production deployments
- CI/CD pipelines
- Enforcing best practices
Disable Environment Variable Interpolation
Skip environment variable substitution during validation:Environment Variables
You can also specify configuration via environment variables:Understanding Validation Output
Successful Validation
When validation succeeds, you’ll see:Validation Errors
When validation fails, errors are clearly displayed:Validation Warnings
Warnings indicate potential issues:Common Validation Errors
Syntax Errors
Error:unknown field 'typ'
Solution: Check for typos in field names:
Missing Required Fields
Error:missing field 'type'
Solution: Add the required field:
Invalid Topology
Error:Input 'unknown_source' not found
Solution: Ensure all referenced components exist:
Health Check Failures
Error:Health check for "elasticsearch" failed: connection refused
Solutions:
- Fix the connection issue
- Skip health checks temporarily:
- Disable health check for specific sink:
CI/CD Integration
Integrate validation into your CI/CD pipeline:GitHub Actions
GitLab CI
Jenkins
Pre-Deployment Checklist
Before deploying a Vector configuration:- Run
vector validate --config <file>successfully - Run with
--deny-warningsto catch potential issues - Test health checks if external services are available
- Validate in an environment similar to production
- Check that all environment variables are properly set
- Verify file paths and permissions
- Review any warnings carefully
Validation Best Practices
1. Always Validate Before Deploying
Make validation a required step in your deployment process:2. Use —no-environment in CI/CD
In CI/CD pipelines, use--no-environment to validate without requiring external services:
3. Test Health Checks in Staging
Run full validation with health checks in staging:4. Version Control Your Configurations
Always keep configurations in version control and validate on every commit.5. Document Environment Variables
Maintain a list of required environment variables:Testing Configurations
Beyond validation, you can test configurations with thevector test command:
Next Steps
- Learn about Monitoring Vector
- Explore Troubleshooting techniques
- Review Upgrading procedures