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 Ubiquiti());
|
||||
AddSkyCheck(new Mimosa());
|
||||
AddSkyCheck(new APC());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -104,6 +104,7 @@
|
|||
<Compile Include="checks\PerformanceValue.cs" />
|
||||
<Compile Include="import\skytron\SkytronImport.cs" />
|
||||
<Compile Include="entities\L2Segment.cs" />
|
||||
<Compile Include="checks\Mimosa.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
|
|
Loading…
Reference in New Issue