Add SkyCheck for Mimosa
parent
7029fa9b30
commit
dd62a40f4e
|
@ -0,0 +1,83 @@
|
||||||
|
using System;
|
||||||
|
using ln.skyscanner.entities;
|
||||||
|
using ln.types;
|
||||||
|
using ln.snmp;
|
||||||
|
using ln.logging;
|
||||||
|
using ln.snmp.types;
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
namespace ln.skyscanner.checks
|
||||||
|
{
|
||||||
|
public class Mimosa : SkyCheck
|
||||||
|
{
|
||||||
|
public Mimosa()
|
||||||
|
:base("mimosa")
|
||||||
|
{}
|
||||||
|
|
||||||
|
public override void Check(SkyChecker skyChecker, ref SkyCheckState checkState, Node node)
|
||||||
|
{
|
||||||
|
MimosaCheckState mimosaCheckState = checkState as MimosaCheckState;
|
||||||
|
|
||||||
|
foreach (URI snmpUri in node.FindURIs("snmp"))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (SnmpInterface snmp = SnmpInterface.FromURI(snmpUri, skyChecker.SNMPEngine))
|
||||||
|
{
|
||||||
|
Sequence[][] sigData = snmp.snmpWalk(new string[] {
|
||||||
|
"1.3.6.1.4.1.43356.2.1.2.6.1.1.3", // Signal Level
|
||||||
|
"1.3.6.1.4.1.43356.2.1.2.6.1.1.5", // SNR
|
||||||
|
});
|
||||||
|
|
||||||
|
for (int n = 0; n < 4; n++)
|
||||||
|
{
|
||||||
|
if ((sigData.Length <= n))
|
||||||
|
break;
|
||||||
|
|
||||||
|
double sig = (sigData[n][0].Items[1] as Integer).LongValue / 10.0;
|
||||||
|
double snr = (sigData[n][1].Items[1] as Integer).LongValue / 10.0;
|
||||||
|
|
||||||
|
mimosaCheckState.WritePerformanceValue(String.Format("ptp_rx_pwr_{0}",n), sig, -75.0, 0, -80.0, 0);
|
||||||
|
mimosaCheckState.WritePerformanceValue(String.Format("ptp_rx_snr_{0}",n), snr, 12, 99, 8, 99);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
} catch (Exception e)
|
||||||
|
{
|
||||||
|
Logging.Log(LogLevel.ERROR, "Exception caught in Mimosa(SkyCheck): {0}", e);
|
||||||
|
Logging.Log(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override bool IsValid(Node node)
|
||||||
|
{
|
||||||
|
return (node.Vendor != null) && node.Vendor.Equals("mimosa");
|
||||||
|
}
|
||||||
|
|
||||||
|
public override SkyCheckState PrepareCheckState(SkyChecker skyChecker, Node node)
|
||||||
|
{
|
||||||
|
return new MimosaCheckState(this, node);
|
||||||
|
}
|
||||||
|
|
||||||
|
class MimosaCheckState : SkyCheckState
|
||||||
|
{
|
||||||
|
public dVdT RXRate { get; private set; }
|
||||||
|
public dVdT TXRate { get; private set; }
|
||||||
|
|
||||||
|
public MimosaCheckState(SkyCheck skyCheck, Node node)
|
||||||
|
: base(skyCheck, node)
|
||||||
|
{
|
||||||
|
RXRate = new dVdT();
|
||||||
|
TXRate = new dVdT();
|
||||||
|
}
|
||||||
|
private MimosaCheckState()
|
||||||
|
{ }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -42,6 +42,7 @@ namespace ln.skyscanner.checks
|
||||||
{
|
{
|
||||||
AddSkyCheck(new Hostalive());
|
AddSkyCheck(new Hostalive());
|
||||||
AddSkyCheck(new Ubiquiti());
|
AddSkyCheck(new Ubiquiti());
|
||||||
|
AddSkyCheck(new Mimosa());
|
||||||
AddSkyCheck(new APC());
|
AddSkyCheck(new APC());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,6 +104,7 @@
|
||||||
<Compile Include="checks\PerformanceValue.cs" />
|
<Compile Include="checks\PerformanceValue.cs" />
|
||||||
<Compile Include="import\skytron\SkytronImport.cs" />
|
<Compile Include="import\skytron\SkytronImport.cs" />
|
||||||
<Compile Include="entities\L2Segment.cs" />
|
<Compile Include="entities\L2Segment.cs" />
|
||||||
|
<Compile Include="checks\Mimosa.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
|
|
Loading…
Reference in New Issue