소스에서 설정

원본 보기

소스에서 설정

개요

소스에서 설치한 경우, 다음 정보가 Zabbix Java gateway 설정에 도움이 될 것입니다.

파일 개요

소스에서 Java gateway를 얻었다면, $PREFIX/sbin/zabbix_java 아래에 셸 스크립트, JAR 및 구성 파일 모음을 가지게 될 것입니다. 이러한 파일의 역할은 아래에 요약되어 있습니다.

bin/zabbix-java-gateway-$VERSION.jar

Java gateway JAR 파일 자체입니다.

lib/logback-core-1.5.16.jar
lib/logback-classic-1.5.16.jar
lib/slf4j-api-2.0.16.jar
lib/android-json-4.3_r3.1.jar

Java gateway의 의존성: Logback, SLF4J, 및 Android JSON 라이브러리입니다.

lib/logback.xml  
lib/logback-console.xml

Logback용 구성 파일입니다.

shutdown.sh  
startup.sh

Java gateway 시작 및 중지를 위한 편의 스크립트입니다.

settings.sh

위의 시작 및 종료 스크립트에서 소스되는 구성 파일입니다.

Java gateway 구성 및 실행

기본적으로 Java gateway는 포트 10052에서 수신 대기합니다. Java gateway를 다른 포트에서 실행할 계획이라면, settings.sh 스크립트에서 지정할 수 있습니다. 이것과 기타 옵션을 지정하는 방법은 Java gateway 구성 파일 설명을 참조하세요.

포트 10052는 IANA에 등록되지 않았습니다.

설정이 완료되면 시작 스크립트를 실행하여 Java gateway를 시작할 수 있습니다:

./startup.sh

마찬가지로 Java gateway가 더 이상 필요하지 않다면 종료 스크립트를 실행하여 중지합니다:

./shutdown.sh

서버나 프록시와 달리 Java gateway는 가벼우며 데이터베이스가 필요하지 않습니다.

Java gateway 사용을 위한 서버 구성

Java gateway가 실행 중이면, Zabbix 서버에게 Zabbix Java gateway를 어디서 찾을지 알려주어야 합니다. 이는 서버 구성 파일에서 JavaGateway 및 JavaGatewayPort 매개변수를 지정하여 수행됩니다. JMX 애플리케이션이 실행되는 호스트가 Zabbix 프록시에 의해 모니터링되는 경우, 대신 프록시 구성 파일에서 연결 매개변수를 지정합니다.

JavaGateway=192.168.3.14
JavaGatewayPort=10052

기본적으로 서버는 JMX 모니터링과 관련된 프로세스를 시작하지 않습니다. 그러나 이를 사용하려면 Java 폴러의 미리 포크된 인스턴스 수를 지정해야 합니다. 일반 폴러 및 트래퍼를 지정하는 것과 같은 방식으로 수행합니다.

StartJavaPollers=5

서버나 프록시 구성이 완료되면 반드시 재시작하는 것을 잊지 마세요.

Java gateway 디버깅

Java gateway에 문제가 있거나 프론트엔드에서 아이템에 대해 보는 오류 메시지가 충분히 설명적이지 않은 경우, Java gateway 로그 파일을 확인하고 싶을 수 있습니다.

기본적으로 Java gateway는 로그 레벨 "info"로 /tmp/zabbix_java.log 파일에 활동을 기록합니다. 때로는 해당 정보가 충분하지 않아 로그 레벨 "debug"에서의 정보가 필요할 수 있습니다. 로깅 레벨을 높이려면 lib/logback.xml 파일을 수정하고 <root> 태그의 level 속성을 "debug"로 변경합니다:

<root level="debug">
  <appender-ref ref="FILE" />
</root>

Zabbix 서버나 Zabbix 프록시와 달리, logback.xml 파일을 변경한 후 Zabbix Java gateway를 재시작할 필요가 없습니다 - logback.xml의 변경사항은 자동으로 감지됩니다. 디버깅이 완료되면 로깅 레벨을 "info"로 되돌릴 수 있습니다.

다른 파일이나 데이터베이스와 같은 완전히 다른 매체에 로그하려면, 필요에 맞게 logback.xml 파일을 조정하세요. 자세한 내용은 Logback Manual을 참조하세요.

때로는 디버깅 목적으로 Java gateway를 데몬이 아닌 콘솔 애플리케이션으로 시작하는 것이 유용합니다. 이를 위해서는 settings.sh에서 PID_FILE 변수를 주석 처리합니다. PID_FILE이 생략되면, startup.sh 스크립트는 Java gateway를 콘솔 애플리케이션으로 시작하고 Logback이 lib/logback-console.xml 파일을 대신 사용하도록 합니다. 이 파일은 콘솔에 로그하는 것뿐만 아니라 로깅 레벨 "debug"도 활성화되어 있습니다.

마지막으로, Java gateway가 로깅에 SLF4J를 사용하므로, lib 디렉터리에 적절한 JAR 파일을 배치하여 Logback을 원하는 프레임워크로 교체할 수 있습니다. 자세한 내용은 SLF4J Manual을 참조하세요.

JMX 모니터링

자세한 내용은 JMX 모니터링 페이지를 참조하세요.

다음 단계는?