ZABBIX : NW의 I/F 정보를 로우 레벨 디스커버리 기능으로 능숙하게 요리한다
문제
Zabbix의 로우레벨 디스커버리(LLD)는 편리하네요.
그러나 네트워크 장치에 템플릿을 그대로 사용하면,
위와 같이, 아이템수가 많아져(1개의 인터페이스마다 8아이템) 힘듭니다.
정말 모니터링하고 싶은 I/F는 몇 포트밖에 없는데…
그렇다고 Discovery의 Filter에서 일일이, I/F정보를 나열하는 것도 번거롭다.
그런 고민이 없습니까?
하고 싶은 일
모니터링하고 싶은 I/F는, 통상이면 컨피그로 Description의 기재를 하고 있을 것입니다(아래와 같이). 그렇다면, Description 기재=(이콜) 모니터링 대상으로 하면 좋다!!
즉, MIB의 "ifAlias"정보에 특정 문자 "##"가 포함되어 있으면 모니터링 대상의 I/F라고 결정함으로써 항목 수를 최소화 할 수 있습니다.
이것으로 만약 수십 대의 NW 기기를 감시하게 되어도 초당 "초당 감시 항목 수"를 억제 할 수 있습니다 (하지 않으면 50 정도 곧 넘어 버립니다).
패킷 전송량 · NW 기기의 부하, 무엇보다 Zabbix 서버의 부하 경감이 됩니다.
실현 방법
간단합니다.
네트워크 장치용 템플릿 "Template SNMP Interfaces"를 사용한다고 가정합니다.
이 템플릿의 디스커버리 부분을 2점 변경하는 것만으로 실현할 수 있습니다.
템플릿의 검색 규칙 수정
항목 "SNMP OID"의 내용을 다음과 같이 변경합니다.
이렇게 하면 검색에서 {{IFALIAS} 매크로를 사용할 수 있습니다.
모니터링하고 싶은 I/F는, 통상이면 컨피그로 Description의 기재를 하고 있을 것입니다(아래와 같이). 그렇다면, Description 기재=(이콜) 모니터링 대상으로 하면 좋다!!
즉, MIB의 "ifAlias"정보에 특정 문자 "##"가 포함되어 있으면 모니터링 대상의 I/F라고 결정함으로써 항목 수를 최소화 할 수 있습니다.
이것으로 만약 수십 대의 NW 기기를 감시하게 되어도 초당 "초당 감시 항목 수"를 억제 할 수 있습니다 (하지 않으면 50 정도 곧 넘어 버립니다).
패킷 전송량 · NW 기기의 부하, 무엇보다 Zabbix 서버의 부하 경감이 됩니다.
실현 방법
간단합니다.
네트워크 장치용 템플릿 "Template SNMP Interfaces"를 사용한다고 가정합니다.
이 템플릿의 디스커버리 부분을 2점 변경하는 것만으로 실현할 수 있습니다.
템플릿의 검색 규칙 수정
항목 "SNMP OID"의 내용을 다음과 같이 변경합니다.
이렇게 하면 검색에서 {{IFALIAS} 매크로를 사용할 수 있습니다.
템플릿의 검색 규칙 필터 수정
지금까지 {#SNMPVALUE}(즉 ifDescr)를 정규 표현 대상으로 했지만 ifAlias를 정규 표현 대상으로 함으로써 설명에 "##"가 포함된 i/f만을 대상으로 추출할 수 있습니다. .
어쨌든 좋은 질문
여러분도 생각했을지도 모르지만,
NW 기기의 I/F 코멘트 부분은 Description 커멘드로 기재합니다만,
MIB의 OID 이름은 ifAlias에 등록됩니다.
아래에 예가 있듯이 ifDescr은 I/F 이름 (FastEthernet0 등)이 등록되어 있습니다.
왜
[root@sv ~]# snmpwalk -v 1 -c public 192.168.10.2 ifDescr
IF-MIB::ifDescr.1 = STRING: FastEthernet0
IF-MIB::ifDescr.2 = STRING: FastEthernet1
IF-MIB::ifDescr.3 = STRING: BRI0
...
[root@sv ~]# snmpwalk -v 1 -c public 192.168.10.2 ifAlias
IF-MIB::ifAlias.1 = STRING: ## To SV#1
IF-MIB::ifAlias.2 = STRING: ## To SV#2
IF-MIB::ifAlias.3 = STRING:
...
프로덕션 적용 시 고려 사항
[root@sv ~]# snmpwalk -v 1 -c public 192.168.10.2 ifDescr
IF-MIB::ifDescr.1 = STRING: FastEthernet0
IF-MIB::ifDescr.2 = STRING: FastEthernet1
IF-MIB::ifDescr.3 = STRING: BRI0
...
[root@sv ~]# snmpwalk -v 1 -c public 192.168.10.2 ifAlias
IF-MIB::ifAlias.1 = STRING: ## To SV#1
IF-MIB::ifAlias.2 = STRING: ## To SV#2
IF-MIB::ifAlias.3 = STRING:
...
Reference
이 문제에 관하여(ZABBIX : NW의 I/F 정보를 로우 레벨 디스커버리 기능으로 능숙하게 요리한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mishikawan/items/55df3b7ba339dcf587b2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)