01 Introduction - netassist-ua/netgraphz2-gpl GitHub Wiki
NetGraphz2 — addon web-based interface for monitoring systems (currently only Icinga 2 supported) to provide visual graph-like overview of network, replacing static status map. It allow users interact with graph, see how nodes connected between. Such representation allows to find possible outages quickly, analyze weak points of network. Placing nodes in comfortable position using layout algorithm allows user to see clusters of nodes, which may represent connection points in real life.
Application goal is not to represent nodes on real geographical map. We believe that people remember connections much quicker than real world map. Evolution made a big gift for us humans giving us abstract associative memory abilities.
Program uses information from existing monitoring system (Icinga 2) using it's opened interface (MK LiveStatus). It stores graph separately from monitoring system configuration. It's not hardly connected to specific monitoring system.
Nodes and links are stored in graph database (neo4j) which allows application to do such actions as graph traversing really quick. It allows to easily automatically generate monitoring system configuration snippets starting from specific nodes using DFS.
Main web-interface is built on JavaScript. Rendering of graph performed by Cytoscape.js library which is leading library for graph draw and interaction. Additionally we use many other libraries under open license. Full list of used JavaScript libraries available at the document. At the same time structure of application own JS in pretty complex, but we don't use any sort of Bower, Require.js, AMD. We don't think that it's too much clever decision.
The main goal of our project is to provide people good, reliable, fast tool to find out problems in theirs difficult network. Visual interface is the primary priority of project. Without ability to see network from bird-eye view you can't make clever decision about future upgrade and development plan. When you have lack of maps, you don't know anything that might happen. We are here to solve this problem using well-tested, reliable technologies and solutions.
We want to TRY make your network management easy as possible!