Zabbix로 Tomcat(JMX)모니터링

삽질 및 오늘의 교훈

정확한 버전공식문서를 보자 블로그의 선각자들은 나와 다른 환경일 수 있다.

버전

버전마다 미묘하게 안 된다.

  • Tomcat 9
  • Zabbix Server 4

JMX 사용을 위한 Tomcat 환경변수 설정

나의 문제는 JMX 포트RMI 포트를 다른 포트를 잡아줘야 한다는 것이었다. 누군가는 같게 잡아주거나 안 잡아줘도 된다고 하던데 명확하게 다른 포트 두개를 잡아주고 방화벽을 열어주지 않으면 SSL Peer 에러가 계속났었음.

//setenv.sh에 아래 추가 혹은 신규 생성
#!/bin/sh
JMX_OPT=" -Dcom.sun.management.jmxremote.port={JMX 포트} \
-Dcom.sun.management.jmxremote.rmi.port={RMI 포트} \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false"
CATALINA_OPT=" ${JMX_OPT} ${CATALINA_OPT}"

jar파일을 tomcat의 lib에 추가

maven을 쓴다면 maven쪽에, 아니면 tomact에 jar 바이너리를 버전에 맞게 맞아서 바로 넣기

zabbix-java-gateway

jmx는 zabbix server를 사용하지 않고 별도의 java gateway를 설치해줘야 한다.

yum install zabbix-java-gateway

컨피그에서 중요한 점은 기존 zabbix server포트와 javagatewayport는 다른 포트를 지정해야 함.

https://www.zabbix.com/documentation/5.2/en/manual/concepts/java/from_rhel_centos

더 적을수도...

참고

  1. https://tomcat.apache.org/tomcat-9.0-doc/monitoring.html#Introduction
  2. Monitoring Tomcat with ZABBIX