Skip to content

Fleet Dashboard

Neil Martin edited this page Sep 18, 2026 · 1 revision

Fleet Dashboard (v1.31.0+)

jamf-cli dashboard generates one self-contained HTML report covering fleet health, security posture, audit findings and environment counts across Jamf Pro, Jamf Protect and the Platform API. Alias: db.

The file carries no external assets, so you can attach it to a ticket or mail it to someone with no Jamf access. Its theme follows the reader's OS light/dark preference.

jamf-cli dashboard -p prod-pro --out-file report.html

Three commands report on an instance and they are not interchangeable:

Command What it is
dashboard A shareable cross-product HTML document
pro overview The same fleet data as a terminal table
pro dashboard Manages the Jamf Pro interface's own dashboard objects

Two collection tiers

The default run is fixed-cost: fleet counts, security posture, OS distribution, check-in compliance, audit findings and environment object counts. It costs ⌈C/500⌉ + ~22 requests for C computers, so it stays cheap on any fleet size.

--full adds patch compliance, hardware models, cleanup analysis, org structure with per-category object counts, and the four audit checks whose cost grows with the fleet or the policy count. It adds 2 requests per patch title, 1 per policy, 1 per configuration profile, and 1 per Mac or mobile app, mobile profile and printer, reusing the fast tier's inventory pass. On a 10,000-device instance with 30 patch titles and 300 configuration objects that is roughly 500 further requests and 60 to 120 seconds.

jamf-cli dashboard -p prod-pro --full --out-file full-report.html

Flags

Flag Description
--full Collect the extended sections; cost grows with instance size
--include-profile Pull another product's profile into the same report (repeatable)
--smart-groups Smart group names to visualize (repeatable)
--title Report title (default Jamf Fleet Dashboard)

Profiles and products

The report covers the profile named by the global -p/--profile, then JAMF_PROFILE, then the configured default. With no profile it falls back to --url plus JAMF_TOKEN or JAMF_CLIENT_ID/JAMF_CLIENT_SECRET, the same chain every other command walks.

--include-profile adds a second product to one report. The profiles must be of different product types, since one report holds one set of each product's sections. A platform profile already collects the Jamf Pro sections, so it cannot be combined with a pro profile. Every profile is authenticated before any collection begins.

jamf-cli dashboard -p prod-pro --include-profile prod-protect --out-file report.html
jamf-cli dashboard -p my-platform --include-profile my-protect --title "Q2 Fleet Report"

A section for a product the credential cannot reach is omitted, not failed. A platform profile scoped to an environment with no Security Cloud tenant prints one warning per collection and still exits 0:

dashboard: Jamf Security Cloud is not available to this credential — omitting the section

Destination

Prefer the global --out-file. HTML goes to stdout, so a shell redirect also captures the error envelope a partially-collected run writes there, which then lands inside the report file itself.

These inherited global flags are not honoured: -o/--output, --field, --select and --compact shape tabular output and mean nothing for an HTML document, and -n/--dry-run has nothing to preview because the report is read-only. --allow-partial-failure is honoured.

Exit codes

A report is written whether or not every section was collected, so a run that dropped one must not exit 0 by default: a pipeline treating the report as authoritative needs to know it is incomplete.

Outcome Exit
Every section collected, or a product omitted for lack of entitlement 0
Some sections collected, some failed 7
Some failed, with --allow-partial-failure 0, with a warning
Nothing collected The code that stopped the first fetch, e.g. 3 for auth

An incomplete report also carries an in-HTML banner naming what is missing, so a reader who has only the file is not misled by it. The per-section warnings name each failure on stderr, and the structured error carries failed_sections and total_sections.

Over MCP

The MCP server exposes this as the generate_report tool, which writes the file into a configured directory and returns its path rather than the HTML itself. See MCP Server. run_command refuses dashboard, because it returns a command's stdout as tool text and the report is a 320 to 800 KB document.

See Also

jamf-cli Wiki


Products

  • Jamf Pro: jamf-cli pro
  • Jamf Platform API: jamf-cli pro (blueprints, benchmarks, DDM reports)
  • Jamf Platform: jamf-cli platform (AI Governance, Jamf Account, audit)
  • Jamf Protect: jamf-cli protect
  • Jamf School: jamf-cli school
  • Jamf Security Cloud: jamf-cli security

Clone this wiki locally