Zabbix2.4에서 트랩의 깨짐 방지 (zabbix_trap_receiver.pl 버전)

3405 단어 zabbix

하고 싶은 일



일본어 버전 vCenter에서 SNMPTRAP 깨짐을 고치십시오.
이런 느낌・・・

대응전(16진수+스페이스의 열)





대응 후(일본어로!!)





제한사항



UTF8 이외(시프트 JIS 등의 멀티바이트)는 대응할 수 없습니다.

환경



SNMPTRAP을 통한 방법으로 "zabbix_trap_receiver.pl"을 사용하는 환경

해결 방법



기존 프로그램 "zabbix_trap_receiver.pl"을 조금 변경



원래는 Zabbix 소스 코드 2.4.8의 "zabbix_trap_receiver.pl"을 다음과 같이 변경.
항상 적당하지만 움직인다고 생각합니다 w.
PERL의 정규 표현의 스마트한 기술 방법을 모르고, 엉망입니다.

zabbix_trap_receiver.pl
[localhost]# diff  zabbix-2.4.8/misc/snmptrap/zabbix_trap_receiver.pl /usr/local/bin/zabbix_trap_receiver.pl 
97c97,103
<       printf OUTPUT_FILE "  %-30s type=%-2d value=%s\n", $x->[0], $x->[2], $x->[1];
---
>       my $value = $x->[1];
>       if( $value =~ s/^Hex-STRING: //) {
>           $value =~ s/(\n|\r|\r\n)//g;
>           $value =~ s/(..) /chr(hex($1))/ge;
>           $value = "Hex-STRING: " . $value;
>       }
>       printf OUTPUT_FILE "  %-30s type=%-2d value=%s\n", $x->[0], $x->[2], $value;

변경 부분은 TRAP 정보의 형태가 "Hex-STRING"일 때 문자열 16진수를 바이너리로 대체할 뿐.

마지막으로


  • SNMPTT를 이용하고 있을 때의 문자 깨짐 대응은, 이쪽 를 참조해 주세요.

  • 편지와는 상관없지만,
    SNMPTRAP의 소리 처리하는 경우는 SNMPTT가 매우 편리하다고 생각합니다.

    좋은 웹페이지 즐겨찾기