Windows Tips & News

SNMP를 통해 USB UPS 상태를 모니터링하는 방법

권장: Windows 문제를 해결하고 시스템 성능을 최적화하려면 여기를 클릭하십시오.

SNMP를 통해 USB UPS 상태를 모니터링하는 방법

USB 연결 UPS가 있는 컴퓨터가 여러 대 있습니다. 모든 컴퓨터는 apcupsd 프로그램을 사용합니다. 모든 장치의 전원 공급 장치 상태에 대한 정보를 한 곳에서 집계하려고 한다고 가정해 보겠습니다. snmpd는 이미 그곳에서 실행되고 있기 때문에 기능을 확장하는 것이 논리적일 것입니다.

광고

아래 솔루션, 의례 관리자의 블로그, 모든 snmpd 장치에서 한 번에 데이터를 수집합니다.

SNMP를 통해 USB UPS 상태를 모니터링하려면 먼저 snmp 데몬 구성을 수정해야 합니다.

내용물숨다
준비
SNMP를 통해 USB UPS 상태를 모니터링하는 방법

준비

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" ]; 그 다음에. 에코 $* >> /tmp/passtest.log. 0번 출구. 파이 # # 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; 이삭. 또 다른. # # 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; 이삭. 파이 # # "Process" GET* 요청 - 하드 코딩된 값을 반환합니다. # 에코 "$RET" "$RET"의 경우. $PLACE.1.1.1.0) echo "문자열"; 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 항목; 0번 출구;; $PLACE.2.2.3.0) echo "타임틱"; 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 "문자열"; 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 "문자열"; 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 모델은 모든 매개변수 또는 잘못된 형식을 반환하지 않으므로 코드에 부정확한 내용과 스텁이 포함될 수 있습니다.

이제 준비가 되었습니다.

SNMP를 통해 USB UPS 상태를 모니터링하는 방법

SNMP를 통해 USB UPS 상태를 모니터링하려면 다음 명령을 실행하십시오. snmpwalk -v 1 -c 공개 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. 출력은 다음과 같습니다.

SNMPv2-SMI:: enterprise.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750"
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.2.0 = Gauge32: 36
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.3.0 = 타임틱: (432000) 1:12:00.00
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: enterprise.318.1.1.1.3.2.1.0 = Gauge32: 227
SNMPv2-SMI:: enterprise.318.1.1.1.3.2.4.0 = Gauge32: 50
SNMPv2-SMI:: enterprise.318.1.1.1.3.2.5.0 = STRING: "자동 또는 명시적 자체 테스트"
SNMPv2-SMI:: enterprise.318.1.1.1.4.2.1.0 = Gauge32: 227
SNMPv2-SMI:: enterprise.318.1.1.1.4.2.2.0 = Gauge32: 50
SNMPv2-SMI:: enterprise.318.1.1.1.4.2.3.0 = Gauge32: 13
SNMPv2-SMI:: enterprise.318.1.1.1.4.2.4.0 = Gauge32: 13
SNMPv2-SMI:: enterprise.318.1.1.1.7.2.3.0 = STRING: "아니요"
SNMPv2-SMI:: enterprise.318.1.1.1.7.2.4.0 = STRING: "아니요"
SNMPv2-SMI:: enterprise.318.1.1.1.8.1.0 = Gauge32: 1

모니터링 스크립트를 추가로 구성하면 다음과 같은 멋진 그래프를 얻을 수 있습니다.

업로드전압배터리 온도실행 시간
권장: Windows 문제를 해결하고 시스템 성능을 최적화하려면 여기를 클릭하십시오.
Firefox 65는 Google의 WebP 형식을 지원합니다.

Firefox 65는 Google의 WebP 형식을 지원합니다.

WebP는 Google에서 만든 최신 이미지 형식입니다. 특히 웹용으로 제작되어 화질에 영향을 주지 않으면서 JPEG보다 높은 압축률을 제공합니다. 마지막으로 Mozilla ...

더 읽어보기

Windows 10 빌드 16193의 수정 사항 및 알려진 문제

Windows 10 빌드 16193의 수정 사항 및 알려진 문제

2개의 답글Microsoft는 오늘 또 다른 Windows 10 Insider Preview 버전을 출시했습니다. 윈도우 10 빌드 16193 곧 출시될 Windows 10 ...

더 읽어보기

앱용 "추가 기능"을 제공하는 Windows 10 1주년 업데이트

앱용 "추가 기능"을 제공하는 Windows 10 1주년 업데이트

Windows 10의 다음 주요 업데이트인 Windows 10 Anniversary Update는 운영 체제에 상당한 변경 사항을 가져올 것입니다. 여기에는 다음이 포함됩니다...

더 읽어보기