Fluent Bit Log Forwarder
Fluent Bit is a lightweight log processor and forwarder that can send data to RunReveal. This guide shows you how to configure Fluent Bit to send logs to RunReveal's webhook endpoints.
Quick Start
This setup demonstrates reading logs from a local file and forwarding them to your RunReveal webhook. The example creates test JSON logs, configures Fluent Bit to monitor the log file, and sends events to RunReveal in real-time.
Step 1: Create a Webhook Source in RunReveal
This step creates a webhook source in RunReveal and generates the webhook URL you'll need for Fluent Bit configuration.
- Navigate to RunReveal: Go to your RunReveal dashboard
- Create Source: Click on "Sources" in the left sidebar
- Add Webhook: Create a source for "Structured Webhook or Generic Webhook" based on your data format
- Configure: Give your webhook a name and description
- Copy URL: Copy the generated webhook URL to use in your configuration (It's always available after you save the source)
- Note Authentication: If your webhook requires authentication, note the bearer token
Step 2: Install Fluent Bit
This step installs Fluent Bit on your system using your preferred method. Fluent Bit will be used to collect, process, and forward logs to RunReveal.
Step 3: Create Test Logs
This step creates sample log files with security events that Fluent Bit will monitor and forward to RunReveal.
Step 4: Configure Fluent Bit
This step creates the Fluent Bit configuration file that defines how to collect logs and send them to RunReveal.
Basic Configuration - No Authentication Required
Use this configuration when your RunReveal webhook doesn't require authentication.
Create the parser configuration:
Replace YOUR_WEBHOOK_ID with your actual webhook ID from Step 1.
Authentication Notes:
- Use bearer token authentication only if your RunReveal webhook requires it
- Always use environment variables for sensitive data like tokens
- Never commit authentication tokens to version control
- The
Headerdirective adds custom headers to HTTP requests
Step 5: Start Fluent Bit
This step starts Fluent Bit with your configuration, which will begin monitoring the log files and forwarding events to RunReveal.
To run Fluent Bit in the background:
Step 6: Verify Delivery in RunReveal
This step verifies that logs are successfully being delivered to RunReveal.
-
Check RunReveal Dashboard:
- Go to RunReveal → Sources → Your webhook source
- Look for "Last Event Received" timestamp
- Check event count is increasing
-
Query for Events:
Click Query to explore incoming logs. Use the sourceID to view only logs from this specific source:
Replace
YOUR_SOURCE_IDwith the actual source ID shown on your webhook source card. -
Add More Test Events (optional):
Configuration Reference
Input Configuration
Fluent Bit inputs collect data from various sources. For RunReveal, you'll typically use the tail input for log files.
Key Parameters:
Path: File path(s) to monitor (supports wildcards)Parser: Parser to use (typicallyjsonfor structured logs)Read_from_Head: Start from beginning (true) or end (false) of fileDB: Database file to track file positionsTag: Tag to identify these logs in filters and outputs
Filter Configuration
Filters allow you to modify or enrich logs before sending them to RunReveal.
Add Metadata Filter
Parse Nested JSON
Output Configuration
The HTTP output sends logs to RunReveal's webhook endpoint.
Production Configuration with Retries
Complete Production Example
Advanced Configurations
Kubernetes DaemonSet
Deploy Fluent Bit as a DaemonSet to collect logs from all nodes:
Docker Compose
Systemd Service
Troubleshooting
No Events Appearing in RunReveal
-
Check Fluent Bit Status
-
Verify Webhook URL
-
Check Authentication (if using bearer token)
Parser Errors
-
Validate JSON Format
-
Test Parser Configuration
High Memory Usage
-
Adjust Buffer Limits
-
Enable Storage Backpressure
Connection Issues
-
Enable Debug Logging
-
Check TLS/SSL
Performance Tuning
Optimization Tips
-
Batch Configuration
-
Multi-threading
-
Memory Management
-
Network Optimization
Migration Guide
From Fluentd to Fluent Bit
Key differences when migrating:
- Fluent Bit uses INI format instead of Ruby DSL
- Memory footprint is ~450KB vs ~40MB for Fluentd
- No Ruby plugin support, but C plugins available
- Simplified configuration syntax
From Logstash to Fluent Bit
Configuration mapping:
Best Practices
Security Recommendations
-
Protect Credentials
- Use environment variables for tokens
- Store secrets in secure vaults
- Rotate tokens regularly
-
File Permissions
-
Network Security
- Always use TLS for webhook connections
- Implement egress filtering
- Monitor for unusual traffic patterns
Reliability Best Practices
-
Use Database Files
- Track file positions to prevent data loss
- Store DB files on persistent storage
-
Configure Retries
- Set appropriate retry limits and delays
- Use exponential backoff for failures
-
Monitor Health
- Enable HTTP monitoring endpoint
- Set up alerts for failures
- Track metrics and performance
Next Steps
Now that you have Fluent Bit configured and logs flowing to RunReveal:
- Detections - Create and manage security detection rules
- Sigma Streaming - Use Sigma rules for standardized threat detection
- Detection as Code - Manage detections through code and version control
- Notifications - Set up alerting and notification channels
- AI Chat - Use AI-powered analysis for threat hunting and investigation
- Enrichments - Add context and metadata to your security events
- Filters - Create custom filters to focus on specific security events