Windows Tips & News

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

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

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

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

פרסומת

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

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

תוכןלהתחבא
הכנות
כיצד לנטר את מצב UPS של USB באמצעות 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 ולמטב את ביצועי המערכת
מיקרוסופט מאשרת באג שגורם ל-BSOD עם העדכונים המצטברים האחרונים

מיקרוסופט מאשרת באג שגורם ל-BSOD עם העדכונים המצטברים האחרונים

ב-9 במרץ 2021, Microsoft מְשׁוּחרָר עדכוני Patch Tuesday רגילים עבור כל גרסאות Windows הנתמכות. ע...

קרא עוד

Microsoft Edge Dev build 90.0.818.0 מגיע עם שיפורים של הורדות ואוספים

Microsoft Edge Dev build 90.0.818.0 מגיע עם שיפורים של הורדות ואוספים

השאר תגובהמבנה חדש של Edge מגיע לערוץ Dev של הדפדפן. עם גרסה 90.0.818.0, משתמשי ערוץ Dev מקבלים א...

קרא עוד

להלן טיפים רשמיים כיצד לשפר את זמן התקנת עדכוני Windows

להלן טיפים רשמיים כיצד לשפר את זמן התקנת עדכוני Windows

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

קרא עוד