Blitz
A load generation tool for Bindplane managed collectors.
Documentation
Components
Blitz consists of generators that create log data and outputs that send data to destinations.
Generators
- nop - No operation generator for testing infrastructure without generating data
- json - Generates structured JSON logs
- winevt - Generates Windows Event logs in unparsed XML format
- palo-alto - Generates realistic Palo Alto firewall syslog entries
- apache-common - Generates Apache Common Log Format (CLF) entries
- apache-combined - Generates Apache Combined Log Format entries with referer and user-agent
- apache-error - Generates Apache Error Log Format entries for server diagnostics
- nginx - Generates NGINX Combined Log Format entries matching NGINX's default log format
- postgres - Generates PostgreSQL log format entries including query logs, connections, and database events
- kubernetes - Generates Kubernetes container log format entries in CRI-O format with various application log types
Outputs
- nop - No operation output for testing infrastructure without sending data
- stdout - Writes logs to standard output for debugging and testing
- tcp - Sends logs over TCP connections with optional TLS encryption
- udp - Sends logs over UDP connections
- syslog - Formats and sends logs via syslog (RFC 3164 or 5424) over UDP or TCP
- otlp-grpc - Sends logs via OpenTelemetry Protocol (OTLP) over gRPC
- file - Writes logs to files with automatic rotation and compression
Installation
Blitz supports the following platforms:
- Operating Systems: Linux, macOS (Darwin), Windows, FreeBSD
- CPU Architectures: amd64 (x86_64), arm64
If your platform is not listed above, please open an issue
and we'll do our best to add support for it.
CLI
Download the binary for your platform from the latest release:
Extract the archive and run the binary directly in a terminal:
tar -xzf blitz_*_linux_amd64.tar.gz
Run with default NOP configuration:
./blitz
Run with JSON generator and TCP output:
./blitz \
--generator-type json \
--generator-json-workers 2 \
--generator-json-rate 500ms \
--output-type tcp \
--output-tcp-host logs.example.com \
--output-tcp-port 9090 \
--output-tcp-workers 3 \
--logging-level info
Linux Systemd Service
Download the appropriate package for your Linux distribution from the latest release:
- Debian/Ubuntu:
blitz_amd64.deb or blitz_arm64.deb
- Red Hat/CentOS/Fedora:
blitz_amd64.rpm or blitz_arm64.rpm
Install the package with your package manager:
Debian
sudo apt-get install -f ./blitz_amd64.deb
RHEL
sudo dnf install ./blitz_amd64.rpm
Edit the configuration file:
sudo vi /etc/blitz/config.yaml
Example minimal configuration for JSON generator and TCP output:
generator:
type: json
json:
workers: 2
rate: 500ms
output:
type: tcp
tcp:
host: logs.example.com
port: 9090
workers: 3
logging:
level: info
Enable and start the service
sudo systemctl enable blitz
sudo systemctl start blitz
sudo systemctl status blitz
View service logs:
sudo journalctl -u blitz -f
Container
Pull the Docker image from GitHub Container Registry and run it with environment variables for configuration:
Run with default NOP configuration:
docker run --rm ghcr.io/observiq/blitz:latest
Run with JSON generator and TCP output:
docker run --rm \
-e BLITZ_GENERATOR_TYPE=json \
-e BLITZ_GENERATOR_JSON_WORKERS=2 \
-e BLITZ_GENERATOR_JSON_RATE=500ms \
-e BLITZ_OUTPUT_TYPE=tcp \
-e BLITZ_OUTPUT_TCP_HOST=logs.example.com \
-e BLITZ_OUTPUT_TCP_PORT=9090 \
-e BLITZ_OUTPUT_TCP_WORKERS=3 \
-e BLITZ_LOGGING_LEVEL=info \
ghcr.io/observiq/blitz:latest
For detailed configuration options, see the Configuration Guide.
The Blitz is an open source project. If you'd like to contribute, take a look at our contribution guidelines and developer guide. We look forward to building with you.
- flog - A fake log generator for common log formats