SHC(System Health Check)
SHC(System Health Check) APM에서 수집하는 데이터를 바탕으로 시스템의 전반적인 상태 및 성능을 점검하고, 성능에 대한 개선이나 문제 등을 발견하여 개선하기 위한 보고서이며 IT 전반적인 시스템을 대상으로 정기적으로 점검을 진행하여 보고서 형식 제공한다.
주요 기능
보고서 하나로 아래의 기능을 모두 확인할 수 있다.
| 분류 | 기능 | 기능 내용 | 점검타입 |
|---|---|---|---|
| OS | CPU 사용량 확인 | CPU 사용률 점검 | 자동 점검 |
| CPU Core Offline 확인 | 물리적 코어의 정상(Online/Offline) 유무 점검 | 자동 점검 | |
| Memory 사용률 확인 | 메모리 사용률 확인 | 자동 점검 | |
| Memory 물리 용량 확인 | 물리 메모리 용량 확인 | 자동 점검 | |
| Disk 사용량 확인 | 파일 시스템 사용량 점검 | 자동 점검 | |
| Disk 평균 대기수 확인 | 평균 대기수 확인 | 자동 점검 | |
| 설정 변경 여부 확인 | Config 값 상태를 확인하여 변경 되었는지 확인 | 자동 점검 | |
| 커널 파라미터 확인 | 커널 파라미터가 추천값인지 확인 | 자동 점검 | |
| 장비 확인 | 하드웨어 장비를 확인 | 수동 점검 | |
| WEB | Port | 할당 되어 있는 Port를 curl을 통해 확인 | 수동 점검 |
| Worker Thread 확인 | 어플리케이션 수행공간 설정값 확인 | 자동 점검 | |
| Status 확인 | 2xx, 30x 가 아닌 상태값 확인 | 자동 점검 | |
| WAS | Port | 할당 되어 있는 Port를 curl을 통해 확인 | 수동 점검 |
| JVM Heap 확인 | Java Heap Memory 여유공간 확인 | 자동 점검 | |
| Worker Thread 확인 | 어플리케이션 수행공간 설정값 확인 | 자동 점검 | |
| 지연 트랜잭션 확인 | 트랜잭션이 지연되는내용이 있는지 확인 | 자동 점검 | |
| Connection Pool 확인 | DB에 연결된 객체 저장공간을 확인 | 자동 점검 | |
| 평균 응답시간 확인 | 평균 응답시간을 확인 | 자동 점검 | |
| 에러율 확인 | 에러율 확인 | 자동 점검 | |
| JAVA OPTS 확인 | 자 바 옵션이 추천 값으로 되어있는지 확인 | 자동 점검 | |
| SLA | 헬스체크 확인 | Http 통신을 통한 헬스체크 상태 확인 | 자동 점검 |
| 이벤트 | 이벤트 확인 | APM 이벤트 Critical, Warning 개수 확인 | 자동 점검 |
System Health Check 보고서
보고서 다운로드 받기
OPENMARU APM 에 접속하여 좌측 메뉴의 '설정' - '시스템 상태 정보' - '시스템 헬스 체크 보고서' 버튼을 클릭하면 아래 시스템 헬스 체크 보고서 버튼을 누르면 점검자와 확인자를 입력하는 창이 나타난다.

정보를 모두 입력한 후 '다운로드' 버튼을 누르면 문서가 다운로드 한다.

보고서 내용
위에 서 입력한 점검자와 확인자는 보고서의 첫페이지의 ① 점검자와 ② 확인자에 표시 된다.

시스템 정보
설치 된 OPENMARU APM의 시스템 정보를 표현한다.

- 시스템명
- 해당 시스템명을 나타낸다. (해당 값은 고정으로 되어 있기 때문에 프로젝트 마다 시스템명을 변경해야 한다. 템플릿 변경)
- 업무명
- 해당 프로젝트 이름을 나타낸다.
- 점검기간
- 설정한 점검기간을 나타낸다.
- 유지보수
- 유지보수 기간 및 라이센스 방식에 대해 나타낸다.
- 수집서버
- 수집서버의 HostName, Vendor, Cpu, Memory, Disk 정보를 나타낸다.
OS
System Agent가 머신에 설치되어 있어야 데이터를 표현 할 수 있으며 점검 기간을 조회하여 해당 서버의 부하 정도를 보고서에 표현된다. WEB, WAS 모두 공통으로 표현되며 주로 CPU, Memory, Disk, 환경설정에 대한 설정값 등을 볼 수 있다.

