Skip to content

Monitoring and API

Operational data goes to your own stack: a Portal API served by the daemon, a Prometheus exporter, and a gNMI northbound. Netvyn does not ask to be your system of record.

Portal API

The API is served by the daemon for a billing portal or NOC dashboard to poll system, interface and subscriber state. It applies immediately and is not staged behind commit. Clients authenticate with an operator account and are additionally restricted by an allowed-source ACL — an empty ACL means any source, so add prefixes before exposing the port.

cli
api enable
api listen 0.0.0.0:8090
api allow 198.51.100.0/24
show api

System and platform state

One command per question. show topology is the live CPU plan; show health is node vitals including per-core busy cycle; show drops is the fast-path forward and drop counters.

cli
show version                 # build + DPDK version + uptime
show topology                # lcore / worker / port plan
show health                  # uptime, per-core CPU, memory, power
show sessions                # PPPoE + IPoE in one table
show drops [<interface>]     # fast-path forward + drop counters

Optical diagnostics

show interface returns the whole health picture for a port, including transceiver identity and live DDM — temperature, voltage, TX bias and TX/RX optical power in dBm — with alarm flags and the full threshold table. EEPROM identity is cached per port because the NIC reads it over slow I2C; only the small live-DDM block is read per call. A weak or dirty fibre shows immediately as a low RX-power reading and an rxpwr-low alarm, without leaving the CLI.

Operator accounts

Operator accounts are separate from subscribers, with read, write and full roles; account management itself requires full. These commands apply immediately and are recorded in the audit trail. Unknown users can be delegated to a RADIUS realm — on acceptance the server must return a role VSA, and an Access-Accept with no recognised role is denied, so a misconfigured realm can never silently grant access.

cli
add user noc1 read <password>
show users
show user-sessions
show audit log 50
show auth log 50