netreplica / graphite Goto Github PK
View Code? Open in Web Editor NEWVisualization for Network Topologies – NetBox, Containerlab, Netlab
Home Page: https://netreplica.com
License: Apache License 2.0
Visualization for Network Topologies – NetBox, Containerlab, Netlab
Home Page: https://netreplica.com
License: Apache License 2.0
nr
Don't show webssh link if mgmt IP address is unknown.
Need to hide elements in a tooltip element when it appears. Can't do that when the page loads.
For now, graphite
web-ui authorize only SSH connection.
Is there a possibility to allow plain telnet
connection method ?
i.e.: In node
config define OOBM_CONNECTION=[ssh,telnet]
in the example above, ssh
and telnet
is allowed.
Add IP addresses configured on interfaces to visualization
Right now, opening another session to the same node re-uses the same browser window, and thus previous session is getting lost.
Even if labels show mode is set to static, after each successful node-data refresh they are set back to live automatically
Let a path (URL?) to an icon file to be specified as part of the node definitions in topology data.
TODO
Use Badged Link by default
Enable data fetch by default
Reduce data fetch frequency
Remove Static/Live labels UI
Zoom in twice by default - autoscales anyway
Most labs come with .md file describing them. Have a way to show that in Graphite.
For WebSSH or whole Graphite
Document how to enable ssh on SONiC nodes
Add a note to use a fixed mgmt IP if everything else in the topo is on fixed. Otherwise the default yaml snippet can cause IP overlaps and one of the topology nodes might fail to boot.
Display help on what to do when topology-data.json is empty – clab version to check, templates to install
Currently, they are always black
Ports of traffic generator nodes typically represent a simulated network behind each port. They should be represented in a visualized topology as individual nodes.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
Dockerfile
alpine 3.15
alpine 3.15
alpine 3.15
.gitmodules
docker/node-data main@a0b700c10da307c5b9c69097e1dd6c30aee82328
docker/webssh2 main@8c64f8e02657549e8706a7ef6d80ec8d132e17c4
docker/lighttpd1.4 master@c223201bb2966d90f4cac085473ec5faa1951ec8
Web UI:
Moved to backlog:
If graphite is launched via "docker run" instead of from clab yaml, it ends up connected to a different bridge – this breaks webssh connectivity to emulated nodes. For example,
+---+------------------------+--------------+-----------------------------+-------+---------+---------------+--------------+
| # | Name | Container ID | Image | Kind | State | IPv4 Address | IPv6 Address |
+---+------------------------+--------------+-----------------------------+-------+---------+---------------+--------------+
| 1 | clab-h84_clab-centos1 | 965ef2bb8397 | nanoghackathon82/centos | linux | running | 172.22.0.3/24 | N/A |
| 2 | clab-h84_clab-centos2 | 233a38b80e07 | nanoghackathon82/centos | linux | running | 172.22.0.5/24 | N/A |
while
docker exec -it graphite sh
/usr/local/webssh2 # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
78: eth0@if79: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
/usr/local/webssh2 # ping 172.22.0.1
PING 172.22.0.1 (172.22.0.1): 56 data bytes
64 bytes from 172.22.0.1: seq=0 ttl=64 time=0.062 ms
64 bytes from 172.22.0.1: seq=1 ttl=64 time=0.106 ms
^C
--- 172.22.0.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
ping 172.22.0.3
PING 172.22.0.3 (172.22.0.3): 56 data bytes
^C
--- 172.22.0.3 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
Looks like this happens to do lack of a return route from the emulated nodes back to graphite IP address.
see billchurch/read-config-ng#17
once fixed, rebuild the docker image
Currently, labels from several links between the same nodes overlap. Need a way to show them separately, or maybe only show labels from the first link, and show the rest when a link has a mouse over.
When topology definitions (JSON files) change, it is not transparent to the web server or browser, and to refresh a visualization, a forced refreshed is needed by a user (shift-refresh). Need to introduce a mechanism to avoid caching that leads to this behavior.
To reproduce change password in secrets.json
for one of the kinds after initial good data fetch. The expectation is that IP labels should for that kind should disappear
The idea is to take a custom URL specified under a node definition in a topology data and show it via a node tooltip. An example could be an admin UI to control the node – for example, for a PAN firewall. Or some monitoring system UI if such system is a part of the topology.
Introduce a custom label to mark nodes in clab topo definitions yaml that should be ignored during visualization.
Need to remove /mm
mask before connecting
Potentially use grouping capabilities to encircle all the nodes that belong to the same ASN
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.