Windows Tips & News

SNMPを介してUSBUPSステータスを監視する方法

click fraud protection

SNMPを介してUSBUPSステータスを監視する方法

USB接続のUPSを搭載したコンピューターがいくつかあります。 すべてのコンピューターはapcupsdプログラムを使用します。 すべてのユニットの電源の状態に関する情報を1か所に集約するとします。 snmpdはすでにそこで実行されているので、その機能を拡張することは論理的です。

以下の解決策は、 管理者のブログは、すべてのsnmpdユニットから一度にデータを収集します。

SNMPを介してUSBUPSステータスを監視するには、最初にsnmpデーモン構成を変更する必要があります。

準備

以下を設定snmpd.confに追加します。

#APC UPS
パス.1.3.6.1.4.1.318.1.1.1 / bin / sh /etc/snmp/apcupsd.sh

/etc/snmp/apcupsd.shスクリプトの内容は次のとおりです。

#!/ bin / sh -f#apcupsdがオンラインであることを確認します。 apcaccess> / dev / null 2>&1 || exit 0 PLACE = ".1.3.6.1.4.1.318.1.1.1" REQ = "$ 2"#要求されたOID# #割り当てられた値をログに記録するだけでSET要求を処理します。 #このような「割り当て」は永続的ではなく、#構文や要求された値も検証されないことに注意してください。 # if ["$ 1" = "-s"]; それから。 エコー$ * >> / tmp / passtest.log。 0を終了します。 fi# #GETNEXTリクエスト-次の有効なインスタンスを決定します。 # if ["$ 1" = "-n"]; それから。 のケース「$ REQ」。 $ PLACE | \ $ PLACE.0 | \ $ PLACE.0。* | \ $ PLACE.1 | \ $ PLACE.1.1.0 *)RET = $ PLACE.1.1.1.0;; $ PLACE.1 * | \ $ PLACE.2.0 | \ $ PLACE.2.0。* | \ $ PLACE.2.1 | \ $ PLACE.2.2.0 *)RET = $ PLACE.2.2.1.0;; $ PLACE.2.2.1 *)RET = $ PLACE.2.2.2.0;; $ PLACE.2.2.2 *)RET = $ PLACE.2.2.3.0;; $ PLACE.2.2.3 *)RET = $ PLACE.2.2.4.0;; $ PLACE.2 * | \ $ PLACE.3.0 * | \ $ PLACE.3.1 * | \ $ PLACE.3.2.0 *)RET = $ PLACE.3.2.1.0;; $ PLACE.3.2.1 * | \ $ PLACE.3.2.2 * | \ $ PLACE.3.2.3 *)RET = $ PLACE.3.2.4.0;; $ PLACE.3.2.4 *)RET = $ PLACE.3.2.5.0;; $ PLACE.3.2 * | \ $ PLACE.4.0 * | \ $ PLACE.4.1 * | \ $ PLACE.4.2.0 *)RET = $ PLACE.4.2.1.0;; $ PLACE.4.2.1 *)RET = $ PLACE.4.2.2.0;; $ PLACE.4.2.2 *)RET = $ PLACE.4.2.3.0;; $ PLACE.4.2.3 *)RET = $ PLACE.4.2.4.0;; $ PLACE.4.2。* | \ $ PLACE.5 * | \ $ PLACE.6 * | \ $ PLACE.7.0 * | \ $ PLACE.7.1 * | \ $ PLACE.7.2.0 * | \ $ PLACE.7.2.1 * | \ $ PLACE.7.2.2 *)RET = $ PLACE.7.2.3.0;; $ PLACE.7.2.3 *)RET = $ PLACE.7.2.4.0;; $ PLACE.7 * | \ $ PLACE.8.0 *)RET = $ PLACE.8.1.0;; *)終了0;; esac。 そうしないと。 # #GETリクエスト-有効なインスタンスを確認します。 # のケース「$ REQ」。 $ PLACE.1.1.1.0 | \ $ PLACE.2.2.1.0 | \ $ PLACE.2.2.2.0 | \ $ PLACE.2.2.3.0 | \ $ PLACE.2.2.4.0 | \ $ PLACE.3.2.1.0 | \ $ PLACE.3.2.4.0 | \ $ PLACE.3.2.5.0 | \ $ PLACE.4.2.1.0 | \ $ PLACE.4.2.2.0 | \ $ PLACE.4.2.3.0 | \ $ PLACE.4.2.4.0 | \ $ PLACE.7.2.3.0 | \ $ PLACE.7.2.4.0 | \ $ PLACE.8.1.0)RET = $ REQ;; *)終了0;; esac。 fi# #「プロセス」GET *リクエスト-ハードコードされた値を返します。 # エコー「$ RET」 のケース「$ RET」。 $ PLACE.1.1.1.0)echo "string"; apcaccess -u-pモデル; 出口0;; $ PLACE.2.2.1.0)echo "Gauge32"; apcaccess -u -p BCHARGE; 出口0;; $ PLACE.2.2.2.0)echo "Gauge32"; apcaccess -u -p ITEMP; 出口0;; $ PLACE.2.2.3.0)echo "Timeticks"; echo $(($(LC_ALL = C printf "%。* f" 0 $(apcaccess -u -p TIMELEFT))* 6000)); 出口0;; $ PLACE.2.2.4.0)echo "string"; apcaccess -u -p BATTDATE; 出口0;; $ PLACE.3.2.1.0)echo "Gauge32"; apcaccess -u -p LINEV; 出口0;; $ PLACE.3.2.4.0)echo "Gauge32"; apcaccess -u -p LINEFREQ; 出口0;; $ PLACE.3.2.5.0)echo "string"; apcaccess -u -p LASTXFER; 出口0;; $ PLACE.4.2.1.0)echo "Gauge32"; apcaccess -u -p OUTPUTV; 出口0;; $ PLACE.4.2.2.0)echo "Gauge32"; apcaccess -u -p LINEFREQ; 出口0;; $ PLACE.4.2.3.0)echo "Gauge32"; apcaccess -u -p LOADPCT; 出口0;; $ PLACE.4.2.4.0)echo "Gauge32"; apcaccess -u -p LOADPCT; 出口0;; $ PLACE.7.2.3.0)echo "string"; apcaccess -u -p SELFTEST; 出口0;; $ PLACE.7.2.4.0)echo "string"; apcaccess -u -p SELFTEST; 出口0;; $ PLACE.8.1.0)echo "Gauge32"; エコー1; 出口0;; *)echo "string"; エコー "ack..。 $ RET $ REQ "; 出口0;; #起こらないはずです。 esac。

