본문으로 건너뛰기

SNMP (네트워크 장비 · UPS)

SNMP v2c — 스위치·라우터·UPS·서버 같은 인프라 장비를 읽습니다(UDP 161). PLC 가 아니라 «공장을 떠받치는 장비» 를 같은 화면에서 보고 싶을 때 씁니다.

상황어떤 카드를 쓰나요
스위치 · 라우터 · UPS · 서버 · NASSNMP (이 페이지)
산업용 PLCModbus TCP · OPC-UA
CNC 공작기계MTConnect · FOCAS
이걸 왜 쓰나

설비가 멈춘 원인이 설비가 아니라 네트워크나 전원인 경우가 많습니다. UPS 배터리 잔량과 스위치 포트 오류를 설비 데이터와 같은 타임라인에 올려 두면 그 판단이 빨라집니다.


등록 폼 입력값​

입력 칸무엇을 적나요예시
IP 주소장비 관리 IP10.20.30.1
포트표준 161161
수집 주기폴링 주기(ms)10000 (인프라 지표는 길게)

옵션​

옵션기본값무엇
communitypublicSNMP 커뮤니티 문자열
request-timeout2000응답 대기(ms)
public 그대로 두지 마십시오

읽기 전용이라도 커뮤니티 문자열은 비밀번호입니다. 장비에서 별도 읽기 전용 커뮤니티를 만들어 쓰고, 관리망 밖에서 161 이 열리지 않게 하십시오.


태그의 PLC 주소 표기 — OID​

태그의 PLC 주소 = OID(점 표기)입니다. 앞의 . 은 있어도 없어도 됩니다.

OID무엇
1.3.6.1.2.1.1.3.0sysUpTime — 장비가 켜져 있던 시간
1.3.6.1.2.1.1.5.0sysName — 장비 이름
1.3.6.1.2.1.2.2.1.10.1ifInOctets.1 — 1번 포트 수신 바이트
1.3.6.1.2.1.2.2.1.8.1ifOperStatus.1 — 1번 포트 링크 상태

🔴 끝의 인덱스를 빠뜨리지 마십시오. 스칼라 값은 .0, 테이블 값은 .<인덱스> 가 붙습니다. 1.3.6.1.2.1.1.3 은 값이 아니라 «가지» 라서 빈 값이 돌아옵니다.

UPS·PDU 처럼 제조사 고유 지표는 그 제조사의 MIB 문서에 OID 가 적혀 있습니다.

값이 어떻게 들어오나​

SNMP 타입들어오는 값
INTEGER · Counter32 · Gauge32 · TimeTicks숫자
OCTET STRING문자열 (출력 불가 문자면 hex)
OID점 표기 문자열
IpAddressa.b.c.d
noSuchObject · noSuchInstance · endOfMibView빈 문자열
Counter 는 «누적» 입니다

ifInOctets 같은 Counter 는 계속 늘어나는 누계라 그 값 자체는 의미가 옅습니다. 초당 증가량이 필요하면 수식으로 차분을 잡으십시오 → 수식 적용


안 될 때​

증상먼저 볼 것
전부 빈 값커뮤니티 문자열, 장비의 SNMP 허용 IP 목록
특정 OID 만 빔인덱스(.0 · .1)가 붙었는지, 그 장비가 그 MIB 를 지원하는지
간헐적으로 빔UDP 라 유실될 수 있습니다 — request-timeout 을 늘리십시오