Overview
Osuite Log Management gives you a fast, unified view of log data from every part of your stack — applications, servers, containers, and Kubernetes pods. All logs flow through the OpenTelemetry Protocol (OTLP), which means they arrive pre-enriched with resource context and are automatically correlated with traces when trace and span IDs are present.
How logs work in Osuite
Every log record in Osuite follows the OpenTelemetry Log Data Model. Regardless of where a log originates, it arrives with a consistent structure:
| Field | Description |
|---|---|
Timestamp | When the log was emitted |
SeverityText / SeverityNumber | Log level (INFO, WARN, ERROR, etc.) |
Body | The log message (string or structured object) |
Attributes | Key-value pairs scoped to this log record |
Resource | Attributes describing the source — service name, host, k8s pod |
TraceId / SpanId | Present when the log was emitted inside a traced request |
When TraceId is present, Osuite links the log record to its trace. From the Logs Explorer you can jump directly to the full trace with one click.
What you can do with logs
Search and filter
The Logs Explorer provides full-text search across all log fields with fast response times, even across millions of events. You can filter by:
- Severity level
- Service name or resource attributes
- Time range (absolute or relative)
- Any attribute key-value pair
- Free-text search across the log body
Trace correlation
When your application emits logs through the OpenTelemetry SDK (or through a bridge like the Winston or Logback integrations), every log record carries the trace_id and span_id of the active request. This means:
- In the Logs Explorer, you can filter by
trace_idto see every log emitted during a specific request - In the Trace view, you can see all the logs realted to that trace in “Related logs” section.
- You never have to manually correlate log timestamps with trace timelines
Retention and archival
Log retention is configurable. You can archive older logs to S3-compatible storage for compliance or long-term analysis without keeping them hot in Osuite’s search index.
Log sources
| Source | How to send logs | Guide |
|---|---|---|
| Application (Node.js, Python, Go, Java) | OTel SDK log bridge or logger integration | Logs from Applications |
| Servers and hosts | OTel Collector filelog receiver | Logs from Servers |
| Docker containers | OTel Collector docker_stats or filelog | Logs from Servers |
| Kubernetes pods | OTel Collector k8sobjects receiver | Logs from Servers |
| Syslog | OTel Collector syslog receiver | Logs from Servers |
Next steps
- Logs from Applications — Send structured logs from Node.js, Python, Go, and Java applications
- Logs from Servers and Environments — Collect log files, Docker output, Kubernetes pods, and syslog using the OTel Collector