Important
製作者がJANOG57 NOCに参加中です。サーバー系機能のreadmeが全体的に整備されていません。 導入支援・技術サポートについてもお気軽にご相談ください。
Network topology visualization and monitoring platform. Define your network in YAML, get interactive diagrams with real-time metrics from Zabbix, Prometheus, and more.
Website | Server Documentation
Topology viewer — live traffic utilization overlay with vendor icons
Dashboard in production — JANOG57 NOC Live
- Live weathermap — Overlay real-time traffic utilization on links, color-coded by load
- Alert visualization — Show active alerts from Zabbix, Prometheus, and Grafana on topology
- Auto-generate from NetBox — Pull devices and cables from NetBox to build topology automatically
- Interactive dashboards — Pan, zoom, and drill into multi-layer network views in the browser
- 900+ vendor icons — Yamaha, Aruba, AWS, Juniper, and more — rendered at correct aspect ratios
- Shareable links — Publish topology views with a share token — no login required
See Server Setup Guide for Docker, systemd, and manual deployment options.
- Create topologies — Upload YAML files or write them in the built-in editor
- Connect data sources — Link Zabbix, Prometheus, or NetBox to pull live metrics
- Monitor in real-time — See node status and link utilization update live on your diagrams
- Build dashboards — Combine multiple topologies and metric widgets into custom views
- Share — Generate public links for read-only access without authentication
| Zabbix | Pull traffic metrics, host status, and alerts via JSON-RPC API |
| Prometheus | Query SNMP and node exporter metrics for link utilization |
| Grafana | Receive alerts via webhook and display them on topology |
| NetBox | Auto-discover topology from DCIM inventory and IPAM data |
| REST API | Render topologies and fetch metrics programmatically from your own tools |
name: "Simple Network"
settings:
direction: TB
theme: light
subgraphs:
- id: core
label: "Core Layer"
nodes:
- id: rt-01
label: "Router 01"
type: router
vendor: yamaha
model: rtx3510
parent: core
- id: sw-01
label: "Switch 01"
type: l3-switch
parent: core
links:
- from:
node: rt-01
port: lan1
to:
node: sw-01
port: ge-0/0/0
bandwidth: 10GThe rendering engine is also available as standalone npm packages.
npm install shumokuimport { YamlParser, HierarchicalLayoutEngine, SvgRenderer } from 'shumoku'
const graph = new YamlParser().parse(yamlString)
const layout = await new HierarchicalLayoutEngine().layout(graph)
const svg = new SvgRenderer().render(layout)CLI is also available:
npx shumoku render network.yaml -o diagram.svg
npx shumoku render network.yaml -f html -o diagram.htmlPlayground | npm Documentation
Packages
| Package | Description |
|---|---|
shumoku |
Main package (all-in-one) |
@shumoku/core |
Core library (models, layout) |
@shumoku/renderer |
SVG/HTML renderers + CLI |
@shumoku/parser-yaml |
YAML parser |
@shumoku/icons |
Vendor icons (Yamaha, Aruba, AWS, Juniper) |
@shumoku/netbox |
NetBox API integration |
- Server Guide — Setup, data sources, dashboards
- YAML Reference — Full YAML syntax
- Vendor Icons — Available icons
- Playground — Try without installation
git clone https://github.com/konoe-akitoshi/shumoku.git
cd shumoku
bun install
bun run build
bun run devMIT
