macOS

The Nexus Telemetry Fleet collector installs on macOS from a signed, notarised package. One universal build covers Apple silicon and Intel. The package installs a launch daemon and a menu bar app.

Install

Download the macOS installer

Download the package and double-click it. The package is signed with a Developer ID and notarised by Apple. The install writes collector.toml on a first install only, starts the collector, and adds the Nexus Telemetry Fleet Collector menu bar app. Open Settings… in its menu opens the setup page for enrolment.

Command-line install

The Add telemetry collector window generates these commands with the current version.

bash
curl -fsSLO https://fleet-downloads.nexustelemetry.com/fleet/stable/<version>/NexusFleetCollector-<version>.pkg
shasum -a 256 NexusFleetCollector-<version>.pkg   # expect <sha256>
sudo installer -pkg NexusFleetCollector-<version>.pkg -target /

The hash must match the expected value in the generated command. If it does not, fetch the file again.

Enrol

Setup page

Open the setup page from the menu bar app and enter the fleet server’s address and the enrolment token from the Add telemetry collector window. launchd restarts the collector.

Command-line enrolment

Run the enrol command with sudo. The data directory belongs to root.

bash
sudo nf-collector enrol --server <your-address> --token <token> --name '<terminal name>'

The running service reads the new certificate without a restart. If the terminal has not appeared on the dashboard after a minute, restart the service.

Service

The collector is a launch daemon, com.nexustelemetry.nf-collector. It starts at boot as root whether or not anyone is signed in, and launchd restarts it 5 seconds after it stops.

Action Command
Stop sudo launchctl bootout system/com.nexustelemetry.nf-collector
Start sudo launchctl bootstrap system /Library/LaunchDaemons/com.nexustelemetry.nf-collector.plist
Restart sudo launchctl kickstart -k system/com.nexustelemetry.nf-collector

The menu bar app, Nexus Telemetry Fleet Collector, is a separate program. It runs only while someone is signed in to the Mac. Quitting it does not stop the collector. See Setup page for its menu.

Logs and paths

What Where
Binary /usr/local/bin/nf-collector
Config /Library/Application Support/NexusFleet/collector.toml
Data directory /Library/Application Support/NexusFleet
Logs A rolling copy at /Library/Application Support/NexusFleet/logs/collector.log, 5 files of 10 MB each. launchd also writes everything to /Library/Logs/NexusFleet/collector.log, with no size limit
Service name com.nexustelemetry.nf-collector, in /Library/LaunchDaemons
Service user root
Menu bar app /Applications/Nexus Telemetry Fleet Collector.app

Update

Update on the dashboard downloads the newer package, checks its hash and its Developer ID signature, and installs it. The install replaces and restarts the collector. If either check fails, nothing is installed. By hand, install the newer package over the older one.

bash
sudo installer -pkg NexusFleetCollector-<version>.pkg -target /

The config and the enrolment are unchanged. Do not enrol it again.

Remove

To reinstall the collector later on the same Mac, run the uninstaller with --keep-data. It removes the collector, the launch daemon and the menu bar app, and leaves the data directory. Do not decommission the collector on the dashboard.

bash
sudo nf-collector-uninstall --keep-data

The dashboard shows the terminal as offline until the collector is reinstalled. The data stays in /Library/Application Support/NexusFleet, and the reinstalled collector reconnects to the same record.

Purge

To remove the collector permanently, decommission it on the dashboard first, while it is online. The collector deletes its enrolment and the dashboard marks its record decommissioned. Remove on the dashboard deletes the record. See Retire and revoke. Then remove everything the package installed and the data directory.

bash
sudo nf-collector-uninstall

No collector files remain on the Mac. A collector installed on the Mac later enrols as a new collector, with a new record on the dashboard.