Skip to content

Commit ee30e83

Browse files
authored
[RFC 0053][Update] Stage2: New device fields (#2530)
1 parent 561a89d commit ee30e83

File tree

15 files changed

+746
-1
lines changed

15 files changed

+746
-1
lines changed

docs/reference/ecs-device.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ These fields are in beta and are subject to change.
2525
| $$$field-device-manufacturer$$$ [device.manufacturer](#field-device-manufacturer) | The vendor name of the device manufacturer.<br><br>type: keyword<br><br>example: `Samsung`<br><br>![OTel Badge](https://img.shields.io/badge/OpenTelemetry-4a5ca6?style=flat&logo=opentelemetry) [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) [device.manufacturer](https://opentelemetry.io/docs/specs/semconv/attributes-registry/device/#device-manufacturer) | extended |
2626
| $$$field-device-model-identifier$$$ [device.model.identifier](#field-device-model-identifier) | The machine readable identifier of the device model.<br><br>type: keyword<br><br>example: `SM-G920F`<br><br>![OTel Badge](https://img.shields.io/badge/OpenTelemetry-4a5ca6?style=flat&logo=opentelemetry) [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) [device.model.identifier](https://opentelemetry.io/docs/specs/semconv/attributes-registry/device/#device-model-identifier) | extended |
2727
| $$$field-device-model-name$$$ [device.model.name](#field-device-model-name) | The human readable marketing name of the device model.<br><br>type: keyword<br><br>example: `Samsung Galaxy S6`<br><br>![OTel Badge](https://img.shields.io/badge/OpenTelemetry-4a5ca6?style=flat&logo=opentelemetry) [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) [device.model.name](https://opentelemetry.io/docs/specs/semconv/attributes-registry/device/#device-model-name) | extended |
28+
| $$$field-device-product-id$$$ [device.product.id](#field-device-product-id) | _This field is beta and subject to change._ A unique identifier assigned by the vendor to distinguish different product models. This is typically a hexadecimal value that, combined with the vendor ID, creates a globally unique device identifier.<br><br>The product ID is assigned by the device manufacturer and should remain consistent across all instances of the same product model. For hardware devices, this often corresponds to the Product ID (PID) in device descriptors.<br><br>See https://learn.microsoft.com/en-us/windows-hardware/drivers/install/standard-usb-identifiers for more details on product identification standards.<br><br>type: keyword<br><br>example: `43981` | extended |
29+
| $$$field-device-product-name$$$ [device.product.name](#field-device-product-name) | _This field is beta and subject to change._ The human-readable marketing or commercial name of the device as designated by the manufacturer. This name is typically found in product documentation, marketing materials, or device packaging.<br><br>Unlike the product.id which is a technical identifier, this field contains the consumer-facing product name that would be recognizable to end users. The name should be exactly as provided by the manufacturer and may include model numbers, series designations, or other identifying information.<br><br>type: keyword<br><br>example: `Extreme V2 SSD` | extended |
2830
| $$$field-device-serial-number$$$ [device.serial_number](#field-device-serial-number) | _This field is beta and subject to change._ The unique serial number serves as a distinct identifier for each device, aiding in inventory management and device authentication.<br><br>type: keyword<br><br>example: `DJGAQS4CW5` | core |
31+
| $$$field-device-type$$$ [device.type](#field-device-type) | _This field is beta and subject to change._ A classification of the device based on its primary function or device class. This field categorizes devices into functional groups to enable policy enforcement and monitoring based on device capabilities.<br><br>The classification should follow standard device class definitions where possible, such as "Storage Device", "Human Interface Device", "Audio", "Video", "Network", "Communication", etc. This allows for consistent categorization across different device types and manufacturers.<br><br>See https://www.usb.org/defined-class-codes for standard device class definitions.<br><br>type: keyword<br><br>example: `Storage Device` | extended |
32+
| $$$field-device-vendor-id$$$ [device.vendor.id](#field-device-vendor-id) | _This field is beta and subject to change._ A unique identifier assigned to device manufacturers by standards organizations. This is typically a hexadecimal value that uniquely identifies the vendor/manufacturer of the device.<br><br>The vendor ID is assigned by standards bodies and remains consistent across all products from the same manufacturer. For hardware devices, this often corresponds to the Vendor ID (VID) in device descriptors. This identifier enables tracking and policy enforcement at the manufacturer level.<br><br>See https://learn.microsoft.com/en-us/windows-hardware/drivers/install/standard-usb-identifiers for more information on vendor identification standards.<br><br>type: keyword<br><br>example: `4660` | extended |
33+
| $$$field-device-vendor-name$$$ [device.vendor.name](#field-device-vendor-name) | _This field is beta and subject to change._ The name of the organization or company that manufactured or produced the device. This should be the official registered business name or commonly recognized brand name of the manufacturer.<br><br>The vendor name provides human-readable identification of the device manufacturer and should be consistent with the vendor.id field. This field is useful for reporting, device inventory management, and applying vendor-specific policies or security rules.<br><br>type: keyword<br><br>example: `SanDisk` | extended |
2934

3035

docs/reference/ecs-otel-alignment-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ The following table summarizes the alignment status by namespaces between ECS in
3838
| General Database | · | [14](https://opentelemetry.io/docs/specs/semconv/attributes-registry/db) | · | · | · | · | · | · | |
3939
| Deployment | · | [4](https://opentelemetry.io/docs/specs/semconv/attributes-registry/deployment) | · | · | · | · | · | · | |
4040
| Destination | [12](/reference/ecs-destination.md) | [2](https://opentelemetry.io/docs/specs/semconv/attributes-registry/destination) | 2 | · | · | · | · | · | · |
41-
| Device | [5](/reference/ecs-device.md) | [4](https://opentelemetry.io/docs/specs/semconv/attributes-registry/device) | 4 | · | · | · | · | · | · |
41+
| Device | [10](/reference/ecs-device.md) | [4](https://opentelemetry.io/docs/specs/semconv/attributes-registry/device) | 4 | · | · | · | · | · | · |
4242
| Disk | · | [1](https://opentelemetry.io/docs/specs/semconv/attributes-registry/disk) | · | · | · | · | · | · | |
4343
| DLL | [4](/reference/ecs-dll.md) | · | · | · | · | · | · | · | · |
4444
| DNS | [18](/reference/ecs-dns.md) | [1](https://opentelemetry.io/docs/specs/semconv/attributes-registry/dns) | 1 | · | · | · | · | · | · |

experimental/generated/beats/fields.ecs.yml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1230,6 +1230,36 @@
12301230
description: The human readable marketing name of the device model.
12311231
example: Samsung Galaxy S6
12321232
default_field: false
1233+
- name: product.id
1234+
level: extended
1235+
type: keyword
1236+
ignore_above: 1024
1237+
description: 'A unique identifier assigned by the vendor to distinguish different
1238+
product models. This is typically a hexadecimal value that, combined with
1239+
the vendor ID, creates a globally unique device identifier.
1240+
1241+
The product ID is assigned by the device manufacturer and should remain consistent
1242+
across all instances of the same product model. For hardware devices, this
1243+
often corresponds to the Product ID (PID) in device descriptors.
1244+
1245+
See https://learn.microsoft.com/en-us/windows-hardware/drivers/install/standard-usb-identifiers
1246+
for more details on product identification standards.'
1247+
example: 43981
1248+
default_field: false
1249+
- name: product.name
1250+
level: extended
1251+
type: keyword
1252+
ignore_above: 1024
1253+
description: 'The human-readable marketing or commercial name of the device
1254+
as designated by the manufacturer. This name is typically found in product
1255+
documentation, marketing materials, or device packaging.
1256+
1257+
Unlike the product.id which is a technical identifier, this field contains
1258+
the consumer-facing product name that would be recognizable to end users.
1259+
The name should be exactly as provided by the manufacturer and may include
1260+
model numbers, series designations, or other identifying information.'
1261+
example: Extreme V2 SSD
1262+
default_field: false
12331263
- name: serial_number
12341264
level: core
12351265
type: keyword
@@ -1238,6 +1268,53 @@
12381268
device, aiding in inventory management and device authentication.
12391269
example: DJGAQS4CW5
12401270
default_field: false
1271+
- name: type
1272+
level: extended
1273+
type: keyword
1274+
ignore_above: 1024
1275+
description: 'A classification of the device based on its primary function or
1276+
device class. This field categorizes devices into functional groups to enable
1277+
policy enforcement and monitoring based on device capabilities.
1278+
1279+
The classification should follow standard device class definitions where possible,
1280+
such as "Storage Device", "Human Interface Device", "Audio", "Video", "Network",
1281+
"Communication", etc. This allows for consistent categorization across different
1282+
device types and manufacturers.
1283+
1284+
See https://www.usb.org/defined-class-codes for standard device class definitions.'
1285+
example: Storage Device
1286+
default_field: false
1287+
- name: vendor.id
1288+
level: extended
1289+
type: keyword
1290+
ignore_above: 1024
1291+
description: 'A unique identifier assigned to device manufacturers by standards
1292+
organizations. This is typically a hexadecimal value that uniquely identifies
1293+
the vendor/manufacturer of the device.
1294+
1295+
The vendor ID is assigned by standards bodies and remains consistent across
1296+
all products from the same manufacturer. For hardware devices, this often
1297+
corresponds to the Vendor ID (VID) in device descriptors. This identifier
1298+
enables tracking and policy enforcement at the manufacturer level.
1299+
1300+
See https://learn.microsoft.com/en-us/windows-hardware/drivers/install/standard-usb-identifiers
1301+
for more information on vendor identification standards.'
1302+
example: 4660
1303+
default_field: false
1304+
- name: vendor.name
1305+
level: extended
1306+
type: keyword
1307+
ignore_above: 1024
1308+
description: 'The name of the organization or company that manufactured or produced
1309+
the device. This should be the official registered business name or commonly
1310+
recognized brand name of the manufacturer.
1311+
1312+
The vendor name provides human-readable identification of the device manufacturer
1313+
and should be consistent with the vendor.id field. This field is useful for
1314+
reporting, device inventory management, and applying vendor-specific policies
1315+
or security rules.'
1316+
example: SanDisk
1317+
default_field: false
12411318
- name: dll
12421319
title: DLL
12431320
group: 2

experimental/generated/csv/fields.csv

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,12 @@ ECS_Version,Indexed,Field_Set,Field,Type,Level,Normalization,Example,Description
146146
9.2.0-dev+exp,true,device,device.manufacturer,keyword,extended,,Samsung,The vendor name of the device manufacturer.
147147
9.2.0-dev+exp,true,device,device.model.identifier,keyword,extended,,SM-G920F,The machine readable identifier of the device model.
148148
9.2.0-dev+exp,true,device,device.model.name,keyword,extended,,Samsung Galaxy S6,The human readable marketing name of the device model.
149+
9.2.0-dev+exp,true,device,device.product.id,keyword,extended,,43981,ProductID of the device
150+
9.2.0-dev+exp,true,device,device.product.name,keyword,extended,,Extreme V2 SSD,Product name of the device
149151
9.2.0-dev+exp,true,device,device.serial_number,keyword,core,,DJGAQS4CW5,Serial Number of the device
152+
9.2.0-dev+exp,true,device,device.type,keyword,extended,,Storage Device,Device type classification
153+
9.2.0-dev+exp,true,device,device.vendor.id,keyword,extended,,4660,VendorID of the device
154+
9.2.0-dev+exp,true,device,device.vendor.name,keyword,extended,,SanDisk,Vendor name of the device
150155
9.2.0-dev+exp,true,dll,dll.code_signature.digest_algorithm,keyword,extended,,sha256,Hashing algorithm used to sign the process.
151156
9.2.0-dev+exp,true,dll,dll.code_signature.exists,boolean,core,,true,Boolean to capture if a signature is present.
152157
9.2.0-dev+exp,true,dll,dll.code_signature.flags,keyword,extended,,570522385,Code signing flags of the process

experimental/generated/ecs/ecs_flat.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1858,6 +1858,46 @@ device.model.name:
18581858
stability: development
18591859
short: The human readable marketing name of the device model.
18601860
type: keyword
1861+
device.product.id:
1862+
beta: This field is beta and subject to change.
1863+
dashed_name: device-product-id
1864+
description: 'A unique identifier assigned by the vendor to distinguish different
1865+
product models. This is typically a hexadecimal value that, combined with the
1866+
vendor ID, creates a globally unique device identifier.
1867+
1868+
The product ID is assigned by the device manufacturer and should remain consistent
1869+
across all instances of the same product model. For hardware devices, this often
1870+
corresponds to the Product ID (PID) in device descriptors.
1871+
1872+
See https://learn.microsoft.com/en-us/windows-hardware/drivers/install/standard-usb-identifiers
1873+
for more details on product identification standards.'
1874+
example: 43981
1875+
flat_name: device.product.id
1876+
ignore_above: 1024
1877+
level: extended
1878+
name: product.id
1879+
normalize: []
1880+
short: ProductID of the device
1881+
type: keyword
1882+
device.product.name:
1883+
beta: This field is beta and subject to change.
1884+
dashed_name: device-product-name
1885+
description: 'The human-readable marketing or commercial name of the device as designated
1886+
by the manufacturer. This name is typically found in product documentation, marketing
1887+
materials, or device packaging.
1888+
1889+
Unlike the product.id which is a technical identifier, this field contains the
1890+
consumer-facing product name that would be recognizable to end users. The name
1891+
should be exactly as provided by the manufacturer and may include model numbers,
1892+
series designations, or other identifying information.'
1893+
example: Extreme V2 SSD
1894+
flat_name: device.product.name
1895+
ignore_above: 1024
1896+
level: extended
1897+
name: product.name
1898+
normalize: []
1899+
short: Product name of the device
1900+
type: keyword
18611901
device.serial_number:
18621902
beta: This field is beta and subject to change.
18631903
dashed_name: device-serial-number
@@ -1871,6 +1911,68 @@ device.serial_number:
18711911
normalize: []
18721912
short: Serial Number of the device
18731913
type: keyword
1914+
device.type:
1915+
beta: This field is beta and subject to change.
1916+
dashed_name: device-type
1917+
description: 'A classification of the device based on its primary function or device
1918+
class. This field categorizes devices into functional groups to enable policy
1919+
enforcement and monitoring based on device capabilities.
1920+
1921+
The classification should follow standard device class definitions where possible,
1922+
such as "Storage Device", "Human Interface Device", "Audio", "Video", "Network",
1923+
"Communication", etc. This allows for consistent categorization across different
1924+
device types and manufacturers.
1925+
1926+
See https://www.usb.org/defined-class-codes for standard device class definitions.'
1927+
example: Storage Device
1928+
flat_name: device.type
1929+
ignore_above: 1024
1930+
level: extended
1931+
name: type
1932+
normalize: []
1933+
short: Device type classification
1934+
type: keyword
1935+
device.vendor.id:
1936+
beta: This field is beta and subject to change.
1937+
dashed_name: device-vendor-id
1938+
description: 'A unique identifier assigned to device manufacturers by standards
1939+
organizations. This is typically a hexadecimal value that uniquely identifies
1940+
the vendor/manufacturer of the device.
1941+
1942+
The vendor ID is assigned by standards bodies and remains consistent across all
1943+
products from the same manufacturer. For hardware devices, this often corresponds
1944+
to the Vendor ID (VID) in device descriptors. This identifier enables tracking
1945+
and policy enforcement at the manufacturer level.
1946+
1947+
See https://learn.microsoft.com/en-us/windows-hardware/drivers/install/standard-usb-identifiers
1948+
for more information on vendor identification standards.'
1949+
example: 4660
1950+
flat_name: device.vendor.id
1951+
ignore_above: 1024
1952+
level: extended
1953+
name: vendor.id
1954+
normalize: []
1955+
short: VendorID of the device
1956+
type: keyword
1957+
device.vendor.name:
1958+
beta: This field is beta and subject to change.
1959+
dashed_name: device-vendor-name
1960+
description: 'The name of the organization or company that manufactured or produced
1961+
the device. This should be the official registered business name or commonly recognized
1962+
brand name of the manufacturer.
1963+
1964+
The vendor name provides human-readable identification of the device manufacturer
1965+
and should be consistent with the vendor.id field. This field is useful for reporting,
1966+
device inventory management, and applying vendor-specific policies or security
1967+
rules.'
1968+
example: SanDisk
1969+
flat_name: device.vendor.name
1970+
ignore_above: 1024
1971+
level: extended
1972+
name: vendor.name
1973+
normalize: []
1974+
short: Vendor name of the device
1975+
type: keyword
18741976
dll.code_signature.digest_algorithm:
18751977
dashed_name: dll-code-signature-digest-algorithm
18761978
description: 'The hashing algorithm used to sign the process.

0 commit comments

Comments
 (0)