Windows Tips & News

כיצד לנטר את מצב UPS של USB באמצעות SNMP

כיצד לנטר את מצב UPS של USB באמצעות SNMP

ישנם מספר מחשבים עם UPS המחובר ל-USB. כל המחשבים משתמשים בתוכנת apcupsd. נניח שברצונך לצבור מידע על מצב ספק הכוח עבור כל יחידה במקום אחד. מכיוון ש-snmpd כבר פועל שם, זה יהיה הגיוני להרחיב את הפונקציונליות שלו.

הפתרון שלהלן, באדיבות הבלוג של מנהל, יאסוף את הנתונים מכל יחידות snmpd בבת אחת.

על מנת לפקח על סטטוס UPS של USB באמצעות SNMP, עלינו לשנות תחילה את תצורת הדמון snmp.

הכנות

מוסיף את הדברים הבאים ל-config 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 פשוט על ידי רישום הערך שהוקצה. # שימו לב ש"הקצאות" כאלה אינן מתמידות, # וגם התחביר או הערך המבוקש לא מאומתים. # if [ "$1" = "-s" ]; לאחר מכן. echo $* >> /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) הד "מחרוזת"; apcaccess -u -p MODEL; יציאה 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) הד "מחרוזת"; 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) הד "מחרוזת"; 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) הד "מחרוזת"; apcaccess -u -p SELFTEST; יציאה 0;; $PLACE.7.2.4.0) הד "מחרוזת"; apcaccess -u -p SELFTEST; יציאה 0;; $PLACE.8.1.0) echo "Gauge32"; הד 1; יציאה 0;; *) הד "מחרוזת"; הד "אק... $RET $REQ"; יציאה 0;; # לא אמור לקרות. esac.

אם אתה תוהה לגבי OIDs, אתה יכול למצוא אותם פה. שים לב שדגמי UPS מסוימים אינם מחזירים את כל הפרמטרים או בפורמט שגוי, כך שהקוד עשוי להכיל אי דיוקים ושבבים.

עכשיו אתה מוכן.

כיצד לנטר את מצב UPS של USB באמצעות SNMP

כדי לעקוב אחר מצב USB UPS באמצעות SNMP, הפעל את הפקודה הבאה: 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 = מד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.1.8.1.0 = מד32: 1

אם תגדיר עוד יותר את סקריפט הניטור, תוכל לקבל את הגרפים הנחמדים האלה:

מחק את ערך תפריט האתחול ב-Windows 10

מחק את ערך תפריט האתחול ב-Windows 10

מוּמלָץ: לחץ כאן כדי לתקן בעיות של Windows ולמטב את ביצועי המערכתכיצד למחוק ערך בתפריט האתחול ב-W...

קרא עוד

הפעל את תפריט האתחול מדור קודם כמו Windows 7 ב-Windows 10

הפעל את תפריט האתחול מדור קודם כמו Windows 7 ב-Windows 10

מוּמלָץ: לחץ כאן כדי לתקן בעיות של Windows ולמטב את ביצועי המערכתאם עברת ל-Windows 10 מ-Windows 7...

קרא עוד

דפדפן Vivaldi v1.0.94.2

דפדפן Vivaldi v1.0.94.2

מוּמלָץ: לחץ כאן כדי לתקן בעיות של Windows ולמטב את ביצועי המערכתסיקרנו בעבר את ויוואלדי והתעניינ...

קרא עוד