Shumoku

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

  1. Navigate to Data Sources in the sidebar
  2. Click Add Data Source
  3. Select a plugin type (Zabbix, Prometheus, NetBox, etc.)
  4. Enter connection details
  5. Click Test Connection to verify
  6. Save

Zabbix

Pull traffic metrics, host status, and alerts via JSON-RPC API.

FieldDescription
URLZabbix server URL (e.g. https://zabbix.example.com)
API TokenZabbix 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.

FieldDescription
URLPrometheus server URL (e.g. http://prometheus:9090)

Grafana

Receive alerts via webhook and display them on topology.

FieldDescription
Webhook SecretSecret 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.

FieldDescription
URLNetBox server URL (e.g. https://netbox.example.com)
API TokenNetBox API token

Sync Modes

ModeDescription
ManualRefresh topology data manually
On-ViewRefresh when the topology is opened
WebhookAuto-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.

FieldDescription
UsernamePortal account email (the account must not have MFA enabled)
PasswordPortal password
Site IDOptional — 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.

FieldDescription
API base URLThe 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 IDKey ID issued under CV-CUE → Manage API Keys (e.g. KEY-XXXXXXXX-NN)
API key valueThe secret paired with the Key ID
Customer ID (CID)Optional — only when the key spans more than one customer
Location IDOptional — 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.

FieldDescription
NBI base URLThe controller's NBI base URL, e.g. https://nce.example.com:18002
UsernameThird-party account attached to the Open API Operator role
PasswordThe account's password
Site IDOptional — restrict to one site (UUID); blank polls every site the account can see
Skip TLS verificationOptional — 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.

FieldDescription
TargetsIPv4 addresses, hostnames, or CIDR blocks (e.g. 10.0.0.0/24)
CommunitySNMPv2c community (default public)
TimeoutPer-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

On this page