====== 요소기술 - 프로세스모니터링 ======
===== 개요 =====
**프로세스모니터링**은 특정 프로세스가 기동 중인지 주기적으로 점검을 수행하고, 문제 발생시 해당 정보를 관리자에게 통보하는 기능을 제공한다.
===== 설명 =====
* **프로세스모니터링**은 프로세스모니터링을 등록하기 위한 목적으로 프로세스모니터링의 등록, 수정, 삭제, 조회, 목록조회의 기능을 수반한다.
* **프로세스모니터링**은 WINDOWS 및 UNIX 환경을 모두 지원 하며, globals.properties 파일의 Globals.OsType을 (**Globals.OsType = UNIX** 혹은 **Globals.OsType = WINDOWS**)로 설정한다.
① 프로세스모니터링목록조회 : 프로세스모니터링으로 정의된 정보를 최근 등록 순서대로 조회하고, 그 결과 목록을 화면에 반영한다.
② 프로세스모니터링등록 : 프로세스모니터링정보를 등록하고, 등록 결과를 조회한다.
③ 프로세스모니터링수정 : 기 등록된 프로세스모니터링정보의 항목들을 수정한다.
④ 프로세스모니터링삭제 : 기 등록된 프로세스모니터링정보를 삭제한다.
⑤ 프로세스모니터링조회 : 등록된 프로세스모니터링정보를 조회한다.
⑥ 프로세스모니터링로그목록조회 : 프로세스모니터링로그로 정의된 정보를 최근 등록 순서대로 조회하고, 그 결과 목록을 화면에 반영한다.
⑦ 프로세스모니터링조회 : 등록된 프로세스모니터링로그정보를 조회한다.
=== 관련소스 ===
^유형^대상소스명^비고^
|Controller|egovframework.com.utl.sys.prm.web.EgovProcessMonController.java|프로세스모니터링을 위한 컨트롤러 클래스|
|Service|egovframework.com.utl.sys.prm.service.EgovProcessMonService.java|프로세스모니터링을 위한 서비스 인터페이스|
|ServiceImpl|egovframework.com.utl.sys.prm.service.impl.EgovProcessMonServiceImpl.java|프로세스모니터링을 위한 서비스 구현 클래스|
|DAO|egovframework.com.utl.sys.prm.service.impl.ProcessMonDAO.java|프로세스모니터링을 위한 데이터처리 클래스|
|Model|egovframework.com.utl.sys.prm.service.ProcessMon.java|프로세스모니터링을 위한 Model 클래스|
|Model|egovframework.com.utl.sys.prm.service.ProcessMonLog.java|프로세스모니터링로그정보를 위한 Model 클래스|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/prm/EgovProcessMonList.jsp|프로세스모니터링목록조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/prm/EgovProcessMonRegist.jsp|프로세스모니터링 등록을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/prm/EgovProcessMonUpdt.jsp|프로세스모니터링 수정을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/prm/EgovProcessMonDetail.jsp|등록된 프로세스모니터링을 조회하기 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/prm/EgovProcessMonLogList.jsp|프로세스모니터링로그목록조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/prm/EgovProcessMonLogDetail.jsp|등록된 프로세스모니터링로그을 조회하기 위한 jsp페이지|
|XML|/egovframework/sqlmap/com/utl/sys/prm/EgovProcessMon_SQL_*.xml|프로세스모니터링 QUERY XML|
=== 클래스 다이어그램 ===
{{:egovframework:com:utl:sys:prm:ProcessMon_class.png?740|}}
=== 관련테이블 ===
^테이블명^테이블명(영문)^비고^
|프로세스모니터링|COMTNPROCESSMON|프로세스모니터링정보를 관리하기 위한 속성정보를 정의하고, 관리한다.|
|프로세스모니터링로그정보|COMTNPROCESSMONLOGINFO|프로세스모니터링로그정보를 관리하기 위한 속성정보를 정의하고, 관리한다.|
=== ID Generation ===
* ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 **PROC_ID** 항목을 추가한다.
* ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 **PROL_ID** 항목을 추가한다.
INSERT INTO COMTECOPSEQ VALUES('PROC_ID','0');
INSERT INTO COMTECOPSEQ VALUES('PROL_ID','0');
=== 프로퍼티 파일 설정 ===
== globals.properties ==
시스템 환경에 대한 정보를 지정하기 위해서는 globals.properties 속성 파일에 추가 속성을 설정하여야 한다.
globals.properties에 관련된 내용은 [[요소기술 프로퍼티 및 명령어 쉘스크립트]] 부분을 참조한다.
** UNIX인 경우 **
...
Globals.OsType = UNIX
...
** WINDOWS인 경우 **
...
Globals.OsType = WINDOWS
...
=== 스케줄러 등록 ===
* 프로세스모니터링 스케줄러를 등록하기 위해서 **context-scheduling.xml** 파일에 다음과 같이 등록한다.
startDelay는 서버 시작후 몇초 뒤에 시작할지를 설정한다.(ms 단위 : 현재 1분)
repeatInterval는 몇 초에 한번씩 실행될지를 설정한다.(ms 단위 : 현재 10분)
===== 관련화면 및 수행메뉴얼 =====
== 프로세스모니터링 목록조회 ===
^Action^URL^Controller method^QueryID^
|조회|/utl/sys/prm/selectProcessMonList.do|selectProcessMonList|"ProcessMonDAO.selectProcessMonList"|
|조회|/utl/sys/prm/selectProcessMonList.do|selectProcessMonList|"ProcessMonDAO.selectProcessMonListCnt"|
프로세스모니터링 목록은 페이지당 10건씩 조회되며 페이징은 10페이지씩 이루어진다.
검색조건은 상태,관리자명에 대해서 수행된다.
{{:egovframework:com:utl:sys:prm:EgovComUtlProcessMonList.png|}}
조회 : 기 등록된 프로세스모니터링의 목록을 조회한다.\\
등록 : 신규 프로세스모니터링를 등록하기 위해서는 상단의 등록 버튼을 통해서 **프로세스모니터링 등록** 화면으로 이동한다.\\
로그 : 프로세스모니터링로그 확인하기 위해서는 상단의 로그 버튼을 통해서 **프로세스모니터링 로그목록** 화면으로 이동한다.\\
이메일전송 : 프로세스모니터링 **상태가 비정상**일때 관리자에게 **이메일을 발송**한다.\\
----
=== 프로세스모니터링 등록 ===
^Action^URL^Controller method^QueryID^
|등록|/utl/sys/prm/addProcessMon.do|insertProcessMon|"ProcessMonDAO.insertProcessMon"|
프로세스모니터링의 속성정보를 입력한 뒤 등록한다.
{{:egovframework:com:utl:sys:prm:EgovComUtlProcessMonRegist.png|}}
저장 : 신규 프로세스모니터링를 등록하기 위해서는 프로세스모니터링 속성을 입력한 뒤 상단의 **저장 버튼**을 통해서 프로세스모니터링를 등록한다.\\
목록 : 프로세스모니터링 목록조회 화면으로 이동한다.\\
프로세스명 : 공통컴퍼넌트가 설치된 서버의 프로세스명을 의미한다.
----
=== 프로세스모니터링 수정 ===
^Action^URL^Controller method^QueryID^
|수정|/utl/sys/prm/updateProcessMon|updateProcessMon|"ProcessMonDAO.updateProcessMon"|
프로세스모니터링의 속성정보를 변경한 후 저장한다.
{{:egovframework:com:utl:sys:prm:EgovComUtlProcessMonUpdt.png|}}
저장 : 기 등록된 프로세스모니터링 속성을 수정한 뒤 상단의 **저장 버튼**을 통해서 프로세스모니터링정보를 수정한다.\\
목록 : 프로세스모니터링 목록조회 화면으로 이동한다.\\
----
=== 프로세스모니터링 상세조회 ===
^Action^URL^Controller method^QueryID^
|상세조회|/utl/sys/prm/getProcessMon.do|selectProcessMon|"ProcessMonDAO.selectProcessMon"|
|삭제|/utl/sys/prm/deleteProcessMon.do|deleteProcessMon|"ProcessMonDAO.deleteProcessMon"|
프로세스모니터링의 속성정보를 조회한다.
{{:egovframework:com:utl:sys:prm:EgovComUtlProcessMonDetail.png|}}
수정 : 기 등록된 프로세스모니터링 속성을 수정한 뒤 상단의 **수정 버튼**을 통해서 프로세스모니터링수정화면으로 이동한다.\\
삭제 : 기 등록된 프로세스모니터링정보를 삭제한다.\\
목록 : 프로세스모니터링 목록조회 화면으로 이동한다.\\
----
=== 프로세스모니터링로그 목록조회 ===
^Action^URL^Controller method^QueryID^
|조회|/utl/sys/prm/selectProcessMonLogList.do|selectProcessMonLogList|"ProcessMonDAO.selectProcessMonLogList"|
|조회|/utl/sys/prm/selectProcessMonLogList.do|selectProcessMonLogList|"ProcessMonDAO.selectProcessMonLogListCnt"|
프로세스모니터링로그 목록은 페이지당 10건씩 조회되며 페이징은 10페이지씩 이루어진다.
검색조건은 상태,관리자명, 모니터링시각에 대해서 수행된다.
{{:egovframework:com:utl:sys:prm:EgovComUtlProcessMonLogList.png|}}
조회 : 기 등록된 프로세스모니터링로그의 목록을 조회한다.\\
----
=== 프로세스모니터링로그 상세조회 ===
^Action^URL^Controller method^QueryID^
|상세조회|/utl/sys/prm/getProcessMonLog.do|selectProcessMonLog|"ProcessMonDAO.selectProcessMonLog"|
프로세스모니터링로그의 속성정보를 조회한다.
{{:egovframework:com:utl:sys:prm:egovcomutlprocessmonlogdetail.png|}}
목록 : 프로세스모니터링로그 목록조회 화면으로 이동한다.\\
----