GUI
The BisonRouter GUI provides a web interface for router configuration and monitoring. The dashboard displays historical traffic, packet, error, and NAT session statistics.
Installation
The following steps are based on the GUI installation guide, with the
configuration prompts updated for the current bisonrouter script.
Run the shell commands as root.
Install BisonRouter by following the Installation Bison Router DPDK 21 instructions.
Edit
/etc/bisonrouter/brouter.confand add the following line to thestartupsection:sysctl set kni_driver_type "tap"
In the same file, add the
kniflag to thevif addcommand for the interface used to access the GUI. This is usually an uplink VIF.Edit
/etc/bisonrouter/bisonrouter.envand add all VIFs with thekniflag tobr_kni_vifs. Prefix each VIF name withr_. For example, for a VIF namedv20:br_kni_vifs=( "r_v20" )Keep any other KNI VIFs already present in this list.
In
/etc/bisonrouter/bisonrouter.env, setbr_default_gwto the IP address of the default gateway. For example:br_default_gw="192.168.1.2"
Start BisonRouter with this configuration. If it is already running, restart it to apply the startup and environment changes.
Configure the GUI:
bisonrouter gui_postinstall
Enter the IP address or DNS name used to access BisonRouter, then enter the HTTP port. Press Enter at the port prompt to use the default,
80.Create an
adminaccount with read-write access:bisonrouter gui_add_user admin 'YOUR_ADMIN_PASSWORD' read-write
Replace
YOUR_ADMIN_PASSWORDwith the password for this account. Optionally, create an account with read-only access:bisonrouter gui_add_user observer 'YOUR_OBSERVER_PASSWORD' read-only
Start the GUI web server:
service bisonrouter_nginx start
Start the GUI backend:
service bisonrouter_gui_backend start
Open
http://<BisonRouter-IP-or-DNS-name>in a browser and sign in with theadminaccount and the password set withgui_add_user. If you selected a port other than80, append it to the address:http://<BisonRouter-IP-or-DNS-name>:<port>.
Dashboard
The dashboard collects router statistics periodically and stores them in InfluxDB. Open Dashboard in the GUI menu to view port traffic, monitored VIF traffic, and NAT map statistics, or to select VIFs for monitoring.
Dashboard installation
Complete the GUI installation first and make sure BisonRouter is running. The installation command uses APT to install InfluxDB 3 Core and requires access to the InfluxData package repository. Run the commands below as root.
Check the dashboard settings in
/etc/bisonrouter/bisonrouter.env:export br_metrics_influx_url="http://localhost:8181" export br_metrics_influx_database="bisonrouter" export br_metrics_influx_token_file="/etc/bisonrouter/br_metrics_collector.token" export br_metrics_host_id="edge-server-01"
Note
Keep the default values of
br_metrics_influx_url,br_metrics_influx_database, andbr_metrics_influx_token_fileshown above. There is no need to change them unless you have a specific reason to use a different InfluxDB endpoint, database name, or token file path.Set
br_metrics_host_idto an identifier for this router. The collector and GUI backend use these settings to write and read the same statistics. If you change them while the GUI backend is running, reload its environment:service bisonrouter_gui_backend restart
Install the dashboard components:
bisonrouter gui_dashboard_install
This command installs InfluxDB 3 Core, configures it to listen on
127.0.0.1:8181inside the BisonRouter network namespace, installs the plugin that aggregates historical data, and starts InfluxDB. It creates an authentication token in the configured token file, preserving an existing nonempty token file. Periodic collection is enabled by the next command.Start dashboard telemetry:
bisonrouter gui_dashboard_start
This command restarts InfluxDB, enables its service at system startup, and installs the metrics collector’s cron job. The collector runs once per minute and creates the required databases and aggregation tasks as data becomes available. Make sure the system cron service is running.
Open Dashboard in the GUI. Allow a few collection cycles for traffic graphs to populate; the first counter sample establishes a baseline. To collect VIF statistics, add interfaces through Dashboard > VIF selection as described below.
To stop dashboard telemetry, run:
bisonrouter gui_dashboard_stop
This command stops InfluxDB, disables its automatic startup, and removes the
collector’s cron job. Stored data is preserved, but dashboard queries are
unavailable while InfluxDB is stopped. Run bisonrouter gui_dashboard_start
to resume collection and viewing. The GUI web server and backend continue
running.
Dashboard sections
The Ports, VIF, and NAT maps pages share the same time controls. Select the object to inspect, choose a Data interval, and then select a time range. Click Refresh to fetch the latest available data. Hover over a graph to inspect values, click legend entries to show or hide series, and use the slider below a graph to zoom into a shorter period.
| Data interval | History retained | Time range buttons |
|---|---|---|
| 1 minute | 14 days | 1 hour, 24 hours, 7 days, 14 days |
| 5 minutes | 30 days | 24 hours, 7 days, 14 days, 30 days |
| 1 hour | 365 days | 7 days, 30 days, 90 days, 1 year |
History starts when collection is enabled. Longer intervals summarize collected samples: traffic and session creation/deletion charts show rates over the interval, while NAT state counts are averaged. Coarser intervals become available as the aggregation tasks run.
Ports
Select Dashboard > Ports, then choose a port from the Port list. The page contains two graphs:
- Traffic shows received (RX) and transmitted (TX) traffic in bits per second.
- Packets and errors shows RX and TX packet rates, missed packets, transmit errors, receive errors, and No mbuf events (receive buffer allocation failures). Values are displayed as events per second.
The graph subtitle identifies the host, BisonRouter instance, and port. These graphs help identify traffic peaks and periods of packet loss or resource pressure.
VIF
Select Dashboard > VIF to inspect an individual monitored virtual interface. Choose the interface from the VIF list.
- Traffic shows RX and TX traffic in bits per second.
- Packets shows RX and TX packet rates in packets per second.
Only VIFs enabled through VIF selection are collected. If the required interface is missing or has no samples, add it to the monitored list and allow a few collection cycles before refreshing the graphs.
NAT maps
Select Dashboard > NAT maps, then choose a map from the NAT map list. The dashboard supports SNAT, deterministic SNAT, and NAT64 maps.
- States shows the total connection count and its breakdown into unknown, UDP active, TCP SYN sent, TCP established, TCP FIN wait, TCP close wait, TCP closing, TCP last ACK, TCP closed, ICMP active, DNS, and GRE states or categories. The vertical axis shows connections.
- Session rates shows created and deleted sessions per second. These rates help identify changes in session turnover even when the total connection count remains steady.
The graph subtitle identifies the host, BisonRouter instance, and map.
VIF selection
Select Dashboard > VIF selection to manage the interfaces for which statistics are collected. A read-write GUI account is required to change the monitored list.
- Enter the complete, case-sensitive VIF name in Complete VIF name and click Find VIF.
- Select the result in Existing VIF. The result shows the VIF name, ID, port, SVID, and CVID so you can identify the interface.
- Click the right arrow to add it to Monitored VIFs. Collection starts on subsequent collector runs.
- To stop collecting an interface, select it in Monitored VIFs and click the left arrow.
Removing a VIF from this list stops its future collection; it does not delete the router interface.

