Windows Tips & News

วิธีตรวจสอบสถานะ USB UPS ผ่าน SNMP

วิธีตรวจสอบสถานะ USB UPS ผ่าน SNMP

มีคอมพิวเตอร์หลายเครื่องที่มี UPS ที่เชื่อมต่อ USB คอมพิวเตอร์ทุกเครื่องใช้โปรแกรม apcupsd สมมติว่าคุณต้องการรวมข้อมูลเกี่ยวกับสถานะของแหล่งจ่ายไฟสำหรับทุกยูนิตในที่เดียว เนื่องจาก snmpd ทำงานอยู่ที่นั่นแล้ว จึงมีเหตุผลที่จะขยายฟังก์ชันการทำงาน

วิธีแก้ปัญหาด้านล่างได้รับความอนุเคราะห์จาก บล็อกของแอดมินจะรวบรวมข้อมูลจากหน่วย snmpd ทั้งหมดพร้อมกัน

ในการตรวจสอบสถานะ USB UPS ผ่าน SNMP เราต้องแก้ไขการกำหนดค่า snmp daemon ก่อน

การเตรียมการ

เพิ่มสิ่งต่อไปนี้ในการกำหนดค่า 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 || ออก 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # ขอ OID # # ประมวลผลคำขอของ SET โดยเพียงแค่บันทึกค่าที่กำหนด # โปรดทราบว่า "การมอบหมาย" ดังกล่าวจะไม่คงอยู่ # และไวยากรณ์หรือค่าที่ร้องขอจะไม่ได้รับการตรวจสอบ # ถ้า [ "$1" = "-s" ]; แล้ว. echo $* >> /tmp/passtest.log. ทางออก 0 ฟิ # # คำขอ GETNEXT - กำหนดอินสแตนซ์ที่ถูกต้องถัดไป # ถ้า [ "$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;; อีแซก อื่น. # # รับคำขอ - ตรวจสอบอินสแตนซ์ที่ถูกต้อง # กรณี "$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;; อีแซก ฟิ # # "ประมวลผล" คำขอ 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 "สตริง"; 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 "สตริง"; apcaccess -u -p SELFTEST; ทางออก 0;; $PLACE.8.1.0) echo "Gauge32"; เสียงสะท้อน 1; ทางออก 0;; *) echo "สตริง"; ก้อง “แอ๊ก... $RET $REQ"; ทางออก 0;; #ไม่ควรเกิดขึ้น อีแซก

หากคุณสงสัยเกี่ยวกับ OID คุณสามารถค้นหาได้ ที่นี่. โปรดทราบว่า UPS บางรุ่นไม่ได้ส่งคืนพารามิเตอร์ทั้งหมดหรืออยู่ในรูปแบบที่ไม่ถูกต้อง ดังนั้นรหัสจึงอาจมีความไม่ถูกต้องและส่วนท้าย

ตอนนี้คุณพร้อมแล้ว

วิธีตรวจสอบสถานะ USB UPS ผ่าน SNMP

ในการตรวจสอบสถานะ USB UPS ผ่าน SNMP ให้รันคำสั่งต่อไปนี้: snmpwalk -v 1 -c สาธารณะ 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 = มาตรวัด 32: 100
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.2.0 = มาตรวัด 32: 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 = มาตรวัด 32: 227
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.4.0 = มาตรวัด 32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.5.0 = STRING: "การทดสอบตนเองโดยอัตโนมัติหรือชัดเจน"
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.1.0 = มาตรวัด 32: 227
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.2.0 = มาตรวัด 32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.3.0 = มาตรวัด 32: 13
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.4.0 = มาตรวัด 32: 13
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.3.0 = STRING: "ไม่"
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.4.0 = STRING: "ไม่"
SNMPv2-SMI:: enterprises.318.1.1.8.1.0 = มาตรวัด 32: 1

หากคุณกำหนดค่าสคริปต์การมอนิเตอร์เพิ่มเติม คุณจะได้รับกราฟที่ดีเหล่านี้:

แก้ไข: ลบลูกศรออกจากซิสเต็มเทรย์ใน Windows 10 build 14271

แก้ไข: ลบลูกศรออกจากซิสเต็มเทรย์ใน Windows 10 build 14271

15 ตอบกลับตามที่ Microsoft เตือนอย่างเป็นทางการ การเปิดตัวล่าสุด Windows 10 บิลด์ 14271 มีปัญหากั...

อ่านเพิ่มเติม

Microsoft อนุญาตให้ผู้ใช้ติดตั้ง Windows 10 เวอร์ชัน 1903 ได้มากขึ้น

Microsoft อนุญาตให้ผู้ใช้ติดตั้ง Windows 10 เวอร์ชัน 1903 ได้มากขึ้น

ที่แนะนำ: คลิกที่นี่เพื่อแก้ไขปัญหา Windows และเพิ่มประสิทธิภาพระบบตามที่คุณอาจจำได้ Microsoft ได...

อ่านเพิ่มเติม

Microsoft กำลังผลักดัน Windows 10 เวอร์ชัน 1903 ให้กับผู้ใช้ 1803 ราย

เรากำลังเริ่มการอัปเดต Windows 10 เดือนพฤษภาคม 2019 สำหรับลูกค้าที่มีอุปกรณ์ที่ใกล้จะสิ้นสุดการให...

อ่านเพิ่มเติม