Report
Read events from OpenTelemetry Collector to transform into typed TenXObjects for aggregation and reporting. This module is a component of the Edge Reporter app.
Architecture
graph LR
A["<div style='font-size: 14px;'>📂 OTel Receivers</div><div style='font-size: 10px;'>filelog, otlp</div>"] --> B["<div style='font-size: 14px;'>📤 syslog</div><div style='font-size: 10px;'>exporter</div>"]
B --> C["<div style='font-size: 14px;'>🔌 Unix Socket</div><div style='font-size: 10px;'>RFC5424</div>"]
C --> D["<div style='font-size: 14px;'>⚡ 10x Reporter</div><div style='font-size: 10px;'>metrics only</div>"]
A --> E["<div style='font-size: 14px;'>📤 Final Exporters</div><div style='font-size: 10px;'>ES, Splunk, S3</div>"]
classDef receiver fill:#2563eb,stroke:#1d4ed8,color:#ffffff,stroke-width:2px,rx:8,ry:8
classDef exporter fill:#ea580c,stroke:#c2410c,color:#ffffff,stroke-width:2px,rx:8,ry:8
classDef socket fill:#0891b2,stroke:#0e7490,color:#ffffff,stroke-width:2px,rx:8,ry:8
classDef engine fill:#7c3aed,stroke:#6d28d9,color:#ffffff,stroke-width:2px,rx:8,ry:8
classDef output fill:#16a34a,stroke:#15803d,color:#ffffff,stroke-width:2px,rx:8,ry:8
class A receiver
class B exporter
class C socket
class D engine
class E output
Data Flow
- 📂 OTel Receivers - Collect logs from files, OTLP, or other sources
- 📤 Syslog Exporter - Sends logs to Log10x via Unix socket (RFC5424 format)
- ⚡ 10x Reporter - Transforms events, aggregates metrics, publishes to time-series DBs
- 📤 Final Exporters - Logs flow in parallel to final destinations (unmodified)
Key Characteristics
| Feature | Description |
|---|---|
| 📊 Read-Only | Reporter only collects metrics - does not modify event flow |
| 🔀 Parallel Flow | Logs go to BOTH Log10x AND final exporters simultaneously |
| 📈 Metrics Output | Publishes aggregated metrics to Prometheus, Datadog, etc. |
| 🚫 No Return Path | No fluentforward receiver needed for reporter mode |
Unix Socket Input
This module configures a Unix socket input that receives RFC5424 syslog events from OpenTelemetry Collector's syslogexporter to aggregate and publish to time-series outputs.
Install
See the Log10x Edge Reporter OTel Collector run instructions
Deploy to k8s via Helm
See the Log10x Edge Reporter OTel Collector deployment instructions
Configuration
To configure the OpenTelemetry Collector reporter module, Edit these settings.
Below is the default configuration from: report/config.yaml.
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJpbmNsdWRlIiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVueCIgOiB7CiAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICB9CiAgfSwKICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UKfQ==
# 🔟❎ 'run' OpenTelemetry Collector reporter configuration
#
# Configure an input that reads events from OpenTelemetry Collector via syslog
# for metrics collection. Reporter does not write events back to OTel Collector.
#
# Architecture:
# OTel Collector --[syslog/unix]--> Log10x Reporter (metrics only)
# \--[exporters]--> Final destinations (parallel)
#
# Usage:
# tenx run @run/input/forwarder/otel-collector/report @apps/edge/reporter
# Set the 10x pipeline to 'run'
tenx: run
# =============================== Dependencies ================================
# Read events from OTel Collector via Unix socket with syslog parsing
include: run/modules/input/forwarder/otel-collector/input
# ========================= Configuration Options =============================
# Reporter only reads events for metrics - no output back to OTel Collector
# OTel Collector should send logs to both Log10x AND final destinations in parallel
This module is defined in report/module.yaml.