| 기능 | 기능 내용 | 추천 |
|---|---|---|
| CPU | CPU 사용률 점검 | 평균/현재를 기준으로 CPU idle 상태가 70% 이하 일 경우 Good으로 상태 표시 |
| CPU Core Offline | 물리적 코어의 정상(Online/Offline) 유무 점검 | CPU Core가 Offline 상태가 하나도 없을 경우 0으로 출력되고 Good으로 상태 표시 |
| MEM | 메모리 사용률 확인 | 평균/현재를 기준으로 Memory 사용 상태가 80% 이하 일 경우 Good 으로 상태 표시 |
| MEM Physical | 물리 메모리 용량 확인 | 할당 되어 있는 메모리를 표현한다. 할당 되어 있으면 Good으로 상태 표시 |
| DISK 사용량 | 파일 시스템 사용량 점검 | 디스크의 사용량을 확인하고 80%이하 일 경우 Good으로 상태 표시 |
| Disk 평균 대기수 | 평균 대기수 확인 | 디스크의 평균 대기수를 확인하고 1이하 일 경우 Good으로 상태 표시 |
| 설정 변경 여부 | Config 값 상태를 확인하여 변경 되었는지 확인 | - WEB일 경우 해당 웹서버의 설정 파일을 불러와 주요 설정값이 변경이 되었는지 확인하여 30일 이상 안정화가 되었을 경우 Good으로 상태 표시 - WAS일 경우 해당 인스턴스의 설정 파일을 불러와 주요 설정값이 변경이 되었는지 확인하여 30일 이상 안정화가 되었을 경우 Good으로 상태 표시 |
| 커널 파라미터 | 커널 파라미터가 추천값인지 확인 | 커널 파라미터를 조회하여 해당 커널파라미터가 제대로 설정 되었는지 확인하여 추천 숫자와 현재값이 동일 한 경우 Good으로 상태 표시 |
| 장비 | 하드웨어 장비를 확인 | 점검시 육안으로 장비를 확인하여 체크 |
WEB
Web 서버가 설치된 머신에 System Agent 내의 Apache, Nginx, HAProxy Plugin을 통해 설정이 되어 있어야 데이터를 표현 할 수 있으며 위에 설정 한 점검 기간을 통해 해당 기간을 조회하여 해당 서버의 부하 정도를 보고서에 표현한다.

| 기능 | 기능 내용 | 추천 |
|---|---|---|
| Port | 할당 되어 있는 Port를 curl을 통해 확인 | 수동으로 해당 웹서버에 바인딩 되어 있는 포트를 확인하여 Curl 로 테스트 호출하여 제대로 동작하는지 확인해야 한다. |
| Worker Thread | 어플리케이션 수행공간 설정값 확인 | 평균/현재를 기준으로 현재 요청을 처리 중인 Worker의 개수가 80% 이하 일 경우 Good으로 상태 표시 |
| Status | 2xx, 30x 가 아닌 상태값 확인 | 웹서버의 Response의 값이 2xx, 30x가 아닌 상태를 조회하여 10 이하로 호출 되었을 경우 Good으로 상태 표시 |
WAS
WAS가 설치된 머신에 Was Agent 을 통해 설정이 되어 있어야 데이터를 표현 할 수 있으며 위에 설정 한 점검 기간을 통해 해당 기간을 조회하여 해당 서버의 부하 정도를 보고서에 표현한다.

| 기능 | 기능 내용 | 추천 |
|---|---|---|
| Port | 할당 되어 있는 Port를 curl을 통해 확인 | 수동으로 해당 웹서버에 바인딩 되어 있는 포트를 확인하여 Curl 로 테스트 호출하여 제대로 동작하는지 확인해야 한다. |
| JVM Heap | Java Heap Memory 여유공간 확인 | 평균/현재를 기준으로 현재 JVM의 Heap 메모리의 사용률이 80% 이하 일 경우 Good으로 상태 표시 |
| Worker Thread | 어플리케이션 수행공간 설정값 확인 | 평균/현재를 기준으로 현재 JVM의 Worker Thread의 사용률이 300 이하 일 경우 Good으로 상태 표시 |
| 지연 트랜잭션 | 트랜잭션이 지연되는내용이 있는지 확인 | 평균/현재를 기준으로 WAS 인스턴스의 지연정보를 확인하여 5미만 일 경우 Good으로 상태 표시 |
| Connection Pool | DB에 연결된 객체 저장공간을 확인 | 평균/현재를 기준으로 WAS에 설정한 데이터소스의 커넥션 풀에 연결 된 값이 5이하 일 경우 Good으로 상태 표시 |
| 평균 응답시간 | 평균 응답시간을 확인 | 평균/현재를 기준으로 WAS의 평균 응답시간의 값이 1000ms이하 일 경우 Good으로 상태 표시 |
| 에러율 | 에러율 확인 | 평균/현재를 기준으로 WAS의 에러율 값이 1%이하 일 경우 Good으로 상태 표시 |
| JAVA OPTS 확인 | 자바 옵션이 추천 값으로 되어있는지 확인 | 각 WAS의 자바 옵션을 확인하여 해당 옵션값이 추천값으로 되어 있는지 확인하여 추천값과 현재값이 동일할 경우 Good으로 상태 표시 |
ETC

| 기능 | 기능 내용 | 추천 |
|---|---|---|
| SLA | 헬스체크 확인 | OPENMARU APM의 SLA 기능을 이용하여 해당 API나 사이트를 호출했을 경우 응답값이 제대로 오는 확인하여 1미만 일 경우 Good으로 상태 표시 |
| 이벤트 | 이벤트 확인 | OPENMARU APM의 Event를 조회하여 점검 기간 동안 CRITICAL/WARNING의 이벤트가 얼마나 발생했는지 확인하여 1미만 일 경우 Good으로 상태 표시 |
| 품질 개선 사항 | 다운로드 받기전 기타 특이사항을 적어놓은 항목이 이 곳으로 이동되어 표시 | |
| 장애 이력 | 수동으로 해당 보고서를 보고 장애 이력이 어디에 남아 있는지 작성 | |
| 비고 | 수동으로 특이사항이 있을 경우 작성 |
별첨
OS에서 커널파라미터를 수집한 내역을 별첨에 따로 값이 어떤지 확인 할 수 있고 하드웨어 장비의 경우 해당 별첨을 통해 점검을 수기로 진행한다. WAS의 경우 수집 된 JAVA OPTS 값을 보여주고 설정이 추천으로 설정되어 있지 않는 경우 확인필요라는 항목을 표시한다.

