Cyberpower UPS/ATS

Could you please add a check for Cyberpower UPS and ATS/PDU, similar to the APC UPS check?

We have something like this running as a check in the old RMM, and it queries these OIDs:

$OIDDefinitions = @{

CyberPower = @{

UPS = @(

@{ Key="Model"; OID="1.3.6.1.4.1.3808.1.1.1.1.1.1.0"; Label="Model"; Type="String"; InfoOnly=$true }

@{ Key="Name"; OID="1.3.6.1.4.1.3808.1.1.1.1.1.2.0"; Label="Name"; Type="String"; InfoOnly=$true }

@{ Key="Firmware"; OID="1.3.6.1.4.1.3808.1.1.1.1.2.1.0"; Label="Firmware"; Type="String"; InfoOnly=$true }

@{ Key="Serial"; OID="1.3.6.1.4.1.3808.1.1.1.1.2.3.0"; Label="Serial Number"; Type="String"; InfoOnly=$true }

@{ Key="PowerRating"; OID="1.3.6.1.4.1.3808.1.1.1.1.2.6.0"; Label="Rated Power"; Type="Int"; Unit="VA"; InfoOnly=$true }

@{ Key="OutputStatus"; OID="1.3.6.1.4.1.3808.1.1.1.4.1.1.0"; Label="Operating Status"; Type="Enum"

EnumMap = @{ 1="Unknown"; 2="Online"; 3="On Battery"; 4="Boost"; 5="Sleep"; 6="Off"; 7="Restart" }

Thresholds = @{ OK=@(2,4); Warn=@(1,5,7); Error=@(3,6) } }

@{ Key="BatteryStatus"; OID="1.3.6.1.4.1.3808.1.1.1.2.1.1.0"; Label="Battery Status"; Type="Enum"

EnumMap = @{ 1="Unknown"; 2="Normal"; 3="Low"; 4="Not Present" }

Thresholds = @{ OK=@(2); Warn=@(3); Error=@(1,4) } }

@{ Key="BatteryReplace"; OID="1.3.6.1.4.1.3808.1.1.1.2.2.5.0"; Label="Replace Battery"; Type="Enum"

EnumMap = @{ 1="No"; 2="Yes" }

Thresholds = @{ OK=@(1); Error=@(2) } }

@{ Key="BatteryCapacity"; OID="1.3.6.1.4.1.3808.1.1.1.2.2.1.0"; Label="Battery Capacity"; Type="Int"; Unit="%"

Normalize = $null; Thresholds = @{ OKMin=95; WarnMin=85 } }

@{ Key="BatteryTemp"; OID="1.3.6.1.4.1.3808.1.1.1.10.2.0"; Label="Battery Temperature"; Type="Int"; Unit="degrees C"

Normalize = $null; InfoOnly=$true }

@{ Key="BatteryRunTime"; OID="1.3.6.1.4.1.3808.1.1.1.2.2.4.0"; Label="Remaining runtime"; Type="Int"; Unit="min"

Normalize = { param($v) [math]::Round($v / 6000, 1) }

Thresholds = @{ OKMin=20; WarnMin=10 } }

@{ Key="BatteryLastReplace"; OID="1.3.6.1.4.1.3808.1.1.1.2.1.3.0"; Label="Last Replacement"; Type="String"; InfoOnly=$true }

@{ Key="InputVoltage"; OID="1.3.6.1.4.1.3808.1.1.1.3.2.1.0"; Label="Input Voltage"; Type="Int"; Unit="V"

Normalize = { param($v) [math]::Round($v / 10, 1) }

Thresholds = @{ OKMin=200; WarnMin=190 } }

@{ Key="OutputVoltage"; OID="1.3.6.1.4.1.3808.1.1.1.4.2.1.0"; Label="Output Voltage"; Type="Int"; Unit="V"

Normalize = { param($v) [math]::Round($v / 10, 1) }; InfoOnly=$true }

@{ Key="OutputLoad"; OID="1.3.6.1.4.1.3808.1.1.1.4.2.3.0"; Label="Load"; Type="Int"; Unit="%"

Normalize = $null; InfoOnly=$true }

)

PDU = @(

@{ Key="Name"; OID="1.3.6.1.4.1.3808.1.1.3.1.1.0"; Label="Name"; Type="String"; InfoOnly=$true }

@{ Key="Model"; OID="1.3.6.1.4.1.3808.1.1.3.1.5.0"; Label="Model"; Type="String"; InfoOnly=$true }

@{ Key="Serial"; OID="1.3.6.1.4.1.3808.1.1.3.1.6.0"; Label="Serial Number"; Type="String"; InfoOnly=$true }

@{ Key="Supply1"; OID="1.3.6.1.4.1.3808.1.1.3.4.1.1.0"; Label="Input 1 Status"; Type="Enum"

EnumMap = @{ 1="OK"; 2="FAIL" }

Thresholds = @{ OK=@(1); Error=@(2) } }

@{ Key="Supply2"; OID="1.3.6.1.4.1.3808.1.1.3.4.1.2.0"; Label="Input 2 Status"; Type="Enum"

EnumMap = @{ 1="OK"; 2="FAIL"; 3="Not Available" }

Thresholds = @{ OK=@(1,3); Error=@(2) } }

@{ Key="SupplyAlarm"; OID="1.3.6.1.4.1.3808.1.1.3.4.1.3.0"; Label="Input Alarm"; Type="Enum"

EnumMap = @{ 1="All OK"; 2="Input 1 Error"; 3="Input 2 Error"; 4="Both Inputs Error" }

Thresholds = @{ OK=@(1); Warn=@(2,3); Error=@(4) } }

@{ Key="LoadCurrent"; OID="1.3.6.1.4.1.3808.1.1.3.2.3.1.3"; Label="Current Consumption"; Type="Int"; Unit="A"

Normalize = { param($v) [math]::Round($v / 10, 1) }; InfoOnly=$true }

)

ATS = @(

@{ Key="Name"; OID="1.3.6.1.4.1.3808.1.1.6.1.1.0"; Label="Name"; Type="String"; InfoOnly=$true }...

Please authenticate to join the conversation.

Upvoters
Status

Completed

Board
💡

Feature Request

Date

15 days ago

Subscribe to post

Get notified by email when there are changes.