Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[jamf_pro]: Normalize macOS version number #12799

Open
dkdavlar opened this issue Feb 17, 2025 · 11 comments · May be fixed by #12834
Open

[jamf_pro]: Normalize macOS version number #12799

dkdavlar opened this issue Feb 17, 2025 · 11 comments · May be fixed by #12834
Assignees
Labels
Integration:jamf_pro Jamf Pro needs:triage Team:Security-Service Integrations Security Service Integrations Team [elastic/security-service-integrations]

Comments

@dkdavlar
Copy link

Integration Name

Jamf Pro [jamf_pro]

Dataset Name

inventory

Integration Version

0.2.3

Agent Version

8.15.5

OS Version and Architecture

Windows Server 2022 Datacenter 21H2 - Build 20348.2849

User Goal

I want to use the reporting for macOS versions.

Existing Features

The macOS version is currently imported, but because the version is not normalized, then each version can be written in two different ways making dashboards using this data useless.

What did you see?

Jamf has two ways of collecting macOS versions:

  • Using the Jamf binary which returns the version like: 15.1.0
  • Using Declarative Device Management which will only return 15.1

This means that the dashboard looks like this and is pretty much useless:

Image

Anything else?

Should this be fixed on Jamfs end? Probably, but it's been an open issue for several years.

@narph narph added Integration:jamf_pro Jamf Pro Team:Security-Service Integrations Security Service Integrations Team [elastic/security-service-integrations] labels Feb 18, 2025
@elasticmachine
Copy link

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

@jamiehynds
Copy link

jamiehynds commented Feb 18, 2025

Thanks for the ER @dkdavlar. I confirmed with Jamf that they only expose the OS number and we'll therefore have to do the normalisation on our end.

Our engineering team can look at what approach we can take, but will likely require a painless script in our pipeline to take the os.version ECS field and use those values to normalise the values to populate os.name. e.g. v15.* = Sequoia

For our engineering team's reference, here's the os version and OS names:

macOS Version OS Name
15 Sequoia
14 Sonoma
13 Ventura
12 Monterey
11 Big Sur
10.15 Catalina
10.14 Mojave
10.13 High Sierra
10.12 Sierra
10.11 El Capitan
10.10 Yosemite
10.9 Mavericks

@dkdavlar
Copy link
Author

Thanks for looking into this @jamiehynds

Just to be clear, all I want is that Elastic normalize the version number so 15.1 becomes 15.1.0 (Or the other way around).

@jamiehynds
Copy link

Ah, sorry. We can take a look as to how we'd manage that within the pipeline. Out of curiosity, would displaying the "friendly" OS name provide any value or you think the version numbers are typically ok?

@dkdavlar
Copy link
Author

Also having a field with the "friendly" name would also bring value for sure :)

@jamiehynds
Copy link

Thanks for jumping on this one @efd6. Is it possible to also populate the os.full field based on converting the version numbers to "friendly" os name based on the table above?

@efd6
Copy link
Contributor

efd6 commented Feb 19, 2025

Sure, I'll add that in.

@efd6
Copy link
Contributor

efd6 commented Feb 19, 2025

Do we want that capitalisation, or lowercase?

@jamiehynds
Copy link

Lowercase is probably easier when searching etc, so let's go with that.

@efd6
Copy link
Contributor

efd6 commented Feb 19, 2025

@dkdavlar Please take a look at the PR.

@dkdavlar
Copy link
Author

@efd6 Looks good!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Integration:jamf_pro Jamf Pro needs:triage Team:Security-Service Integrations Security Service Integrations Team [elastic/security-service-integrations]
Projects
None yet
5 participants