WIP
parent
b617a7539e
commit
d40ca501f8
11
Program.cs
11
Program.cs
|
@ -17,6 +17,8 @@ using ln.types.net;
|
||||||
using ln.types.odb;
|
using ln.types.odb;
|
||||||
using ln.types.odb.index;
|
using ln.types.odb.index;
|
||||||
using ln.types.odb.values;
|
using ln.types.odb.values;
|
||||||
|
using ln.skyscanner.checks;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace ln.skyscanner
|
namespace ln.skyscanner
|
||||||
{
|
{
|
||||||
|
@ -34,9 +36,10 @@ namespace ln.skyscanner
|
||||||
|
|
||||||
Logger.ConsoleLogger.MaxLogLevel = LogLevel.INFO;
|
Logger.ConsoleLogger.MaxLogLevel = LogLevel.INFO;
|
||||||
|
|
||||||
|
SkyScanner skyScanner = new SkyScanner(args);
|
||||||
|
|
||||||
Initialize();
|
Initialize();
|
||||||
|
|
||||||
SkyScanner skyScanner = new SkyScanner(args);
|
|
||||||
skyScanner.Start();
|
skyScanner.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,6 +47,12 @@ namespace ln.skyscanner
|
||||||
{
|
{
|
||||||
SNMPEngine.DefaultEngine.Timeout = 3500;
|
SNMPEngine.DefaultEngine.Timeout = 3500;
|
||||||
|
|
||||||
|
if (SkyScanner.Instance.Entities.BlockedNetworks.Count == 0)
|
||||||
|
{
|
||||||
|
SkyScanner.Instance.Entities.BlockedNetworks.Insert(Network4.Parse("192.168.0.0/16"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//using (ODB odb = new ODB("odb"))
|
//using (ODB odb = new ODB("odb"))
|
||||||
//{
|
//{
|
||||||
|
|
||||||
|
|
|
@ -44,8 +44,6 @@ namespace ln.skyscanner.checks
|
||||||
"1.3.6.1.2.1.33.1.2.7"
|
"1.3.6.1.2.1.33.1.2.7"
|
||||||
});
|
});
|
||||||
|
|
||||||
CheckState myCheckState = CheckState.OK;
|
|
||||||
|
|
||||||
int n = 0;
|
int n = 0;
|
||||||
foreach (Sequence[] input in inputs)
|
foreach (Sequence[] input in inputs)
|
||||||
{
|
{
|
||||||
|
|
|
@ -47,11 +47,11 @@ namespace ln.skyscanner.checks
|
||||||
|
|
||||||
float fSuccess = (float)success / (float)n;
|
float fSuccess = (float)success / (float)n;
|
||||||
|
|
||||||
checkState.WritePerformanceValue("replies", fSuccess, 0.8, double.MaxValue, 0.6, double.MaxValue);
|
checkState.WritePerformanceValue("replies", fSuccess, node.DeviceType == DeviceType.UNKNOWN ? Double.MinValue : 0.8, double.MaxValue, node.DeviceType == DeviceType.UNKNOWN ? Double.MinValue : 0.6, double.MaxValue);
|
||||||
if (success > 0)
|
if (success > 0)
|
||||||
{
|
{
|
||||||
roundTripTime /= success;
|
roundTripTime /= success;
|
||||||
checkState.WritePerformanceValue("rta", roundTripTime, 0, 40, 0, 80);
|
checkState.WritePerformanceValue("rta", roundTripTime, 0, 80, 0, 140);
|
||||||
}
|
}
|
||||||
|
|
||||||
checkState.BaseCheckState = CheckState.OK;
|
checkState.BaseCheckState = CheckState.OK;
|
||||||
|
|
|
@ -37,7 +37,7 @@ namespace ln.skyscanner.checks
|
||||||
{
|
{
|
||||||
ubiquityCheckState.WritePerformanceValue("ptp_rx_capa", (double)((Integer)(row[0].Items[1])).LongValue);
|
ubiquityCheckState.WritePerformanceValue("ptp_rx_capa", (double)((Integer)(row[0].Items[1])).LongValue);
|
||||||
ubiquityCheckState.WritePerformanceValue("ptp_tx_capa", (double)((Integer)(row[1].Items[1])).LongValue);
|
ubiquityCheckState.WritePerformanceValue("ptp_tx_capa", (double)((Integer)(row[1].Items[1])).LongValue);
|
||||||
ubiquityCheckState.WritePerformanceValue("ptp_rx_pwr", (double)((Integer)(row[2].Items[1])).LongValue, -65.0,0,-75.0,0);
|
ubiquityCheckState.WritePerformanceValue("ptp_rx_pwr", (double)((Integer)(row[2].Items[1])).LongValue, -75.0,0,-80.0,0);
|
||||||
ubiquityCheckState.WritePerformanceValue("ptp_tx_pwr", (double)((Integer)(row[3].Items[1])).LongValue);
|
ubiquityCheckState.WritePerformanceValue("ptp_tx_pwr", (double)((Integer)(row[3].Items[1])).LongValue);
|
||||||
|
|
||||||
long rxBytes = ((Integer)(row[4].Items[1])).LongValue;
|
long rxBytes = ((Integer)(row[4].Items[1])).LongValue;
|
||||||
|
|
|
@ -19,7 +19,7 @@ using ln.types.odb;
|
||||||
using ln.types.net;
|
using ln.types.net;
|
||||||
namespace ln.skyscanner.crawl
|
namespace ln.skyscanner.crawl
|
||||||
{
|
{
|
||||||
public class CrawlNetwork : PoolJob, IPersistent
|
public class CrawlNetwork : PoolJob
|
||||||
{
|
{
|
||||||
[JsonIgnoreAttribute]
|
[JsonIgnoreAttribute]
|
||||||
public Crawler Crawler { get; }
|
public Crawler Crawler { get; }
|
||||||
|
@ -27,8 +27,6 @@ namespace ln.skyscanner.crawl
|
||||||
|
|
||||||
public Network4 Network { get; }
|
public Network4 Network { get; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public CrawlNetwork(Crawler crawler, CrawledSubnet subnet)
|
public CrawlNetwork(Crawler crawler, CrawledSubnet subnet)
|
||||||
{
|
{
|
||||||
Crawler = crawler;
|
Crawler = crawler;
|
||||||
|
@ -120,11 +118,5 @@ namespace ln.skyscanner.crawl
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Guid PersistenceID = Guid.NewGuid();
|
|
||||||
public Guid GetPersistenceID()
|
|
||||||
{
|
|
||||||
return PersistenceID;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ namespace ln.skyscanner.crawl
|
||||||
public DateTime LastScan;
|
public DateTime LastScan;
|
||||||
public DateTime NextScan;
|
public DateTime NextScan;
|
||||||
|
|
||||||
|
public bool DisableCrawling;
|
||||||
|
|
||||||
private CrawledSubnet()
|
private CrawledSubnet()
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,8 +9,6 @@
|
||||||
// **/
|
// **/
|
||||||
using System;
|
using System;
|
||||||
using ln.types.threads;
|
using ln.types.threads;
|
||||||
using System.Net;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using ln.logging;
|
using ln.logging;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -21,7 +19,6 @@ using ln.types.odb;
|
||||||
using ln.skyscanner.crawl.service;
|
using ln.skyscanner.crawl.service;
|
||||||
using ln.skyscanner.crawl.tests;
|
using ln.skyscanner.crawl.tests;
|
||||||
using ln.types.net;
|
using ln.types.net;
|
||||||
using ln.types.odb.mapped;
|
|
||||||
|
|
||||||
namespace ln.skyscanner.crawl
|
namespace ln.skyscanner.crawl
|
||||||
{
|
{
|
||||||
|
@ -203,6 +200,13 @@ namespace ln.skyscanner.crawl
|
||||||
{
|
{
|
||||||
Logging.Log(LogLevel.INFO, "Crawler adds new subnet: {0}", network);
|
Logging.Log(LogLevel.INFO, "Crawler adds new subnet: {0}", network);
|
||||||
sn = new CrawledSubnet(network);
|
sn = new CrawledSubnet(network);
|
||||||
|
|
||||||
|
foreach (Network4 blockedNetwork in SkyScanner.Instance.Entities.BlockedNetworks)
|
||||||
|
{
|
||||||
|
if (blockedNetwork.Contains(network))
|
||||||
|
sn.DisableCrawling = true;
|
||||||
|
}
|
||||||
|
|
||||||
SkyScanner.Instance.Entities.CrawledSubnets.Insert(sn);
|
SkyScanner.Instance.Entities.CrawledSubnets.Insert(sn);
|
||||||
}
|
}
|
||||||
return sn;
|
return sn;
|
||||||
|
@ -221,15 +225,17 @@ namespace ln.skyscanner.crawl
|
||||||
SkyScanner.Entities.GlobalNetwork.Update();
|
SkyScanner.Entities.GlobalNetwork.Update();
|
||||||
|
|
||||||
if (CrawlHosts)
|
if (CrawlHosts)
|
||||||
foreach (CrawledHost crawledHost in SkyScanner.Instance.Entities.CrawledHosts.Where( host => (host.NextCheck < DateTime.Now)))
|
foreach (CrawledHost crawledHost in SkyScanner.Instance.Entities.CrawledHosts)
|
||||||
{
|
{
|
||||||
Crawl(crawledHost);
|
if (crawledHost.NextCheck < DateTime.Now)
|
||||||
|
Crawl(crawledHost);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CrawlSubnets)
|
if (CrawlSubnets)
|
||||||
foreach (CrawledSubnet subnet in SkyScanner.Instance.Entities.CrawledSubnets.Where( sn => (sn.NextScan < DateTime.Now ) && sn.Network.Width >= 24))
|
foreach (CrawledSubnet subnet in SkyScanner.Instance.Entities.CrawledSubnets)
|
||||||
{
|
{
|
||||||
Crawl(subnet);
|
if (!subnet.DisableCrawling && (subnet.NextScan < DateTime.Now) && (subnet.Network.Width >= 24))
|
||||||
|
Crawl(subnet);
|
||||||
}
|
}
|
||||||
|
|
||||||
Thread.Sleep(5000);
|
Thread.Sleep(5000);
|
||||||
|
|
|
@ -65,7 +65,7 @@ namespace ln.skyscanner.crawl.service
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (WebException e)
|
catch (WebException)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace ln.skyscanner.crawl.tests
|
||||||
{
|
{
|
||||||
public class ICMP : CrawlService
|
public class ICMP : CrawlService
|
||||||
{
|
{
|
||||||
public Ping Ping { get; private set; } = new Ping();
|
public static Ping Ping { get; private set; } = new Ping();
|
||||||
|
|
||||||
public ICMP()
|
public ICMP()
|
||||||
:base("ping")
|
:base("ping")
|
||||||
|
|
Loading…
Reference in New Issue