Page index
- Overview
- Producer
- Consumer
- Repository
- Data Model
- Searching in NOCLook
- Indexed properties
- Links
- How to set up a NI suite
Overview
NORDUnet Network inventory project is divided in to three parts. One part that gathers the data (producer), another part that uses the data (consumer) and a repository for the raw data.
Producer
For the producer we use the NERDS projects JSON format to save the data. How to actually collect data depends on what you want to collect data from.
Consumer
The only NORDUnet consumer today is NOCLook which is a web gui made with the Django web framework and Neo4j graph database as backend for the inventory data model. The data is added to the Neo4j database via the REST interface using norduni_client.py which builds on neo4j-rest-client.
Repository
Git is used to handle the revisions of the collected data.
Data model
Hopefully these entities and relationships are enough.
The data that was inserted manually in the prototype.
Searching in NOCLook
In addition to the search box at the top of the page you can also use the URL field for searching.
/findall/[value]/ ex. /findall/10/ /findall/[key]/[value]/ ex. /findall/link/10/ /findin/[node type]/[value]/ ex. /findin/optical-node/10/ /findin/[node type]/[key]/[value]/ ex. /findin/optical-node/link/10/
The URL field version of the search only finds complete strings so you can't use wild cards but it is at lease case insensitive.
Indexed properties
Neo4j provides Lucene indexes for nodes and relationships. A "search" index is created with the properties that will be searched when a user uses the search bar. Some optimization indexes could also be created to speed up the consuming process.
Node search index:
description (interface and unit nodes)
ip_addresses (unit and host nodes)
as_number (peering partner nodes)
hostnames (host nodes)
Relationship search index:
ip_address (Uses and Depends_on relationships)
Links
http://nidev-consumer.nordu.net (bleeding edge)
Issue tracker: https://project.nordu.net/browse/NORDUNIDEV