Repository navigation
Releases: henrikrexed/SecurityEventExporter
Release list
v0.1.3
OpenTelemetry Security Event Exporter v0.1.3
π Patch Release
This patch release removes specific fields from the JSON payload to streamline the security event format.
β¨ Changes
JSON Payload Simplification
- Removed Fields: The following fields are no longer included in the security event JSON payload:
severity- Log severity textseverity_number- Log severity numbermessage- Log body/message contentsource- Source field from default attributes
What's Still Included
The security event payload now includes:
timestamp- Event timestamp in RFC3339 format- Resource attributes - All resource-level attributes
- Log record attributes - All log-level attributes
trace_id- Trace ID (if available)span_id- Span ID (if available)- Other default attributes (except
source)
π§ Example Output
Before (v0.1.2)
{
"timestamp": "2025-12-19T10:30:00Z",
"severity": "INFO",
"severity_number": 9,
"message": "Security event occurred",
"source": "opentelemetry-collector",
"compliance.control": "check-sysctls",
"k8s.cluster.name": "obs-security-event"
}After (v0.1.3)
{
"timestamp": "2025-12-19T10:30:00Z",
"compliance.control": "check-sysctls",
"k8s.cluster.name": "obs-security-event"
}π Breaking Changes
severityseverity_numbermessagesource
If you have downstream systems that depend on these fields, you will need to update them or handle the missing fields appropriately.
β Testing
All existing tests pass:
- β Configuration validation tests
- β Exporter functionality tests
- β Log processing tests
- β HTTP client tests
π¦ Installation
As a Go Module Dependency
go get github.com/henrikrexed/SecurityEventExporter@v0.1.3Or add directly to your go.mod:
require github.com/henrikrexed/SecurityEventExporter v0.1.3Using in OCB Manifest
exporters:
- gomod: github.com/henrikrexed/SecurityEventExporter v0.1.3Docker Image
docker pull ghcr.io/henrikrexed/securityeventexporter:v0.1.3π Changelog
v0.1.3
- β
Removed
severityfield from JSON payload - β
Removed
severity_numberfield from JSON payload - β
Removed
messagefield (log body) from JSON payload - β
Filtered out
sourcefield from default attributes - β All tests passing
- β Streamlined security event format
v0.1.2
OpenTelemetry Security Event Exporter v0.1.2
π Patch Release
This patch release updates OpenTelemetry dependencies to their latest versions for improved compatibility and bug fixes.
β¨ Changes
Dependency Updates
- OpenTelemetry Collector: Updated from
v1.43.0tov1.47.0- Includes latest bug fixes and improvements from the OpenTelemetry Collector
- Better compatibility with newer collector versions
- OpenTelemetry SDK/API: Updated to
v1.38.0(latest)- Latest stable version of the OpenTelemetry Go SDK
- Improved performance and stability
- Zap Logger: Updated from
v1.27.0tov1.27.1- Minor bug fixes and improvements
Updated Dependencies
go.opentelemetry.io/collector/componentv1.43.0 β v1.47.0go.opentelemetry.io/collector/config/configopaquev1.43.0 β v1.47.0go.opentelemetry.io/collector/consumerv1.43.0 β v1.47.0go.opentelemetry.io/collector/exporterv1.43.0 β v1.47.0go.opentelemetry.io/collector/pdatav1.43.0 β v1.47.0go.opentelemetry.io/collector/featuregatev1.43.0 β v1.47.0go.opentelemetry.io/collector/pipelinev1.43.0 β v1.47.0go.opentelemetry.io/collector/internal/telemetryv0.137.0 β v0.141.0go.opentelemetry.io/otelv1.38.0 (already latest)go.opentelemetry.io/otel/sdkv1.38.0 (already latest)go.opentelemetry.io/otel/metricv1.38.0 (already latest)go.opentelemetry.io/otel/tracev1.38.0 (already latest)go.uber.org/zapv1.27.0 β v1.27.1
β Testing
All existing tests pass with the updated dependencies:
- β Configuration validation tests
- β Exporter functionality tests
- β Log processing tests
- β HTTP client tests
π¦ Installation
As a Go Module Dependency
go get github.com/henrikrexed/SecurityEventExporter@v0.1.2Or add directly to your go.mod:
require github.com/henrikrexed/SecurityEventExporter v0.1.2Using in OCB Manifest
exporters:
- gomod: github.com/henrikrexed/SecurityEventExporter v0.1.2Docker Image
docker pull ghcr.io/henrikrexed/securityeventexporter:v0.1.2π Changelog
v0.1.2
- β Updated OpenTelemetry Collector packages to v1.47.0
- β Updated OpenTelemetry SDK/API to v1.38.0 (latest)
- β Updated zap logger to v1.27.1
- β All tests passing with updated dependencies
- β Improved compatibility with latest OpenTelemetry Collector versions
π Links
- GitHub Repository: https://github.com/henrikrexed/SecurityEventExporter
- Docker Hub:
ghcr.io/henrikrexed/securityeventexporter - Issues: https://github.com/henrikrexed/SecurityEventExporter/issues
v0.1.1
OpenTelemetry Security Event Exporter v0.1.1
π Patch Release
This patch release includes important improvements to the JSON output format and conflict detection.
β¨ Changes
JSON Output Format
- Flattened Properties: All properties are now at the root level of the JSON object
- Removed
attributes.prefix from log attributes - Removed
resource.prefix from resource attributes - All properties are now directly accessible at the root level
- Removed
Conflict Detection
- Attribute Conflict Detection: Added detection and warning for conflicts between resource and log attributes
- Warning logs when a log attribute key conflicts with a resource attribute key
- Log attribute values will overwrite resource attribute values (with warning)
- New metric:
attribute_conflictscounter tracks the number of conflicts detected
Metrics Enhancement
- Added
attribute_conflictscounter to track attribute key conflicts - Included in telemetry metrics reporting
π§ Example Output
Before (v0.1.0)
{
"attributes.compliance.control": "check-sysctls",
"resource.k8s.cluster.name": "obs-security-event",
"message": "validation rule passed",
"timestamp": "2025-12-12T14:01:24Z"
}After (v0.1.1)
{
"compliance.control": "check-sysctls",
"k8s.cluster.name": "obs-security-event",
"message": "validation rule passed",
"timestamp": "2025-12-12T14:01:24Z"
}π Breaking Changes
attributes. or resource. are now at the root level without prefixes.
If you have downstream systems that depend on the prefixed format, you will need to update them.
π Bug Fixes
- Fixed JSON structure to have all properties at root level as expected by security event consumers
π¦ Installation
As a Go Module Dependency
go get github.com/henrikrexed/SecurityEventExporter@v0.1.1Or add directly to your go.mod:
require github.com/henrikrexed/SecurityEventExporter v0.1.1Using in OCB Manifest
exporters:
- gomod: github.com/henrikrexed/SecurityEventExporter v0.1.1Docker Image
docker pull ghcr.io/henrikrexed/securityeventexporter:v0.1.1π Changelog
v0.1.1
- β Flattened JSON output - all properties at root level
- β Added attribute conflict detection and warnings
- β
Added
attribute_conflictscounter metric - β Improved logging for conflict scenarios
π Links
- GitHub Repository: https://github.com/henrikrexed/SecurityEventExporter
- Docker Hub:
ghcr.io/henrikrexed/securityeventexporter - Issues: https://github.com/henrikrexed/SecurityEventExporter/issues
v0.1
Core Functionality
- Security Event Exporter: Transforms OpenTelemetry logs into structured security events as JSON payloads
- Event Batching: Efficiently batches multiple events in a single HTTP POST request for optimal performance
- Telemetry Metrics: Built-in metrics for monitoring:
- Logs received count
- Events exported count
- Events failed count
- Conversion errors count
- HTTP requests count and durations
- HTTP errors count
- Comprehensive Logging: Debug and error logging enabled via OpenTelemetry telemetry with configurable log levels
- Production Ready: Includes retry logic, error handling, timeout management, and comprehensive testing
Configuration Options
- HTTP Endpoint Configuration: Configurable endpoint for security event delivery
- Custom Headers: Support for API tokens and custom HTTP headers (e.g., Authorization, X-API-Key)
- Default Attributes: Add default attributes to all security events
- Timeout Management: Configurable HTTP request timeout (default: 30 seconds)
- Retry Settings: Configurable retry behavior for failed requests
- Queue Settings: Configurable queue behavior for batching
Data Transformation
- Converts OpenTelemetry log records to security event format
- Preserves resource attributes (prefixed with
resource.) - Preserves log attributes (prefixed with
attributes.) - Includes trace and span context when available
- Includes severity information and timestamps
- Supports both string and byte message bodies
π Documentation
- Live Documentation: https://henrikrexed.github.io/SecurityEventExporter/
- API Reference: docs/API.md
- Deployment Guide: docs/DEPLOYMENT.md
- Metrics Guide: docs/METRICS.md
- Logging Guide: docs/LOGGING.md