티스토리 뷰

개요

  • Scouter는 오픈 소스 국산 APM 소프트웨어이다. 개발환경에서 Java 애플리케이션을 모니터링하는데 필수적인 기능을 무료로 제공한다.

Collector Server 실행

  • 가장 먼저 Collector Server를 아래와 같이 실행한다.
### Scouter Collector Server 실행
$ ./scouter/server/startup.sh

Host Agent 설정 및 실행

  • 각 프로젝트 단위의 Host Agent를 설정할 차례이다. obj_name에는 각 프로젝트의 이름을, net_collector_ip는 로컬 실행을 전제로 하므로 127.0.0.0으로 설정한다.
### project-foo 프로젝트 설정
$ nano ./scouter/agent.java/conf/project-foo.conf
obj_name=project-foo
net_collector_ip=127.0.0.1
net_collector_udp_port=6100
net_collector_tcp_port=6100
profile_http_header_enabled=true
profile_http_parameter_enabled=true
profile_http_querystring_enabled=true
profile_spring_controller_method_parameter_enabled=true

### project-bar 프로젝트 설정
$ nano ./scouter/agent.java/conf/project-bar.conf
obj_name=project-bar
net_collector_ip=127.0.0.1
net_collector_udp_port=6100
net_collector_tcp_port=6100
profile_http_header_enabled=true
profile_http_parameter_enabled=true
profile_http_querystring_enabled=true
profile_spring_controller_method_parameter_enabled=true

$ cd ./scouter/agent.host
$ ./host.sh

프로젝트 실행

  • Scouter의 실행 준비는 이제 끝났고, 미리 제공되는 에이전트를 실제 프로젝트에 연동하여 실행할 차례이다. 아래와 같이 같은 JVM 내에서 실행되는 프로젝트 간에 앞서 작성한 다른 설정 파일을 지정하여 여러 개의 프로젝트를 Scouter로 모니터링할 수 있다.
### project-a 실행
$ java -jar project-a.jar -javaagent:./scouter/agent.java/scouter.agent.jar -Dscouter.config=./scouter/agent.java/conf/project-a.conf

### project-b 실행
$ java -jar project-b.jar -javaagent:./scouter/agent.java/scouter.agent.jar -Dscouter.config=./scouter/agent.java/conf/project-b.conf

Scouter Client 실행

  • 이제 마지막으로 로컬 환경에서 Scouter Client를 실행하여 실행 중인 프로젝트를 모니터링할 차례이다. Scouter 클라이언트를 처음 실행하면 서버 연결 정보를 묻는 창이 나타난다. 아래와 같이 입력 후 OK 버튼을 클릭하면 접속이 완료된다.
Server Address: 127.0.0.1:6100 // 스카우터 서버가 실행 중인 원격지 노드의 주소와 포트 번호
ID: admin // 기본값
Password: admin // 기본값
  • 에이전트가 연동된 각 프로젝트는 스카우터에서 Object라는 단위로 표현된다. Objects 창에서 각 프로젝트가 실행 중 임을 확인할 수 있다.
  • 가장 하이라이트라고 할 수 있는 XLog 창에는 시간의 흐름으로 모든 프로젝트에 대한 요청 기록이 실시간 챠트로 출력된다. 요청 건 당 하나의 타점으로 기록되며 특정 타점들의 범위를 드래그하면 해당 범위의 모든 요청 상세를 목록으로 확인할 수 있다. 상세 목록에서 다시 각 요청 건을 클릭하면 데이터베이스, NoSQL 저장소에 대한 CRUD를 비롯한 다양한 로그를 구체적으로 확인할 수 있다. 상세 로그의 최상단에는 txid의 링크가 노출되는데 해당 링크를 클릭하면 해당 요청에서 발생한 CRUD 및 외부 API로의 요청을 챠트로 확인할 수 있다.
  • 만약, XLog 창에 요청 로그가 남지 않을 경우 창을 닫은 후 메뉴에서 Collector > Tomcat > XLog를 실행하면 요청 로그를 확인할 수 있다.

참고 글

댓글
댓글쓰기 폼