A device successfully communicating with Jamf is a critical component of device management. If a client stops checking in, everything else stops.
Jamf Pro doesn’t have guard rails in place for when it runs policies or inventory updates to ensure communication remains stable. One primary concern is the jamf process doesn’t place time limits on how long a policy or extension attribute is allowed to run. In addition to this, all tasks are run sequentially.
If a single process hangs this will cause all other pending tasks to wait indefinitely for it to complete, which may never happen. In the Jamf Pro Server console this may reflect computers not properly having the inventory updated or will only run some policies on an infrequent basis. Additionally, Jamf may still list the computer as “checking in,” however there may usually be little to no policy logs.
One stuck policy can ruin your MDM's day. You can avoid this.
Objects that will cause a hang:
A script that waits for user input
A script that implements Jamf Helper without the -timeout flag
A script that runs a child process which subsequently hangs
The computer goes to sleep during the check-in process
Mann manages a large number of individual Jamf instances for our customers, it’s not always possible to audit every check-in to make sure it’s successful. We’ve designed the Jamf Client Communications Doctor (“The Doctor”) to help make sure that these common issues don’t have a negative impact on your computer's ability to communicate with Jamf.
As a local service installed on each computer, The Doctor implements a limit on how long an policy or extension attribute is allowed to run. If that limit is reached, action is taken to terminate the process and provide a useful log so you can identify the root cause of the issue.
This is just one of many workflows we’ve carefully curated to fit a Jamf instance of any size, because it is so helpful we’re providing it to the entire Jamf community. To see more of what we’re working on for our customers check out the following links:
The Doctor is available to download on our public github repo