와탭 모니터링을 사용하면 에이전트 업데이트를 해야하는 경우가 있습니다. 그런데 다른 모니터링과 달리, 와탭 에이전트 파일 이름에는 버전 정보가 포함되어 있습니다. 그 이유에 대해 소개하겠습니다.
와탭 에이전트는 좌측부터 [와탭 에이전트] [버전 정보]로 구성되어 있습니다. 자바 애플리케이션 모니터링 에이전트는 자바 프로세스가 기동이 될 때, 프로세스 내부에서 같이 동작하는 방식입니다.
와탭 JAVA 에이전트는 임베디드로 자바 프로세스가 기동될 때 프로세스 내부에서 동작하는 방식으로 작동합니다. Tomcat, SpringBoot와 같은 자바 프로세스에 와탭 자바에이전트가 임베디드 되고 로딩되어 동작합니다.
에이전트가 기동되면서 필요한 클래스들은 클래스 로더에 의해 메모리에 로딩이 되고, 메모리 공간 안에서 동작하게 됩니다. 이 단계에서는 에이전트 이름이 중요하지 않습니다.
하지만 운영 중에 와탭 자바 에이전트를 동일한 이름의 jar 파일로 변경 후 업데이트 과정에서 새로운 클래스를 로딩하는 상황이 발생하면 오류가 발생합니다. 따라서 자바 프로세스를 다운시킨 후에 에이전트를 교체하고 다시 로딩해야 합니다. 예를 들어 Tomcat 서버가 운영 중이라면 Tomcat 서버를 내리고, 와탭 자바 에이전트를 업데이트 후 다시 Tomcat 서버를 올려야 합니다.
운영 중에 와탭 자바 에이전트를 버전에 따라 명확하게 업데이트 하기 위해서 shell 프로그램을 통해 최신 자바 에이전트를 사용하도록 경로 설정을 합니다. 자세한 내용은 와탭 설치 가이드에서 확인할 수 있습니다.
카타리나에서 -javaagent를 실행할 때는 간단한 shell 프로그램을 통해 최신 디렉터리 파일을 패스에 걸어두도록 프로그래밍을 합니다. 더 자세한 내용은 와탭 설치 가이드를 보시면 간단히 확인할 수 있습니다.
shell 프로그램을 통해 최신 와탭 자바 에이전트 파일을 사용하도록 설정을 해 놓으면 Tomcat 재기동할 때, 클래스 로딩 에러 없이 최신 버전의 자바 에이전트로 교체할 수 있습니다. 이러한 이유로 와탭 자바 에이전트의 파일 이름에 버전 정보를 넣고 있습니다.
더 자세한 내용과 다른 이름의 에이전트를 업그레이드 할 때 주의할 점은 아래 WhaTip 영상에서 확인하실 수 있습니다 😊