[pkg/ottl] Support for extracting OS attributes from UserAgent #35458
Description
Component(s)
pkg/ottl
Is your feature request related to a problem? Please describe.
UserAgent semantic convention attributes can be extracted using the OTTL UserAgent function: https://github.com/pchila/opentelemetry-collector-contrib/tree/7da12e47eb9cf719aa593f9935bce9ba72844703/pkg/ottl/ottlfuncs#useragent (implemented in #34172)
The current extracted attributes are user_agent.name, user_agent.version and user_agent.original. But more information can be extracted from the user_agent.original
string, like the OS related information.
Semantic conventions proposal: open-telemetry/semantic-conventions#1433
Current Elastic ECS user_agent OS attributes: https://www.elastic.co/guide/en/ecs/current/ecs-user_agent.html#_field_reuse_30
Describe the solution you'd like
Extract additional fields from the user_agent:
- user_agent.os.type
- user_agent.os.name
- user_agent.os.version
- user_agent.os.build_id
- user_agent.os.description
Describe alternatives you've considered
No response
Additional context
This functionally would be very helpful for logs/metrics analytics, for example, a Nginx Ingress Controller log record contains the user-agent, this function could be configured in the collector to extract the OS information from all Nginx logs. Dashboards and alerts can be built over this information; OS with most errors? Which are the most common OS versions? etc.