Windows Tips & News

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

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

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

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

SNMP를 통해 USB UPS 상태를 모니터링하려면 먼저 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 || 출구 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

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

Microsoft, KB4586238 포함 빌드 20231.1005 출시

Microsoft, KB4586238 포함 빌드 20231.1005 출시

답장을 남겨주세요Microsoft는 누적 업데이트 빌드 20231.1005(KB4586238)를 출시하기 시작했습니다. 이 업데이트에는 새로운 것이 포함되어 있지 않으며 서비...

더 읽어보기

Windows 10 빌드 10122는 강제로 Microsoft 계정을 사용하도록 합니다.

Windows 10 빌드 10122는 강제로 Microsoft 계정을 사용하도록 합니다.

Windows 10 빌드 10122에서 Microsoft는 설치 프로그램을 변경했습니다. 설치하는 동안 설치 프로그램에서 몇 가지 변경 사항을 발견했습니다. 새로운 모양과 특...

더 읽어보기

Windows 10 빌드 10074는 재작업된 설치 환경을 제공합니다.

Windows 10 빌드 10074는 재작업된 설치 환경을 제공합니다.

권장: Windows 문제를 해결하고 시스템 성능을 최적화하려면 여기를 클릭하십시오.유출된 Windows 10 빌드 10074를 설치하는 동안 설치 프로그램에 몇 가지 변경 ...

더 읽어보기