OIDについて疑問がある場合は、それらを見つけることができます ここ. 一部のUPSモデルは、すべてのパラメーターまたは間違った形式を返さないため、コードに不正確な部分やスタブが含まれている可能性があることに注意してください。

これで準備が整いました。

SNMPを介してUSBUPSステータスを監視する方法

SNMPを介してUSBUPSステータスを監視するには、次のコマンドを実行します。 snmpwalk -v 1 -c public 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. 出力は次のようになります。

SNMPv2-SMI:: Enterprises.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750"
SNMPv2-SMI:: Enterprises.318.1.1.1.2.2.1.0 = Gauge32:100
SNMPv2-SMI:: Enterprises.318.1.1.1.2.2.2.0 = Gauge32:36
SNMPv2-SMI:: Enterprises.318.1.1.1.2.2.3.0 =タイムティック:(432000)1:12:00.00
SNMPv2-SMI:: Enterprises.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: Enterprises.318.1.1.1.3.2.1.0 = Gauge32:227
SNMPv2-SMI:: Enterprises.318.1.1.1.3.2.4.0 = Gauge32:50
SNMPv2-SMI:: Enterprises.318.1.1.1.3.2.5.0 = STRING: "自動または明示的なセルフテスト"
SNMPv2-SMI:: Enterprises.318.1.1.1.4.2.1.0 = Gauge32:227
SNMPv2-SMI:: Enterprises.318.1.1.1.4.2.2.0 = Gauge32:50
SNMPv2-SMI:: Enterprises.318.1.1.1.4.2.3.0 = Gauge32:13
SNMPv2-SMI:: Enterprises.318.1.1.1.4.2.4.0 = Gauge32:13
SNMPv2-SMI:: Enterprises.318.1.1.1.7.2.3.0 =文字列: "いいえ"
SNMPv2-SMI:: Enterprises.318.1.1.1.7.2.4.0 = STRING: "NO"
SNMPv2-SMI:: Enterprises.318.1.1.1.8.1.0 = Gauge32:1

監視スクリプトをさらに構成すると、次の気の利いたグラフを取得できます。

Windows10でサインインする前にナレーターを起動する

ナレーターは、Windows10に組み込まれている画面読み上げアプリです。 ナレーターを使用すると、視力に問題のあるユーザーがPCを使用して、一般的なタスクを実行できます。 オペレーティングシス...

続きを読む

Windows 10の累積的な更新、2019年4月25日

Windows 10の累積的な更新、2019年4月25日

返信を残すMicrosoftは、Windows10の特定のバージョン用の一連の更新プログラムをリリースしています。 変更ログを含む更新のリストは次のとおりです。Windows 10 April ...

続きを読む

Windows10バージョン1903のシステム要件

Windows10バージョン1903のシステム要件

Microsoftは、Windows10バージョン1903の公式システム要件を更新しました。 お使いのPCがレドモンドの最新のオペレーティングシステムを実行できるかどうかを知りたい場合があります...

続きを読む