Troubleshooting
App doesn't appear in menu bar
- Check if Pulse Endpoint is running in headless mode:
/usr/local/bin/pulse --status - Disable headless mode:
/usr/local/bin/pulse --no-headless
No metrics being collected
- Verify monitoring started (button shows "Stop")
- Check destination configured (local storage or Splunk)
- Check status:
/usr/local/bin/pulse --status
Can't connect to Splunk
- Verify HEC URL format:
https://host:8088/services/collector/event - Test token:
curl -k $URL -H "Authorization: Splunk $TOKEN" -d '{"event":"test"}' - Try
verifySSL: falsefor self-signed certificates
Seeing 'top' or 'ps' in process lists
Pulse Endpoint uses /bin/ps for CPU/process data and /usr/bin/top for memory footprint. This is by design — Pulse Endpoint runs entirely in user context with no elevation or root privileges required. Using top allows Pulse Endpoint to collect memory metrics for all processes system-wide without needing admin rights, keeping your security posture clean.
- Why top? It provides memory footprint for all users' processes without requiring elevated privileges — essential for a zero-privilege monitoring tool
- Async architecture: Pulse Endpoint runs
psandtopon separate timers so they don't appear in each other's output — you won't see them in your process lists - Still seeing them? Pulse Endpoint automatically filters
topandpsfrom its built-in dashboard, but they may still appear in Splunk data since the raw metrics are shipped unfiltered
Metrics not appearing in Splunk
- Verify upload is enabled:
uploadEnabled: true - Check HEC endpoint format:
https://host:8088/services/collector/event - Test HEC token manually:
curl -k $URL -H "Authorization: Splunk $TOKEN" -d '{"event":"test"}' - Check logs for upload errors:
grep upload ~/Library/Logs/Pulse Endpoint/pulse.log - Verify the HEC token has permission to write to the configured index
How to fully uninstall Pulse Endpoint
Two options — pick whichever fits your workflow:
Option 1 — Uninstaller PKG (recommended for fleets)
A signed + notarized Pulse-Uninstaller.pkg you can deploy via MDM or run locally. Idempotent — safe on systems where Pulse was never installed.
sudo installer -pkg Pulse-Uninstaller.pkg -target /Option 2 — Uninstall script
curl -O https://pulseformac.com/uninstall.sh
sudo bash uninstall.shBoth paths remove: /Applications/Pulse Endpoint.app, /usr/local/bin/pulse, the root helper daemon (com.qlabs.pulse.helper), both current and legacy LaunchAgent labels (com.qlabs.pulse.agent + com.qlabs.pulse), application support data, logs, preferences, caches, saved state, and PKG receipts — across all user accounts. A log is written to /private/var/log/pulse-uninstaller.log. MDM-managed preferences are intentionally preserved.
See Files & Logging for information on enabling verbose logging, log format, and file locations.