-
Epic
-
Resolution: Done
-
Normal
-
None
-
None
Goals
- Specify alternate encodings for log output records such as json, protobuf or raw text.
- Control size of meta-data in log output records by selecting fields to include or exclude
-
- Select pre-defined small, medium or large field sets based on common use patterns.
- Select specific fields to include or exclude
- Choose the schema (field names an structore) of log records; for exmaple viaq or opentelemetry
Non-Goals
- Not supporting aribtrary re-naming or transformation of meta-data fields, only selection of existing fields
- Not supporting open-ended or user-defined log schema, only pre-defined schema.
- Does not include OTLP protocol outputs (this may implemented separately)
- Does not include new encodings (e.g. grpc, protobuf) but allows for them to be added later. This epic only covers json and plain text encoding.
Motivation
- Some logs are already structured and carry their own meta-data, users want to consume in the original format.
- Examples: netflow events, k8s events.
- Users want to reduce the overhead of unused meta-data in log records.
- Users want to forward logs to tools that understand a particular scheme, for example opentelemetry
Alternatives
None.
Acceptance Criteria
Tests to verify:
- Log output includes exactly the fields selected by configuration
- Log output uses the selected schema labels selected by configuration
- Log output uses the selected encoding
Risk and Assumptions
- Custom log records may not be consumable by some targets, for example:
- openshift log console assumes at least minimal source fields are present.
- elasticsearch requires special fields for indexing.
- tools expecting viaq logs cannot consume opentelemetry logs and vice-versa
Documentation Considerations
See LOG-2920.
Open Questions
- Define small/medium/large field sets
- Verify formatting expectations of opentelemetry tools
- blocks
-
OBSDA-227 Alternate log normalization models
- New
- depends on
-
LOG-2920 API design for alternate data models
- Closed
- is duplicated by
-
OBSDA-52 Filter the content of the json parsed logs
- Closed
- is incorporated by
-
LOG-2155 Filter log messages based on metadata and content.
- Closed
- is related to
-
LOG-1343 Multiple forwarders to support managed logging and other use cases
- Closed
-
LOG-1654 Send audit logs consistently with other logs using the common logging data model
- Closed
- relates to
-
LOG-3987 Add metadata to kubernetes event logs
- Planning
-
LOG-4225 Log collection tech-preview of Open Telemetry Data Model
- Closed
-
OBSDA-228 Log filtering and collecting
- Closed
- links to