2018/07/22 CentOS7/PandoraFMS7





UPSの異常・故障をポーリングで検知する

UPSの故障検知は重要な監視項目です。
ここではUPS大手のシュナイダーエレクトリックのSMART-UPSを例にUPS監視コンポーネントを作成してみます。

UPSのパフォーマンス監視は、別項にて記載してあります。
UPSパフォーマンス監視をモジュールテンプレートで行う

Smart-UPS自身に故障時にメールを送信させれば十分監視は可能ですが、複数のUPSを個々に設定したり各UPSアドレスからメール中継を許可する必要もあります。

UPS監視は定期的に監視する「ポーリング」と、UPS自身が異常を通知してくれる「トラップ」があります。
ここではポーリングに関して記述します。
なお、APCのMIBを追加しておくと便利でしょう。PowerNet.mibはネットのあちこちで発見できます。

以下は、SMART-UPSのおすすめ監視項目です。
upsBasicOutputStatus
.1.3.6.1.4.1.318.1.1.1.4.1.1.0


UPSの状態です。

1=unknown
2=onLine (商用電源)
3=onBattery (バッテリ駆動)
4=onSmartBoost
5=timedSleeping
6=softwareBypass
7=off
8=rebooting
9=switchedBypass
10=hardwareFailureBypass
11=SleepingUntilPowerReturn
12=onSmartTrim
13=ecoMode
14=hotStandby
15=onBatteryTest
16=emergencyStaticBypass
17=staticBypassStandby
18=powerSavingMode
19=spotMode
20=eConversion
21=chargerSpotmode
22=inverterSpotmode
たくさん項目がありますが
商用電源で稼働しているか(onLine)、バッテリ駆動している(onBattery)を監視すればよいでしょう。

ただしセルフテスト中は、一時的にonBatteryとなります。
upsBasicBatteryStatus
.1.3.6.1.4.1.318.1.1.1.2.1.1.0
バッテリーの状態です。
1=unknown
2=batteryNormal(正常)
3=batteryLow (低下)
4=batteryInFaultCondition (不良)

3と4なら異常
upsAdvBatteryReplaceIndicator
.1.3.6.1.4.1.318.1.1.1.2.2.4.0
バッテリ交換が必要かです。

1=noBatteryNeedsReplacing
2=batteryNeedsReplacing
  (交換必要)

2なら異常

UPS監視では、別項の監視テンプレートへ追加しておくと一括で構成できます。
UPSパフォーマンス監視をモジュールテンプレートで行う




1.監視コンポーネントの作成

「モジュール管理」-「コンポーネント管理」から「ネットワークコンポーネントを新規作成する」を選択します。



赤線の部分を設定します。
設定値は下記表を参照してください。






バッテリ駆動の監視項目
名前
upsBasicOutputStatus
種類
Remote SNMP network agent, numeric data

モジュールグループ
Performance

グループ
UPS Performance
適当な監視グループへ登録
間隔
1分
1分ごとにUPSの状態を監視。
つまり数秒間のバッテリ切り替わりは見逃す可能性が高い

警告状態
最小0 最大0

障害状態
最小3 最大0
2の時がonLine(商用電源)
3の時がonBattery(バッテリ駆動)

連続抑制回数
正常移行時 0
警告移行時 0
障害移行時 1
2回続けてバッテリ駆動を検知した場合、障害とします(1回目は無視)
これはセルフテスト時のバッテリ駆動を検知しにくくする効果がありますが、60秒以内の停電は全て見逃すことにもなります。

停電を正確に把握したいなら、障害移行時の値を0にします。
不明イベントを削除
有効

SNMP Enterprise文字列
OID

.1.3.6.1.4.1.318.1.1.1.4.1.1.0

SNMPコミュニティ
適切な値を
UPSごとにコミュニティ名が異なるなら、ここは空白にしておきます
説明
バッテリ駆動


バッテリ容量低下の監視項目
名前
upsBasicBatteryStatus
種類
Remote SNMP network agent, numeric data

モジュールグループ
Performance

グループ
UPS Performance
適当な監視グループへ登録
間隔
15分

警告状態
最小0 最大0

障害状態
最小3 最大0
2の時がbatteryNormal
3の時がbatteryLow(バッテリ低下)

連続抑制回数
正常移行時 0
警告移行時 0
障害移行時 0


不明イベントを削除
有効

SNMP Enterprise文字列
OID

..1.3.6.1.4.1.318.1.1.1.2.1.1.0

SNMPコミュニティ
適切な値を
UPSごとにコミュニティ名が異なるなら、ここは空白にしておきます
説明
バッテリ容量低下


バッテリ交換の監視項目
名前
upsAdvBatteryReplaceIndicator 

種類
Remote SNMP network agent, numeric data

モジュールグループ
Performance

グループ
UPS Performance
適当な監視グループへ登録
間隔
15分

警告状態
最小0 最大0

障害状態
最小2 最大0
1が正常、2がバッテリ交換が必要です
連続抑制回数
正常移行時 0
警告移行時 0
障害移行時 0

不明イベントを削除
有効

SNMP Enterprise文字列
OID

.1.3.6.1.4.1.318.1.1.1.2.2.4.0

SNMPコミュニティ
適切な値を
UPSごとにコミュニティ名が異なるなら、ここは空白にしておきます
説明
バッテリ交換



これでバッテリの状態異常に関する監視コンポーネントを作成できました。
UPS監視デバイスへ、コンポーネントを割り当てます。




2.監視してみる

デバイスで割り当てたモジュールを動作試験してみます。
ここではupsBasicOutputStatusを割り当てて監視してみました。
「1回目のバッテリ駆動は見逃す」設定をしたものです。


障害の連続抑制回数を1に設定してあるので、一度目のバッテリ駆動(onBattery=3)では
まだデバイスはグリーンのままです。



停電状態が継続し、二度目のバッテリ駆動を検知した場合、UPSのステータスが障害状態として
認識されました。



各UPSのアラートは、メールの文面をわかりやすいものにしたほうが理解しやすいので、UPSバッテリ交換アラート、UPSバッテリ駆動アラート、などと個別に作成したほうが柔軟になるし管理も楽でしょう。
その際、アラートテンプレートを増やして文面を変える方法か、メール送信アクションを増やして文面を変える方法が考えられます。







prev.gif