Skip to content

RFC8345-based Network Topology Visualizer

License

Notifications You must be signed in to change notification settings

ool-mddo/netoviz

 
 

Repository files navigation

Netoviz

JavaScript Style Guide

Netoviz (Network Topology Visualizer) is a tool to visualize network topology data that based on RFC8345.

See also Netomox (Network topology modeling toolbox), the tool to construct RFC8345 based network topology data.

Demo

Live demo

A live demo (with limited functions) can be viewed at the following URI,

All-in-one docker image.

There is netoviz docker container on Docker Hub. You can run it with docker and use it via http://localhost:3000.

docker pull netoviz/allinone
docker run -p3000:3000 --name nv-allinone netoviz/allinone

If you change the port number to access it, set -p option.

docker run -p3005:3000 --name nv-allinone netoviz/allinone
             ^^^^

Demo movie

Batfish を使ってネットワーク構成を可視化してみよう - YouTube

Links

Blog

Slide

Installation

Environment setup

This application depends on:

Project setup

This application depends on:

npm install [--legacy-peer-deps]

Run Netoviz

Netoviz server (development mode)

npm run dev

Netoviz server (production mode)

Build (compile and minify) script for production,

npm run build

and run the application.

npm run start

All-in-one docker container

Build all-in-one container. (See detail: Dockerfile for all-in-one container. NOTICE: It copies current sources/packages and rebuild netoviz.)

docker build -t netoviz/allinone .
# or
npm run docker-build

Run.

docker run -p3000:3000 --name nv-allinone netoviz/allinone

Debug.

docker run -it netoviz/allinone /bin/sh

Development

Document

Generate documents with JSDoc.

npm run doc

Directory

  • libraries
    • fig/: UML class diagram
    • lib/diagram: Visualizer library
    • server/graph: RFC8345 data model and data convert library
  • static/model: Topology data files (json)
  • server: API Server

Application URI

Application (see pages)

  • Diagram
    • /model/:network/:snapshot/:modelFile[?visualizer=:visualizer]

REST API

Server (JSON API) (see server/api.js)

  • Topology data handling
    • GET /api/models (return topology model list)
    • POST /api/graph/:graphName/:network/:snapshot/:jsonName
      • to save layout (for nested-graph)
    • GET /api/graph/:graphName/:network/:snapshot/:jsonName
      • return diagram data converted from RFC8345-based topology model.

Format, Lints and fixes files

prettier

npm run format

eslint

npm run lint
npm run lint:fix

About

RFC8345-based Network Topology Visualizer

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • JavaScript 89.3%
  • Vue 7.3%
  • SCSS 2.7%
  • Other 0.7%