"Unable to connect" checklist
- Check the path field. It should contain only the base path — usually
nagios. If it containscgi-bin,status.cgi, or a full URL, connections will fail. See the field-by-field guide. - Run the browser test. On any device that can reach the server, open:
After logging in you should see JSON. If this fails in a browser, the problem is on the server or network side, not in NagMon. (A 404 here usually means Nagios Core older than 4.0.7 — the JSON CGIs don't exist yet.)http(s)://yourhost/nagios/cgi-bin/statusjson.cgi?query=hostlist - Same network? For an internal server, your phone must be on the same Wi‑Fi (or on VPN). Cellular data cannot reach
192.168.x.x. - Short hostnames. iOS often fails to resolve bare internal names like
nagioswhen a desktop resolves them fine. Try the fully qualified name or the IP address. - iOS Local Network permission. For servers on your LAN, iOS requires explicit permission: Settings → Privacy & Security → Local Network → NagMon must be enabled.
- HTTPS settings match the server. The Enable HTTPS toggle must match what the server actually speaks, and self-signed certificates need Allow Self-Signed Certificate turned on — see HTTPS options.
- Non-standard ports. If the web UI lives on, say, 8443, set the Port field (or use
host:8443in the hostname).
Authentication problems
NagMon handles Basic and Digest authentication automatically, so anything that logs into the web UI should log into the app. When it doesn't:
- Verify the credentials in a browser first, ideally against the
statusjson.cgiURL above — that's exactly what the app requests. - Re-enter the password in the app. iOS autocorrect and invisible trailing spaces are classic culprits.
"I don't see host groups / links / icons"
These features depend on what your server provides, and hide themselves when the server can't deliver:
| Feature | Server-side requirement |
|---|---|
| Host groups | objectjson.cgi available (Nagios Core 4.x JSON CGIs). |
| Links card | action_url / notes_url defined on the host or service; must be http/https, and URLs with unexpanded $MACROS$ are hidden. |
| Host icons | Icon images defined in Nagios and present in the server's images/logos directory. |
Commands not reaching the server
- Permissions: the user needs command authorization in
cgi.cfg— see prerequisites. Read-only users can't submit commands from any client. - Check the log: accepted commands appear in
nagios.logasEXTERNAL COMMANDentries. Present in the log but nothing happened? The issue is server-side processing. Absent entirely? Authorization or connectivity. - Update the app: a known issue where commands (particularly on Digest-authenticated servers) failed to submit was fixed in NagMon 2.0.1.
Data looks stale or incomplete
NagMon refreshes all tabs from a single shared fetch cycle; pull down to refresh on demand. If data seems frozen, check the Dashboard header — an unreachable server is flagged there per-server while other servers keep updating (how the Dashboard reports this). An incomplete picture with multiple servers usually means one of them is disabled or failing.
How to report a bug or request a feature
Feature ideas — and votes on other people's ideas — belong on the NagMon feature tracker. For bugs, email support from the app's Settings tab and include:
- NagMon version and iOS version
- Nagios Core version on the server
- Connection style (LAN / VPN / internet, HTTP or HTTPS, Basic or Digest, standard or custom port)
- The exact error text, and whether the browser test above works