Data Sources
Connect Zabbix, Prometheus, Grafana, and NetBox
Data sources provide live metrics and topology data to Shumoku Server. The server uses a plugin architecture — each integration is a plugin that can be enabled or disabled.
Adding a Data Source
- Navigate to Data Sources in the sidebar
- Click Add Data Source
- Select a plugin type (Zabbix, Prometheus, NetBox, etc.)
- Enter connection details
- Click Test Connection to verify
- Save
Zabbix
Pull traffic metrics, host status, and alerts via JSON-RPC API.
| Field | Description |
|---|---|
| URL | Zabbix server URL (e.g. https://zabbix.example.com) |
| API Token | Zabbix API token for authentication |
Once connected, Zabbix hosts and their items become available for node mapping in topology settings.
Prometheus
Query SNMP and node exporter metrics for link utilization.
| Field | Description |
|---|---|
| URL | Prometheus server URL (e.g. http://prometheus:9090) |
Grafana
Receive alerts via webhook and display them on topology.
| Field | Description |
|---|---|
| Webhook Secret | Secret token for authenticating incoming webhooks |
Configure Grafana to send alert notifications to (the exact URL is shown in the data source settings):
POST https://your-shumoku-server/api/webhooks/grafana/<datasource-id>?secret=<secret>The secret can also be sent as an X-Webhook-Secret header instead of the query parameter.
NetBox
Auto-discover topology from DCIM inventory and IPAM data.
| Field | Description |
|---|---|
| URL | NetBox server URL (e.g. https://netbox.example.com) |
| API Token | NetBox API token |
Sync Modes
| Mode | Description |
|---|---|
| Manual | Refresh topology data manually |
| On-View | Refresh when the topology is opened |
| Webhook | Auto-update via NetBox webhook |
For webhook mode, configure NetBox to send notifications to (the exact URL is shown in the topology source settings):
POST https://your-shumoku-server/api/webhooks/topology/<topology-source-id>?secret=<secret>The secret can also be sent as an X-Webhook-Secret header instead of the query parameter.
Aruba Instant On
Pull access points, switches, per-device metrics, and site alerts from the Aruba Instant On cloud portal. Uses the unofficial portal API.
| Field | Description |
|---|---|
| Username | Portal account email (the account must not have MFA enabled) |
| Password | Portal password |
| Site ID | Optional — restrict to one site; blank polls every site the account can see |
Arista CV-CUE
Pull managed access points, uplink switches, per-device status, and events (alerts) from the Arista CV-CUE (CloudVision Cognitive Unified Edge) Wi-Fi Open API. It also auto-generates the AP↔switch topology from LLDP uplink info, which composition merges (by identity) with a wired topology from NetBox etc. Authenticates with an API key (Key ID / Key Value) over a session.
| Field | Description |
|---|---|
| API base URL | The CV-CUE Open API base, ending in /wifi/api (per tenant/region), e.g. https://awm17001-c4.srv.wifi.arista.com/wifi/api |
| API key ID | Key ID issued under CV-CUE → Manage API Keys (e.g. KEY-XXXXXXXX-NN) |
| API key value | The secret paired with the Key ID |
| Customer ID (CID) | Optional — only when the key spans more than one customer |
| Location ID | Optional — scope queries to a location subtree (0 is the root) |
Huawei iMaster NCE-Campus
Pull managed devices (APs, switches, AR routers, firewalls), device-to-device topology (the controller's own topology API, falling back to LLDP neighbors), per-device performance (CPU / memory / interface utilization), link status, and current alarms from the northbound RESTful API (NBI, default port 18002) of a Huawei iMaster NCE-Campus controller. Devices are grouped into per-site subgraphs, and identity stamping (MAC / management IP) lets composition merge them with other sources such as NetBox.
When the LLDP fallback is used, neighbors that NCE does not manage are emitted as nodes too — the common case being a tenant that manages only the WLAN, while the switches its APs uplink into belong to someone else. The AP↔switch link is topology only NCE knows about, so dropping those peers would leave the diagram disconnected. Unmanaged nodes carry whatever the neighbor reports about itself (MAC / chassis ID / sysName) as identity, so composition merges them onto the matching NetBox or Zabbix node instead of duplicating it. Their device type is inferred from what LLDP advertises (falling back to an L2 switch). A neighbor that reports nothing identifying is dropped along with its link, since it could never be merged onto a real device.
Note: NBI tokens are bound to the client IP that created them, so the server's source IP toward the controller must be stable (mind NAT / proxies).
Link utilization — what the weathermap colours a link by — is derived by dividing the device's throughput counters by the port speed Link Management reports. NCE returns null for its per-interface utilization fields on live APs; when the controller does fill them in, that reading wins over the derived one. A link whose port speed is unknown gets no percentage at all, and stays the "no data" grey.
| Field | Description |
|---|---|
| NBI base URL | The controller's NBI base URL, e.g. https://nce.example.com:18002 |
| Username | Third-party account attached to the Open API Operator role |
| Password | The account's password |
| Site ID | Optional — restrict to one site (UUID); blank polls every site the account can see |
| Skip TLS verification | Optional — skip certificate validation. On-prem controllers often serve Huawei's self-signed platform cert; trusted networks only |
Create the third-party account under System > User Management on NCE-Campus with Type set to Third-party, and assign it the tenant-view Open API Operator role. A read-only monitor role is not enough — the NBI topology and performance endpoints answer 403.
Network Scan
Actively discover topology with no upstream inventory: seed-crawls the network over SNMP and LLDP, identifying devices, walking ports, and harvesting neighbor links.
| Field | Description |
|---|---|
| Targets | IPv4 addresses, hostnames, or CIDR blocks (e.g. 10.0.0.0/24) |
| Community | SNMPv2c community (default public) |
| Timeout | Per-device timeout in milliseconds |
Plugins
Additional data sources can be added via the plugin system. Navigate to Plugins in the sidebar to manage installed plugins.
Plugins can be added from:
- Built-in plugins (Manual, Zabbix, Prometheus, Grafana, NetBox, Aruba Instant On, Arista CV-CUE, Huawei iMaster NCE-Campus, Network Scan)
- GitHub URL
- Local file path
- ZIP file upload