diff --git a/Program.cs b/Program.cs index d6d2b07..1740842 100644 --- a/Program.cs +++ b/Program.cs @@ -37,46 +37,6 @@ namespace ln.skyscanner SkyScanner skyScanner = new SkyScanner(args); skyScanner.Start(); - return; - - Node coreNode = skyScanner.Entities.GlobalNetwork.FindNodeByIP(IPv4.Parse("10.10.10.2")); - Console.WriteLine("Core Node: {0}", coreNode); - - Node coreNode2 = skyScanner.Entities.GlobalNetwork.FindNodeByIP(IPv4.Parse("10.255.7.129")); - Console.WriteLine("Core Node (alt): {0}", coreNode2); - - Query nodeByIpQuery = Query.Equals("Interfaces[].ConfiguredIPs[].IP", IPv4.Parse("10.255.7.129")); - IEnumerable qnodes = skyScanner.Entities.nodeCollection.Query(nodeByIpQuery); - - IEnumerable neighbors = skyScanner.Entities.GlobalNetwork.FindNeighbors(coreNode); - - foreach (Node neigh in neighbors) - { - Console.WriteLine("Neighbor: {0}", neigh); - } - - SkyScanner.Instance.Stop(); - - return; - - IEnumerable nodes = skyScanner.Entities.nodeCollection; - foreach (Node node in nodes) - { - Console.WriteLine("Node: {0}", node); - - Timing.Meassure("", () => - { - foreach (Node neighbor in SkyScanner.Instance.Entities.GlobalNetwork.FindNeighbors(node)) - { - Console.WriteLine(" Neighbor: {0}", neighbor); - } - }); - - Console.WriteLine(""); - Console.WriteLine(""); - } - - throw new Exception(); } private static void Initialize() diff --git a/SkyEntities.cs b/SkyEntities.cs index 0eeddc8..fdb01a8 100644 --- a/SkyEntities.cs +++ b/SkyEntities.cs @@ -14,46 +14,70 @@ using System.IO; using ln.http.resources; using System.Linq; using ln.types.odb.mapped; +using ln.types.net; +using ln.skyscanner.crawl; +using ln.skyscanner.checks; +using ln.logging; namespace ln.skyscanner { public class SkyEntities { - [Callable] - public Node[] Nodes => nodeCollection.ToArray(); - public SkyScanner SkyScanner { get; } public string BasePath => Path.Combine(SkyScanner.BasePath, "entities"); public GlobalNetwork GlobalNetwork { get; private set; } - public ODB odDatabase { get; private set; } - public ODBCollection nodeCollection { get; private set; } - //public ODBCollection interfaceCollection { get; private set; } - //public ODBCollection intfIPCollection { get; private set; } - public ODBCollection subnetCollection { get; private set; } - public ODBCollection popCollection { get; private set; } + + + public ODB ODB { get; private set; } + + public ODBCollection NodeCollection { get; private set; } + public ODBCollection SubnetCollection { get; private set; } + public ODBCollection PointOfPresenceCollection { get; private set; } + + public ODBCollection CrawledHosts { get; private set; } + public ODBCollection CrawledSubnets { get; private set; } + + public ODBCollection BlockedNetworks { get; private set; } + + public ODBCollection SkyCheckStates { get; private set; } public SkyEntities(SkyScanner skyScanner) { SkyScanner = skyScanner; - odDatabase = new ODB(BasePath); - nodeCollection = odDatabase.GetCollection(); - subnetCollection = odDatabase.GetCollection(); + Logging.Log(LogLevel.INFO, "SkyEntities: initializing"); - nodeCollection.EnableStrongCache(true); - nodeCollection.EnsureIndex("PrimaryIP"); - nodeCollection.EnsureIndex("Interfaces[].ConfiguredIPs[].IP"); - nodeCollection.EnsureIndex("Interfaces[].ConfiguredIPs[].Network"); - nodeCollection.EnsureIndex("uniqueIdentity"); + ODB = new ODB(BasePath); - subnetCollection.EnsureIndex("Network"); + NodeCollection = ODB.GetCollection(); + NodeCollection.EnableStrongCache(true); + NodeCollection.EnsureIndex("PrimaryIP"); + NodeCollection.EnsureIndex("Interfaces[].ConfiguredIPs[].IP"); + NodeCollection.EnsureIndex("Interfaces[].ConfiguredIPs[].Network"); + NodeCollection.EnsureIndex("uniqueIdentity"); - popCollection = odDatabase.GetCollection(); - popCollection.EnsureIndex("ForeignName"); - popCollection.EnsureIndex("nodeIDList[]"); + SubnetCollection = ODB.GetCollection(); + SubnetCollection.EnsureIndex("Network"); - GlobalNetwork = new GlobalNetwork(this); + PointOfPresenceCollection = ODB.GetCollection(); + PointOfPresenceCollection.EnsureIndex("ForeignName"); + + CrawledHosts = ODB.GetCollection(); + CrawledHosts.EnsureIndex("PrimaryIP"); + CrawledHosts.EnsureIndex("IPAddresses[]"); + + CrawledSubnets = ODB.GetCollection(); + BlockedNetworks = ODB.GetCollection("blockedNetworks"); + + SkyCheckStates = ODB.GetCollection(); + SkyCheckStates.EnableStrongCache(true); + SkyCheckStates.EnsureIndex("CheckName"); + SkyCheckStates.EnsureIndex("Node.ID"); + + Logging.Log(LogLevel.INFO, "SkyEntities: initialized"); + + GlobalNetwork = new GlobalNetwork(); } diff --git a/SkyScanner.cs b/SkyScanner.cs index c7ac213..76af6ec 100644 --- a/SkyScanner.cs +++ b/SkyScanner.cs @@ -61,7 +61,6 @@ namespace ln.skyscanner } } - Entities = new SkyEntities(this); Checker = new SkyChecker(); } diff --git a/checks/CheckJob.cs b/checks/CheckJob.cs index 4ddffbf..88892b2 100644 --- a/checks/CheckJob.cs +++ b/checks/CheckJob.cs @@ -29,12 +29,10 @@ namespace ln.skyscanner.checks Name = String.Format("Interval check: {0} [{1}]",node.UniqueIdentity,node.PrimaryIP.ToString()); Node = node; - Query stateQuery = Query.Equals("UniqueNodeIdentifier", Node.UniqueIdentity); - SkyCheckState[] skyCheckStates = SkyScanner.Instance.Checker.checkStates.Query(stateQuery).ToArray(); + Query stateQuery = Query.Equals("Node.ID", Node.ID); + SkyCheckState[] skyCheckStates = SkyScanner.Instance.Entities.SkyCheckStates.Query(stateQuery).ToArray(); foreach (SkyCheckState checkState in skyCheckStates) { - //if (checkState.Node == null) - //checkState.Node = node; checkStates.Add(checkState.CheckName, checkState); } } diff --git a/checks/SkyCheckState.cs b/checks/SkyCheckState.cs index 269a73e..7a6c445 100644 --- a/checks/SkyCheckState.cs +++ b/checks/SkyCheckState.cs @@ -38,7 +38,8 @@ namespace ln.skyscanner.checks public Guid ID = Guid.NewGuid(); public readonly String CheckName; - public readonly String UniqueNodeIdentifier; + [ByReference] + public readonly Node Node; public String[] PerformanceValues => performanceValues.ToArray(); List performanceValues = new List(); @@ -62,7 +63,7 @@ namespace ln.skyscanner.checks public SkyCheckState(SkyCheck skyCheck,Node node) { CheckName = skyCheck.Name; - UniqueNodeIdentifier = node.UniqueIdentity; + Node = node; } public void EnsurePerformanceValue(String perfName) diff --git a/checks/SkyChecker.cs b/checks/SkyChecker.cs index e5026b6..3d7f550 100644 --- a/checks/SkyChecker.cs +++ b/checks/SkyChecker.cs @@ -31,8 +31,6 @@ namespace ln.skyscanner.checks public PoolJob[] CurrentJobs => checkPool.CurrentPoolJobs; [Callable] public PoolJob[] QueuedJobs => checkPool.QueuedJobs; - [Callable] - public SkyCheckState[] CheckStates => checkStates.ToArray(); [Callable] @@ -40,8 +38,7 @@ namespace ln.skyscanner.checks public bool ContainsPerfFile(String perfName) => perfFiles.ContainsKey(perfName); [Callable] - public SkyCheckState[] Issues => checkStates.Query( - //Query.Contains("CheckState",new CheckState[] { CheckState.CRITICAL, CheckState.WARN, CheckState.ERROR }) + public SkyCheckState[] Issues => SkyScanner.Instance.Entities.SkyCheckStates.Query( Query.OR( Query.Equals("currentCheckState", CheckState.CRITICAL), Query.Equals("currentCheckState", CheckState.FAIL), @@ -59,23 +56,16 @@ namespace ln.skyscanner.checks bool stopping; - ODB odb; - public ODBCollection checkStates { get; private set; } - List saveQueue = new List(); public SkyChecker() { BasePath = Path.Combine(SkyScanner.Instance.BasePath, "perfdb"); + Logging.Log(LogLevel.INFO, "SkyChecker: created"); + SNMPEngine = new SNMPEngine(); SNMPEngine.Timeout = 4000; - - odb = new ODB(Path.Combine(BasePath)); - checkStates = odb.GetCollection(); - checkStates.EnableStrongCache(true); - checkStates.EnsureIndex("CheckName"); - checkStates.EnsureIndex("UniqueNodeIdentifier"); } public void Start() @@ -135,7 +125,7 @@ namespace ln.skyscanner.checks if (node.AddCheck(perfName)) { - SkyScanner.Instance.Entities.nodeCollection.Upsert(node); + SkyScanner.Instance.Entities.NodeCollection.Upsert(node); } checkState.EnsurePerformanceValue(perfName); @@ -184,14 +174,14 @@ namespace ln.skyscanner.checks { foreach (SkyCheckState checkState in saveQueue) { - SkyScanner.Instance.Checker.checkStates.Upsert(checkState); + SkyScanner.Instance.Entities.SkyCheckStates.Upsert(checkState); } saveQueue.Clear(); } Logging.Log(LogLevel.INFO, "SkyChecker.scheduler(): scheduler starts"); - foreach (Node node in SkyScanner.Instance.Entities.GlobalNetwork.Nodes) + foreach (Node node in SkyScanner.Instance.Entities.NodeCollection) { CheckJob checkJob = new CheckJob(node); checkJobs.Add(checkJob); diff --git a/crawl/Crawl.cs b/crawl/Crawl.cs index bc532cc..3e425d5 100644 --- a/crawl/Crawl.cs +++ b/crawl/Crawl.cs @@ -113,7 +113,7 @@ namespace ln.skyscanner.crawl Host.LastCheck = dateTime; Host.NextCheck = dateTime + TimeSpan.FromHours(24); - bool updated = Crawler.CrawledHosts.Upsert( Host ); + bool updated = SkyScanner.Instance.Entities.CrawledHosts.Upsert( Host ); foreach (Network4 network in Host.Networks) Crawler.EnsureSubnet(network); diff --git a/crawl/CrawlNetwork.cs b/crawl/CrawlNetwork.cs index 9dbd610..69c64cb 100644 --- a/crawl/CrawlNetwork.cs +++ b/crawl/CrawlNetwork.cs @@ -103,7 +103,7 @@ namespace ln.skyscanner.crawl Subnet.NextScan = startTime + TimeSpan.FromHours(24); } - Crawler.CrawledSubnets.Upsert(Subnet); + SkyScanner.Instance.Entities.CrawledHosts.Upsert(Subnet); } public override int GetHashCode() diff --git a/crawl/Crawler.cs b/crawl/Crawler.cs index d6a22cd..961173c 100644 --- a/crawl/Crawler.cs +++ b/crawl/Crawler.cs @@ -58,16 +58,6 @@ namespace ln.skyscanner.crawl Thread threadScheduler; - public ODBCollection CrawledHosts => hosts; - public ODBCollection CrawledSubnets => subnets; - public ODBCollection BlockedNetworks => blockedNetworks; - - private ODB odbDatabase; - private ODBCollection hosts; - private ODBCollection subnets; - private ODBCollection blockedNetworks; - - public Crawler(SkyScanner skyScanner) { SkyScanner = skyScanner; @@ -79,17 +69,7 @@ namespace ln.skyscanner.crawl Directory.CreateDirectory(BasePath); if (!Directory.Exists(PoolPath)) Directory.CreateDirectory(PoolPath); - - //dbCrawlPool = new ODB(PoolPath); - - odbDatabase = new ODB(BasePath); - hosts = odbDatabase.GetCollection(); - subnets = odbDatabase.GetCollection(); - blockedNetworks = odbDatabase.GetCollection("blockedNetworks"); - - hosts.EnsureIndex("PrimaryIP"); - hosts.EnsureIndex("IPAddresses[]"); - + CrawlerState = ComponentState.INITIALIZED; } catch (Exception) @@ -178,7 +158,7 @@ namespace ln.skyscanner.crawl public void Crawl(Guid hostID) { - CrawledHost crawledHost = CrawledHosts[hostID]; + CrawledHost crawledHost = SkyScanner.Instance.Entities.CrawledHosts[hostID]; Crawl(crawledHost); } public void Crawl(CrawledHost crawledHost) @@ -201,14 +181,14 @@ namespace ln.skyscanner.crawl Query.Equals("IPAddresses[]", ip), Query.Equals("PrimaryIP", ip) ); - CrawledHost crawledHost = hosts.Query(nodeByIpQuery).FirstOrDefault(); + CrawledHost crawledHost = SkyScanner.Instance.Entities.CrawledHosts.Query(nodeByIpQuery).FirstOrDefault(); if (crawledHost == null) { crawledHost = new CrawledHost(); crawledHost.PrimaryIP = ip; crawledHost.Name = ip.ToString(); - CrawledHosts.Insert(crawledHost); + SkyScanner.Instance.Entities.CrawledHosts.Insert(crawledHost); } return crawledHost; } @@ -218,12 +198,12 @@ namespace ln.skyscanner.crawl lock (this) { Query subnetQuery = Query.Equals("Network", network); - CrawledSubnet sn = CrawledSubnets.Query(subnetQuery).FirstOrDefault(); + CrawledSubnet sn = SkyScanner.Instance.Entities.CrawledSubnets.Query(subnetQuery).FirstOrDefault(); if (sn == null) { Logging.Log(LogLevel.INFO, "Crawler adds new subnet: {0}", network); sn = new CrawledSubnet(network); - CrawledSubnets.Insert(sn); + SkyScanner.Instance.Entities.CrawledSubnets.Insert(sn); } return sn; } @@ -241,13 +221,13 @@ namespace ln.skyscanner.crawl SkyScanner.Entities.GlobalNetwork.Update(); if (CrawlHosts) - foreach (CrawledHost crawledHost in CrawledHosts.Where( host => (host.NextCheck < DateTime.Now))) + foreach (CrawledHost crawledHost in SkyScanner.Instance.Entities.CrawledHosts.Where( host => (host.NextCheck < DateTime.Now))) { Crawl(crawledHost); } if (CrawlSubnets) - foreach (CrawledSubnet subnet in CrawledSubnets.Where( sn => (sn.NextScan < DateTime.Now ) && sn.Network.Width >= 24)) + foreach (CrawledSubnet subnet in SkyScanner.Instance.Entities.CrawledSubnets.Where( sn => (sn.NextScan < DateTime.Now ) && sn.Network.Width >= 24)) { Crawl(subnet); } diff --git a/entities/GlobalNetwork.cs b/entities/GlobalNetwork.cs index a1419d8..619b824 100644 --- a/entities/GlobalNetwork.cs +++ b/entities/GlobalNetwork.cs @@ -20,45 +20,31 @@ namespace ln.skyscanner.entities { public class GlobalNetwork : Persistent { - [Unsynced] - public SkyScanner SkyScanner => SkyScanner.Instance; - [Unsynced] - public SkyEntities SkyEntities { get; private set; } - - public IEnumerable Subnets => SkyEntities.subnetCollection; - public IEnumerable Nodes => SkyEntities.nodeCollection.ToArray(); - public HopMap DefaultHopMap { get; private set; } = new HopMap(); - private object _updateLock = new object(); public GlobalNetwork() { } - public GlobalNetwork(SkyEntities skyEntities) - { - SkyEntities = skyEntities; - } - public void EnsureSubnet(Network4 network) { - Subnet subnet = SkyEntities.subnetCollection.Where(s => s.Network.Equals(network)).FirstOrDefault(); + Subnet subnet = SkyScanner.Instance.Entities.SubnetCollection.Where(s => s.Network.Equals(network)).FirstOrDefault(); if (subnet == null) { subnet = new Subnet(network); - SkyEntities.subnetCollection.Upsert(subnet); + SkyScanner.Instance.Entities.SubnetCollection.Upsert(subnet); } } public Node GetNode(Guid id) { - return SkyEntities.nodeCollection[id]; + return SkyScanner.Instance.Entities.NodeCollection[id]; } public Subnet FindSubnetForIP(IPv4 ip) { - return SkyEntities.subnetCollection.Where((net) => net.Network.Contains(ip)).FirstOrDefault(); + return SkyScanner.Instance.Entities.SubnetCollection.Where((net) => net.Network.Contains(ip)).FirstOrDefault(); } public IEnumerable FindHostsInSubnet(Network4 network) @@ -70,7 +56,7 @@ namespace ln.skyscanner.entities Query.Equals("Interfaces[].ConfiguredIPs[].Network", network), Query.IF("PrimaryIP", (ip) => ((firstIP <= ip) && (ip <= lastIP))) ); - return SkyEntities.nodeCollection.Query(nodeByIpQuery); + return SkyScanner.Instance.Entities.NodeCollection.Query(nodeByIpQuery); } public IEnumerable FindNeighbors(Node node) @@ -107,11 +93,11 @@ namespace ln.skyscanner.entities public Node FindNodeByIP(IPv4 ip) { - Node node = SkyEntities.nodeCollection.Query("PrimaryIP", ip).FirstOrDefault(); + Node node = SkyScanner.Instance.Entities.NodeCollection.Query("PrimaryIP", ip).FirstOrDefault(); if (node == null) { Query nodeByIpQuery = Query.Equals("Interfaces[].ConfiguredIPs[].IP", ip); - node = SkyEntities.nodeCollection.Query(nodeByIpQuery).FirstOrDefault(); + node = SkyScanner.Instance.Entities.NodeCollection.Query(nodeByIpQuery).FirstOrDefault(); } return node; } @@ -172,7 +158,7 @@ namespace ln.skyscanner.entities node.Name = crawledHost.Name; node.PrimaryMac = crawledHost.PrimaryHWAddr; - SkyEntities.nodeCollection.Insert(node); + SkyScanner.Instance.Entities.NodeCollection.Insert(node); } if (!crawledHost.PrimaryIP.Equals(node.PrimaryIP)) @@ -298,7 +284,7 @@ namespace ln.skyscanner.entities EnsureSubnet(network); node.LastUpdate = DateTime.Now; - SkyEntities.nodeCollection.Upsert(node); + SkyScanner.Instance.Entities.NodeCollection.Upsert(node); } } } diff --git a/entities/Node.cs b/entities/Node.cs index 3a32eaa..c2fd5a9 100644 --- a/entities/Node.cs +++ b/entities/Node.cs @@ -47,7 +47,7 @@ namespace ln.skyscanner.entities [JsonIgnore] public IEnumerable Networks => Interfaces.SelectMany(intf => intf.ConfiguredIPs.Select(nip => nip.Network)).Distinct(); [JsonIgnore] - public IEnumerable Subnets => SkyScanner.Instance.Entities.subnetCollection.Query(Query.Equals("Network", Networks.Select(net => net.Network))); + public IEnumerable Subnets => SkyScanner.Instance.Entities.SubnetCollection.Query(Query.Equals("Network", Networks.Select(net => net.Network))); private string uniqueIdentity; public String UniqueIdentity { diff --git a/entities/PointOfPresence.cs b/entities/PointOfPresence.cs index af2c8cb..8c965ac 100644 --- a/entities/PointOfPresence.cs +++ b/entities/PointOfPresence.cs @@ -14,6 +14,7 @@ using System.Linq; using ln.types; using ln.types.odb.attributes; using Newtonsoft.Json; +using ln.types.odb.collections; namespace ln.skyscanner.entities { public class PointOfPresence @@ -24,20 +25,17 @@ namespace ln.skyscanner.entities public String Name { get; set; } public String ForeignName { get; set; } + public RefList Nodes { get; private set; } = new RefList(); + public GeoLocation GeoLocation { get; set; } - - [JsonIgnore] - public Node[] Nodes => SkyScanner.Instance.Entities.nodeCollection.Query(Query.Equals("ID", nodeIDList.Select(id => ODBMapper.Default.MapValue(id)).ToArray())).ToArray(); - HashSet nodeIDList = new HashSet(); - public DateTime Created { get; private set; } = DateTime.Now; public PointOfPresence() { } - public void AddNode(Node node) => nodeIDList.Add(node.ID); - public void RemoveNode(Node node) => nodeIDList.Remove(node.ID); + public void AddNode(Node node) => Nodes.Add(node); + public void RemoveNode(Node node) => Nodes.Remove(node); diff --git a/http/CrawlerApi.cs b/http/CrawlerApi.cs index c6bd9eb..8cf1db7 100644 --- a/http/CrawlerApi.cs +++ b/http/CrawlerApi.cs @@ -24,13 +24,13 @@ namespace ln.skyscanner.http [Callable] public CrawledSubnet[] GetSubnets() { - return Crawler?.CrawledSubnets.ToArray(); + return SkyScanner.Instance.Entities.CrawledSubnets.ToArray(); } [Callable] public CrawledHost[] GetHosts() { - CrawledHost[] result = Crawler?.CrawledHosts.ToArray(); + CrawledHost[] result = SkyScanner.Instance.Entities.CrawledHosts.ToArray(); return result; } @@ -46,17 +46,17 @@ namespace ln.skyscanner.http IPv4 ip = IPv4.Parse(_ip); CrawledHost host = SkyScanner.Crawler.FindHostForIP(ip); host.Name = name; - SkyScanner.Crawler.CrawledHosts.Upsert(host); + SkyScanner.Instance.Entities.CrawledHosts.Upsert(host); return host; } [Callable] public void TriggerRecrawl() { - foreach (CrawledHost host in Crawler.CrawledHosts.ToArray()) + foreach (CrawledHost host in SkyScanner.Instance.Entities.CrawledHosts.ToArray()) { host.NextCheck = DateTime.Now; - Crawler.CrawledHosts.Upsert(host); + SkyScanner.Instance.Entities.CrawledHosts.Upsert(host); } } @@ -115,26 +115,26 @@ namespace ln.skyscanner.http [Callable] public Network4[] GetBlockedNetworks() { - return Crawler.BlockedNetworks.ToArray(); + return SkyScanner.Instance.Entities.BlockedNetworks.ToArray(); } [Callable] public void AddBlockedNetwork(string _network) { Network4 blocked = Network4.Parse(_network); - if (!Crawler.BlockedNetworks.Contains(blocked)) + if (!SkyScanner.Instance.Entities.BlockedNetworks.Contains(blocked)) { - Crawler.BlockedNetworks.Insert(blocked); + SkyScanner.Instance.Entities.BlockedNetworks.Insert(blocked); } } [Callable] public void RemoveBlockedNetwork(string _network) { Network4 blocked = Network4.Parse(_network); - foreach (Network4 blockedNetwork in Crawler.BlockedNetworks) + foreach (Network4 blockedNetwork in SkyScanner.Instance.Entities.BlockedNetworks) { if (blockedNetwork.Equals(blocked)) { - Crawler.BlockedNetworks.Delete(blockedNetwork); + SkyScanner.Instance.Entities.BlockedNetworks.Delete(blockedNetwork); return; } } diff --git a/http/NetworkApi.cs b/http/NetworkApi.cs index fcc3af2..d1111bb 100644 --- a/http/NetworkApi.cs +++ b/http/NetworkApi.cs @@ -25,13 +25,6 @@ namespace ln.skyscanner.http { } - [Callable] - public Node[] GetNodes() - { - Node[] nodes = GlobalNetwork.Nodes.ToArray(); - return nodes; - } - [Callable] public Node[] GetNeighbors(string pid) { diff --git a/http/SkyScannerHttpApplication.cs b/http/SkyScannerHttpApplication.cs index 5ddc152..9abed48 100644 --- a/http/SkyScannerHttpApplication.cs +++ b/http/SkyScannerHttpApplication.cs @@ -4,6 +4,8 @@ using ln.http.resources; using System.IO; using ln.skyscanner.entities; using ln.skyscanner.checks; +using ln.skyscanner.crawl; +using ln.types.net; namespace ln.skyscanner.http { public class SkyScannerHttpApplication : ResourceApplication @@ -35,10 +37,17 @@ namespace ln.skyscanner.http SkyScannerHttpApi api = new SkyScannerHttpApi(this); BaseResource collections = new BaseResource(RootResource, "collections"); - new CollectionResource(collections, skyScanner.Entities.popCollection); - new CollectionResource(collections, skyScanner.Entities.nodeCollection); - new CollectionResource(collections, skyScanner.Entities.subnetCollection); - new CollectionResource(collections, skyScanner.Checker.checkStates); + + new CollectionResource(collections, skyScanner.Entities.NodeCollection); + new CollectionResource(collections, skyScanner.Entities.SubnetCollection); + new CollectionResource(collections, skyScanner.Entities.PointOfPresenceCollection); + + new CollectionResource(collections, skyScanner.Entities.CrawledHosts); + new CollectionResource(collections, skyScanner.Entities.CrawledSubnets); + + new CollectionResource(collections, skyScanner.Entities.SkyCheckStates); + + new CollectionResource(collections, skyScanner.Entities.BlockedNetworks); } private Resource ResourceTypeHook(DirectoryResource directoryResource, FileInfo fileInfo) diff --git a/templates/static/checks/checkstates.html b/templates/static/checks/checkstates.html index 18acc4c..5fb1c1d 100644 --- a/templates/static/checks/checkstates.html +++ b/templates/static/checks/checkstates.html @@ -17,10 +17,10 @@ var dtDef = { columns: [ { title: "CheckName", data: "CheckName" }, - { title: "UniqueNodeIdentifier", data: "UniqueNodeIdentifier" }, + { title: "Node", data: "Node.Name" }, { title: "LastCheckTime", data: "LastCheckTime" }, { title: "CheckState", data: "CheckState" }, - { title: "Check Schwere", data: null, render: function(d,t,r){ return "-"; } }, + { title: "Check Schwere", data: "Node.Severity" }, ], ajax: { url: "/collections/SkyCheckState",