NORDUnet Network Inventory project
NORDUnet Network inventory project is divided in to three parts.
- Producers that produce data files in the NERDS format.
- Consumers that uses the collected data. NOCLook is one of those consumers.
- Repository for version control. We use git.
NERDS project
NERDS stand for Network Enterprise Resource Discovery System. A collaborative effort between initially NORDUnet and Stockholm University to collect reusable data about "stuff" on our networks. The collected data is saved in a JSON format by the producers. The thought is that you then can create consumers for data that was collected by someone else or use a producer that you have not written yourself.
https://github.com/fredrikt/nerds
{ "host": { "name": "hostname-or-other-unique-identifier", "version": 1, "name-of-producer": { ... any private data ... } } }
{ "host": { "alcatel_isis": { "data": { "ip_address": "", "link": "", "name": "NU-TUG-LM-02", "osi_address": "4700230000000100010001000100206066D6F81D", "ots": "NA", "type": "ne1626LM" }, "name": "NU-TUG-LM-02", "neighbours": [ { "metric": "12", "name": "NU-ORE-TSS-01" } ] }, "name": "NU-TUG-LM-02", "version": 1 } }
NOCLook
NOCLook is one of the possible consumer for the collected NERDS data. It is a web app built with Django and the Neo4j graph database.
All nodes have a SQL node handle to make it easy to use regular Django reusable apps like Django Comments or Taggit.
The nodes also have a node type that is stored in the SQL database.
# Handle <-> Node data handle_id = models.AutoField(primary_key=True) # Data shared with the node node_name = models.CharField(max_length=200) node_type = models.ForeignKey(NodeType) node_meta_type = models.CharField(max_length=255, choices=NODE_META_TYPE_CHOICES) # Meta information creator = models.ForeignKey(User, related_name='creator') created = models.DateTimeField(auto_now_add=True) modifier = models.ForeignKey(User, related_name='modifier') modified = models.DateTimeField(auto_now=True) . . methods
http://git.nordu.net/?p=norduni.git
https://portal.nordu.net/display/NI/
Graph Data Model
Actual Data in model