Appearance
Printers
Configure output destinations for detection events. Printers determine where security events are sent.
Configuration
yaml
printers:
- stdout # Standard output
- varlog # File output
# - void # Discard (testing only)
# - garnet # Garnet cloud platform
printer_options:
stdout:
# Pretty-printed JSON format (default).
raw: false
varlog:
# Raw JSON format (for log collectors).
raw: true
# Output file path.
file: /var/log/jibril.out
garnet:
# Error logging rate limit.
error_log_rate: 2mstdout Printer
Prints events to standard output (captured by docker/systemd).
yaml
printers:
- stdout
printer_options:
stdout:
# Pretty-printed JSON format (default).
raw: falseUse cases
- Docker containers
- Systemd services
- Container orchestration platforms (Kubernetes)
- Log aggregation systems (ELK, Splunk)
varlog Printer
Writes events to a file on disk.
yaml
printers:
- varlog
printer_options:
varlog:
# Raw JSON format (for log collectors).
raw: true
# Output file path.
file: /var/log/jibril.outUse cases
- Persistent logging
- File-based log collectors
- Custom log rotation
- Offline analysis
File permissions
Ensure Jibril has write permissions to the output directory:
bash
# Create log directory
sudo mkdir -p /var/log
# Set permissions (if running as jibril user)
sudo touch /var/log/jibril.out
sudo chown jibril:jibril /var/log/jibril.outLog rotation
Configure logrotate to manage file size:
bash
# /etc/logrotate.d/jibril
/var/log/jibril.out {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0644 jibril jibril
}void Printer
Discards all events. Used for testing only.
Configuration
yaml
printers:
- voidUse cases
- Full execution path testing
- Configuration validation
- Feature testing without output
garnet Printer
Sends security events to Garnet Dashboard for centralized monitoring and analysis.
yaml
printers:
- garnet
printer_options:
garnet:
# Error logging rate limit.
error_log_rate: 2mRequirements
- Valid Garnet API configuration
- Network connectivity to Garnet API
- Project with dashboard access
Use cases
- Centralized security monitoring
- Threat intelligence correlation
- Compliance reporting
- Multi-agent deployments
Dashboard features
- Real-time event streaming and visualization
- Advanced search and filtering capabilities
- Security analytics and trend analysis
- Alert management and notifications
- AI-powered threat analysis
API Token vs Garnet Printer
- API Token - Agent registration and authentication
- Garnet Printer - Event forwarding to Garnet dashboard
The API token is always needed for agent registration and authentication. Garnet printer is not mandatory, unless events need to be forwarded to the Garnet dashboard.
Warning: Do not use in production. Events will be lost.
Multiple Printers
You can enable multiple printers simultaneously:
yaml
printers:
- stdout
- varlog
- garnet
printer_options:
stdout:
raw: false
varlog:
raw: true
file: /var/log/jibril.out
garnet:
error_log_rate: 2mCommon combinations:
Local + Cloud:
yaml
printers:
- stdout # For local monitoring
- garnet # For centralized dashboardFile + Cloud:
yaml
printers:
- varlog # For local persistence
- garnet # For centralized analysisAll outputs:
yaml
printers:
- stdout # For container logs
- varlog # For file-based logging
- garnet # For dashboard