반응형
Apache 웹서버와 Tomcat의 연결에 대해서 모니터링을 하고 컨트롤을 하고자 하는 니즈가 생겼다. 이를 어떻게 하면 쉽게 해결할 수 있을까 하고 알아보다 보니 Apache Tomcat Connectors 중 Status Worker라는 워커의 존재에 대해 알게되었다. 흔히 JK Status Manager라고 불리는 워커이다. 이 존재에 대해 자세히 알아보고자 한다.
Status Worker 개요 (JK Status manager)
- 톰캣 커넥터의 타입 중 status worker라고 불리는 특별한 커넥터 타입은 런타임 환경에서 톰캣으로부터 상태와 설정 정보를 가져오는 역할을 한다
- 추가적으로 다이나믹하게 설정을 변경시킬 수도 있게 한다
- 단순한 웹 인터페이스를 통하여 이러한 기능을 사용할 수 있도록 한다
<참고사이트>
The Apache Tomcat Connectors - Status Worker https://tomcat.apache.org/connectors-doc/reference/status.html
Status Worker 활용방안
기능 활성화 방법
Apache HTTP Server 설정
- Apache Webserver 내 workers.properties 파일 내에 worker.list 추가 (JK_STATUS_MANAGER)
- 해당 worker의 type을 status로 설정
- JkMount 로 jkstatus 마운트
workers.properties 설정 내에 status worker를 추가해준다.
# workers.properties
worker.list=jkstatus #연동 상태 모니터링 워커 이름
worker.jkstatus.type=status #상태 체크
modjk.conf 설정 내에 jkstatus 를 마운트해주었다.
# modjk.conf
JkMount /jkmanager* jkstatus
<Location /jkmanager/>
JkMount jkstatus
Order deny,allow
Deny from all
Allow from all
</Location>
밸런싱 변경 방법
- 변경 대상 Worker 찾은 후 "S(Show only this worker)" 선택
- Balancer Member 하위의 변경대상 타겟 찾은 후 "E(Edit worker)" 선택
- Activation을 "Stopped"로 변경 후 "Update Worker" 선택
Activation 설정
- Disabled : 해당 worker에 이미 세션이 연결되어 있는 case에 대해서는 요청을 받아주는 것으로 보여짐 (A disabled worker only gets requests, which belong to sessions for that worker)
- Stopped : 어느 요청도 받아들이지 않음
결론 : 대부분의 경우 Stopped를 사용하면 된다.
인증절차 추가
- htpasswd 도구를 사용하여 암호파일을 생성
cd /hli_app/sw/web/jbcs/httpd/sbinhtpasswd -c /hli_app/sw/web/jbcs/httpd/passwd/passwords webadmin
- devinf_vhost.conf 수정
<Location /jkmanager/>JkMount jkstatusOrder deny,allowDeny from allAllow from all# 인증 추가 부분AuthType BasicAuthName "Restricted Files"AuthUserFile /hli_app/sw/web/jbcs/httpd/passwd/passwordsRequire user webadmin</Location>
- httpd 재시작
- 접근 URI에 계정과 비밀번호 추가하여 접근
http://webadmin:{password}@[TARGET_DOMAIN]:[PORT]/jkmanager
WAS 처리상황 확인 방안
JK Status Manager에서 확인 방법
- Stop된 대상 worker 좌측의 "R"(Reset worker state) 클릭하여 런타임 통계 초기화
- F5(새로고침)을 눌러보며 LR(통계초기화 시점으로부터 지난 시간(초)) 이 정상적으로 늘어나는지 확인
- 동시에 Acc (요청 수), Sess (생성된 세션 수) 가 증가하는지 모니터링하여 신규 Request가 인입되는지 점검
- 동시에 Rd (읽은 바이트 수) 값이 증가하는지 모니터링하여 Backend로부터 응답되는 값이 있는지 확인
- Con (Backend 커넥션의 수) 값이 0으로 감소한 뒤 더 이상 증가하지 않는지 확인
- 모니터링 대상 항목들(Acc, Sess, Wr, Rd)이 0이 아니고 증가한 경우 1번부터 다시 수행
- 모니터링 대상 항목들(Acc, Sess, Wr, Rd) 일정시간 (약 1분 이상) 이상 0인 경우 종료
반응형
'IT 라이프' 카테고리의 다른 글
Tomcat DB Connection Pool 사용 시 누수 및 좀비세션 방지 방안 (0) | 2023.08.11 |
---|---|
JBoss EAP의 Datasource (DB Pool) 모니터링 및 최소값 설정 방법 (0) | 2023.08.11 |
공인 쿠버네티스 자격증 알아보기 (CKA, CKAD, CKS, KCNA) (1) | 2022.04.04 |
MySQL 마이너 버전 업그레이드 방법 (5.7버전, 수작업 기준) (0) | 2022.03.07 |
[Visual SVN] pre-commit hook 샘플 - 커밋 메세지 또는 이슈번호 입력 체크, 삭제 금지 등 (0) | 2021.08.24 |