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

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

Opera 41 for Windowsがリリースされ、最大86%のパフォーマンス向上を実現

Opera 41 for Windowsがリリースされ、最大86%のパフォーマンス向上を実現

4件の返信Opera 41の最終バージョンは、本日早くにリリースされました。 開発者によると、このリリースでは、特にブラウザの起動時にパフォーマンスが大幅に向上します。 このリリースの背後にある...

続きを読む

Microsoft Edgeは、Windows 10 CreatorsUpdateでセッションマネージャーとタブブラウザーを取得します

Microsoft Edgeは、Windows 10 CreatorsUpdateでセッションマネージャーとタブブラウザーを取得します

2016年10月のMicrosoftイベント中に、同社はOS全体のWindows 10 CreatorsUpdateで行われるいくつかの改善を示しました。 しかし、それらのほとんどは非常に短時間...

続きを読む

Linux Mint18.3は改良されたソフトウェアマネージャーを取得しています

Linux Mint18.3は改良されたソフトウェアマネージャーを取得しています

3件の返信Linux Mint18.3の次期バージョンは活発に開発されています。 公式ブログの新しい投稿は、OSにもたらされる多くの素晴らしい改善を明らかにしています。 これには、Softwar...

続きを読む