An agent is the decision engine. The console is where policy is written; the agent is what applies it, next to nginx, on every request. One agent serves one or more sites, pulls its configuration from the console, and reports back what it did.

| Column | Meaning |
|---|---|
| NAME | the agent's name, with its hostname underneath |
| STATUS | active, pending, offline or revoked |
| TENANT IDS | which sites it protects |
| VERSION | the engine version it is running |
| NGINX MODULE | the version of the module inside nginx |
| GEOIP | the date of its GeoIP database |
| MODSEC | the CRS version, when ModSecurity is in use |
| HEALTH | queue depth, when the rule feed last updated, when it was last seen |
The four counters above the table — total, active, pending, offline/revoked — are the quickest answer to "is the fleet healthy?".
An agent that stops reporting is marked offline automatically. Nothing else happens to it: the last configuration it pulled is still in force at the edge, because an engine that cannot reach the console must keep protecting the site rather than stop.
Two conversations, both started by the agent — the console never connects inwards, which is what lets an agent sit behind NAT or in a customer's data centre:
Everything you change in the console therefore reaches the edge within about half a minute, and nothing needs restarting.
Production Agent 1. Use something that will still make sense when there are six.

Details on a row opens everything known about one agent, in three parts:
Available for one agent from its panel, or for the whole fleet from the buttons above the list:
| Command | What it does |
|---|---|
| Reload Config | fetch the configuration now instead of waiting for the next pull |
| Update | upgrade the engine to the published version |
| Update rulesets | fetch the current rule feed now |
| Update GeoIP | refresh the geolocation database |
| Check Engine Release | ask whether a newer engine has been published |
| Restart | restart the engine process |
| Edit | change the name and the sites it serves |
| Revoke | the agent stops being trusted |
| Delete | remove it from the console |
Revoke is not a pause. A revoked agent is told so on its next heartbeat, stops serving decisions and wipes its local cache — sites, settings, rules, lists, everything it had pulled. It is the right action for a machine that has left your control, and the wrong one for an agent you intend to bring back in an hour.
1. Is it talking? The list shows active and a recent Last Seen. If not, check that the agent can reach the console's address and that its key has not been revoked.
2. Is it enforcing what you think? Change something small — an IP list entry for a test address — wait 30 seconds, and make a request. The decision at the edge is the proof; the console alone only proves what was written down.
3. What is it running? The agent's own status endpoint answers locally:
curl -s http://127.0.0.1:8083/status | head -40
It reports the engine version, uptime, storage backend, the rule feed date and the slowest recent decisions — which is the first place to look when one site feels slower than the others.
| Symptom | Where to look |
|---|---|
| Offline, but the site is protected | the agent is serving from its cache; check the network path to the console |
| Offline and the site is unprotected | check nginx and the engine process on that host |
| One site behaves differently | compare VERSION and GEOIP with the other agents |
| Configuration changes never arrive | Command History for failed pulls; the key may have been revoked |
| Events stop but traffic continues | queue depth in HEALTH; the event path is separate from the config path |