fleetdm / fleet

Open-source platform for IT, security, and infrastructure teams. (Linux, macOS, Chrome, Windows, cloud, data center)
https://fleetdm.com
Other
3.16k stars 433 forks source link

Display human-readable product name in hardware model for Linux hosts #21648

Open ddribeiro opened 3 months ago

ddribeiro commented 3 months ago

Problem

As an IT admin, I want Fleet to display human-readable hardware models for Linux hosts so I can easily identify the hardware model and know if it's supported.

Customer: This is important for us as it allows us to quickly identify hosts' make and model, and also identify if a user is using non-standard hardware.

What have you tried?

Fleet currently populates a hardware model field for Linux hosts, but is not human-readable or useful at a glance. For example, with a ThinkPad X1 Carbon Gen 12, Fleet currently displays 21KCS06300.

Potential solutions

It might be possible to grab this human-readable hardware model by modifying the vital query that gets run on Windows hosts. It might be possible to grab this from the smbios_tables. I unfortunately don't have physical Linux hardware to test this with.

What is the expected workflow as a result of your proposal?

When an IT admin views a Linux host in Fleet, they would see a hardware model like `21KCS06300 ThinkPad X1 Carbon Gen 12` instead of just `21KCS06300`. The admin would be able to quickly identify the hardware model to know if it's supported in their environment or not.
JoStableford commented 3 months ago

Related to a Slack conversation

noahtalerman commented 3 months ago

It might be possible to grab this human-readable hardware model by modifying the vital query that gets run on Windows hosts. It might be possible to grab this from the smbios_tables. I unfortunately don't have physical Linux hardware to test this with.

Hey @ddribeiro I'm assuming you mean we could update the vital query on Linux hosts, right?

I think many folks on the Fleet engineering/QA team have Linux boxes.

When you get the chance, can you please drop a question in #help-engineering Slack channel to get help w/ crafting a query for this friendly name?

zayhanlon commented 2 months ago

hey @ddribeiro - taking this into our team board (possibly one to chat with zach about for the off site for this customer too) but let me know if you can try noah's suggestion above! thanks

ddribeiro commented 2 months ago

It looks like on Linux we can get this information from the hardware_version column of system_info.

The vital query we're already using should contain this column, so I think it's a matter of displaying that value for Linux hosts instead of hardware_model like we're doing today.

I think the desired format for the string would be hardware_version + hardware_model (for Linux hosts only).

cc: @noahtalerman

noahtalerman commented 2 months ago

@ddribeiro that makes sense. Thanks for looking into that.

Worth bringing this one through feature fest. It sounds like a quick win.

cc @zayhanlon