Diagnostics#
Monitoring → Diagnostics is the page you open when something is wrong. Six tabs, each a different question, each backed by a read the router already knows how to answer. The tab is held in the page's own state, so it resets to Health on a reload; the URL does not carry it.
| Tab | Question it answers | Endpoint |
|---|---|---|
| Health | Is connection tracking under pressure? | GET /api/conntrack/stats, GET /api/sessions |
| Tools | Where does a packet go, and what does a name resolve to — from the router? | POST /api/diagnostics/traceroute, GET /api/diagnostics/lookup |
| Neighbours | What is on the wire, and what is each interface plugged into? | GET /api/neighbors, GET /api/lldp |
| Processes | What is actually running on the box? | GET /api/processes |
| Time | Is the clock right, and where is it getting the time? | GET /api/ntp, GET /api/system |
| Capture | How do I get a pcap? | none — it hands you the command |
What changes something, and what does not#
Most of this page is read-only, which is what makes it safe to open on a router you do not yet understand. Three exceptions:
| Action | Tab | Effect |
|---|---|---|
| Turn on / Turn off LLDP | Neighbours | Stages set service lldp interface all or delete service lldp. Nothing happens until you commit. |
| Run a traceroute | Tools | Runs a command on the router immediately. Needs the operator role. It changes no configuration. |
| Look up a name | Tools | An op-mode read; needs only the viewer role. |
Traceroute sits on the operator side of the API because it is a command executed on the
router, even though it configures nothing — agent/main.go routes
it through writeable, while the lookup is a readOnly route.
Poll rates#
| Read | Interval |
|---|---|
| Connection-tracking statistics | 5 s |
| Sessions (for the tracked-flow count) | 5 s |
| ARP/NDP neighbours | 10 s |
| Process table | 10 s |
| LLDP | 15 s |
| NTP | 30 s |
What the page will not do#
- It cannot capture packets. The Capture tab composes the command for you to run at
the console.
POST /api/captureanswers501. See Capture. - It has no ping. Traceroute and a DNS lookup are the two commands offered.
- It shows no IPv6 route or neighbour view of its own. The neighbour table is
whatever
show arpprints; the empty state namesshow ipv6 neighborsas the command to run by hand. - It keeps nothing. Every number here is the current value. For retention, scrape
/metrics.
See also#
- Telemetry — the other live-number path, and
/metrics. - Logs — the journal, which is usually the next stop.
- Dashboard — the tracked-flow count also appears there.
Checked against ui/src/pages/Diagnostics.tsx,
agent/main.go, agent/gaps.go,
agent/opmode.go, agent/parity.go.