[Zabbix] Tomcat 모니터링

empty·2021년 4월 16일
0

ZABBIX

목록 보기
4/5

tomcat 모니터링

tomcat의 모니터링은 오직 JMX를 이용해서 모니터링할 수 있다. Zabbix에서 JMX를 이용하려면 Zabbix 서버에 zabbix-java-gateway를 설치해야 한다.

zabbix-java-gateway 설정

  1. 설치

    apt install -y zabbix-java-gateway
  2. 환경설정

    JavaGateway 항목을 찾아서 값을 셋팅한다.

    • JavaGateWay의 IP를 설정해야 하는데 Zabbix 서버의 IP로 설정하였다.
    > vi /etc/zabbix/zabbix_server.conf
    
    ...
    282 ### Option: JavaGateway
    283 #       IP address (or hostname) of Zabbix Java gateway.
    284 #       Only required if Java pollers are started.
    285 #
    286 # Mandatory: no
    287 # Default:
    288 JavaGateway=192.168.1.25 
    289
    290 ### Option: JavaGatewayPort
    291 #       Port that Zabbix Java gateway listens on.
    292 #
    293 # Mandatory: no
    294 # Range: 1024-32767
    295 # Default:
    296 JavaGatewayPort=10052
    297
    298 ### Option: StartJavaPollers
    299 #       Number of pre-forked instances of Java pollers.
    300 #
    301 # Mandatory: no
    302 # Range: 0-1000
    303 # Default:
    304 StartJavaPollers=5
  3. zabbix-java-gateway 시작

    systemctl enable zabbix-java-gateway
    systemctl start zabbix-java-gateway

tomcat에 JMX 설정

  1. 설정파일에 JMX 설정 값 추가

    > vi /usr/local/java/apache-tomcat-8.5.28/bin/setenv.sh
    
    # Added 21.04.16 JMX Monitoring
    CATALINA_OPTS=$CATALINA_OPTS" -Dcom.sun.management.jmxremote \
    -Dcom.sun.management.jmxremote.port=10060 \
    -Dcom.sun.management.jmxremote.authenticate=true \
    -Dcom.sun.management.jmxremote.password.file=$CATALINA_BASE/conf/jmxremote.password \
    -Dcom.sun.management.jmxremote.access.file=$CATALINA_BASE/conf/jmxremote.access \
    -Dcom.sun.management.jmxremote.ssl=false
    -Djava.rmi.server.hostname=192.168.1.5"
    
    > chmod 755 setenv.sh
    • -Dcom.sun.management.jmxremote.port=10060 : java-gateway가 모니터링에 사용할 포트를 정의
    • -Dcom.sun.management.jmxremote.ssl=false : JMX 모니터링에 SSL 사용을 하지않는다.
    • -Dcom.sun.management.jmxremote.authenticate=false : JMX 모니터링에 인증을 사용한다.
      • -Dcom.sun.management.jmxremote.password.file=$CATALINA_BASE/conf/jmxremote.password
      • -Dcom.sun.management.jmxremote.access.file=$CATALINA_BASE/conf/jmxremote.access
    • -Djava.rmi.server.hostname=192.168.1.5: 자기자신의 Private IP Address
  2. JMX Password 및 Access 설정

    cd /usr/local/java/apache-tomcat-8.5.28/conf/
    
    vi jmxremote.access
    admin readwrite
    user readonly
    
    vi jmxremote.password
    admin dkagh1.
    user user1!
  3. 톰캣 재시작

    /usr/local/java/apache-tomcat-8.5.28/bin/shutdown.sh
    /usr/local/java/apache-tomcat-8.5.28/bin/startup.sh

Zabbix 설정

  1. 템플릿 수정

- JMX인증에 사용될 `{$TOMCAT.PASSWORD}` 와 `{$TOMCAT.USER}` 를 적절하게 수정해준다.
  1. 호스트 추가

- 기존에 사용하던 Agent 인터페이스 외에 JMX 인터페이스를 추가시키고 포트는 JMX의 포트인 8989로 설정한다.
  1. 추가된 호스트에 템플릿 적용

- 'Templates/Applications' → 'Template App Apache Tomcat JMX' 추가

*보통 Apache Tomcat JMX 이라는 템플릿이 존재할텐데 나의 경우에는 해당 템플릿이 존재하지 않아서 수동으로 Import해준 템플릿이다. 따라서 템플릿의 이름이 다를수도 있다.

Reference

0개의 댓글