====== 요소기술 - DB서비스모니터링 ======
===== 개요 =====
**DB서비스모니터링**은 DB서버의 서비스 상태를 주기적으로 모니터링하는 기능을 제공한다.
모니터링하고자 하는 DB서버는 DataSource가 전자정부 프레임웍에 Bean으로 등록되어 있어야 한다.
===== 설명 =====
* **DB서비스모니터링**은 DB서비스모니터링을 등록하기 위한 목적으로 DB서비스모니터링의 등록, 수정, 삭제, 조회, 목록조회의 기능을 수반한다.
① DB서비스모니터링목록조회 : DB서비스모니터링으로 정의된 정보를 최근 등록 순서대로 조회하고, 그 결과 목록을 화면에 반영한다.
② DB서비스모니터링등록 : DB서비스모니터링정보를 등록하고, 등록 결과를 조회한다.
③ DB서비스모니터링수정 : 기 등록된 DB서비스모니터링정보의 항목들을 수정한다.
④ DB서비스모니터링삭제 : 기 등록된 DB서비스모니터링정보를 삭제한다.
⑤ DB서비스모니터링조회 : 등록된 DB서비스모니터링정보를 조회한다.
⑥ DB서비스모니터링로그목록조회 : DB서비스모니터링로그로 정의된 정보를 최근 등록 순서대로 조회하고, 그 결과 목록을 화면에 반영한다.
⑦ DB서비스모니터링조회 : 등록된 DB서비스모니터링로그정보를 조회한다.
=== 관련소스 ===
^유형^대상소스명^비고^
|Controller|egovframework.com.utl.sys.dbm.web.EgovDbMntrngController.java|DB서비스모니터링을 위한 컨트롤러 클래스|
|Service|egovframework.com.utl.sys.dbm.service.EgovDbMntrngService.java|DB서비스모니터링을 위한 서비스 인터페이스|
|ServiceImpl|egovframework.com.utl.sys.dbm.service.impl.EgovDbMntrngServiceImpl.java|DB서비스모니터링을 위한 서비스 구현 클래스|
|DAO|egovframework.com.utl.sys.dbm.service.impl.DbMntrngDAO.java|DB서비스모니터링을 위한 데이터처리 클래스|
|Model|egovframework.com.utl.sys.dbm.service.DbMntrng.java|DB서비스모니터링을 위한 Model 클래스|
|Model|egovframework.com.utl.sys.dbm.service.DbMntrngLog.java|DB서비스모니터링로그정보를 위한 Model 클래스|
|스케쥴링|egovframework.com.utl.sys.dbm.service.EgovDbMntrngScheduling.java|DB서비스모니터링로그정보를 위한 스케쥴링 클래스|
|스케쥴링|egovframework.com.utl.sys.dbm.service.DbMntrngChecker.java|DB서비스모니터링로그정보를 위한 스케쥴링 클래스|
|기타|egovframework.com.utl.sys.dbm.service.DbMntrngResult.java|DB서비스모니터링로그정보에 대한 결과를 처리하기 위한 클래스|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/dbm/EgovDbMntrngList.jsp|DB서비스모니터링목록조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/dbm/EgovDbMntrngRegist.jsp|DB서비스모니터링 등록을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/dbm/EgovDbMntrngUpdt.jsp|DB서비스모니터링 수정을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/dbm/EgovDbMntrngDetail.jsp|등록된 DB서비스모니터링을 조회하기 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/dbm/EgovDbMntrngLogList.jsp|DB서비스모니터링로그목록조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/utl/sys/dbm/EgovDbMntrngLogDetail.jsp|등록된 DB서비스모니터링로그을 조회하기 위한 jsp페이지|
|Query XML|resources/egovframework/mapper/com/utl/sys/dbm/EgovDbMntrng_SQL_altibase.xml|DB서비스모니터링을 위한 Altibase용 Query XML|
|Query XML|resources/egovframework/mapper/com/utl/sys/dbm/EgovDbMntrng_SQL_cubrid.xml|DB서비스모니터링을 위한 Cubrid용 Query XML|
|Query XML|resources/egovframework/mapper/com/utl/sys/dbm/EgovDbMntrng_SQL_maria.xml|DB서비스모니터링을 위한 MariaDB용 Query XML|
|Query XML|resources/egovframework/mapper/com/utl/sys/dbm/EgovDbMntrng_SQL_mysql.xml|DB서비스모니터링을 위한 MySQL용 Query XML|
|Query XML|resources/egovframework/mapper/com/utl/sys/dbm/EgovDbMntrng_SQL_oracle.xml|DB서비스모니터링을 위한 Oracle용 Query XML|
|Query XML|resources/egovframework/mapper/com/utl/sys/dbm/EgovDbMntrng_SQL_postgres.xml|DB서비스모니터링을 위한 PostgreSQL용 Query XML|
|Query XML|resources/egovframework/mapper/com/utl/sys/dbm/EgovDbMntrng_SQL_tibero.xml|DB서비스모니터링을 위한 Tibero용 Query XML|
|Validator Rule XML|resources/egovframework/validator/validator-rules.xml|Validator Rule을 정의한 XML|
|Validator XML|resources/egovframework/validator/com/utl/sys/dbm/EgovDbMntrng.xml|DB서비스모니터링을 위한 Validator XML|
|Message properties|resources/egovframework/message/com/utl/sys/dbm/message_en.properties|DB서비스모니터링을 위한 Message properties(한글)|
|Message properties|resources/egovframework/message/com/utl/sys/dbm/message_en.properties|DB서비스모니터링을 위한 Message properties(영문)|
|Idgen XML|resources/egovframework/spring/com/idgn/context-idgn-DbMntrngLog.xml|DB서비스모니터링을 위한 Id생성 Idgen XML|
=== 클래스 다이어그램 ===
{{:egovframework:com:utl:sys:dbm:DB서비스모니터링_클래스.png?740|}}
=== 관련테이블 ===
^테이블명^테이블명(영문)^비고^
|DB서비스모니터링|COMTNDBMNTRNG|DB서비스모니터링정보를 관리하기 위한 속성정보를 정의하고, 관리한다.|
|DB서비스모니터링로그정보|COMTHDBMNTRNGLOGINFO|DB서비스모니터링로그정보를 관리하기 위한 속성정보를 정의하고, 관리한다.|
=== ID Generation 관련 DDL 및 DML ===
* ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 **DB_MNTRNG_LOG_ID** 항목을 추가해야 한다.
CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL,
next_id DECIMAL(30) NOT NULL,
PRIMARY KEY (table_name)
);
INSERT INTO COMTECOPSEQ VALUES ('DB_MNTRNG_LOG_ID','0');
=== ID Generation 환경설정(context-idgn-DbMntrngLog.xml) ===
=== 스케줄러 등록 ===
* DB서비스모니터링 스케줄러를 등록하기 위해서 **context-scheduling.xml** 파일에 다음과 같이 등록한다.
startDelay는 서버 시작후 몇초 뒤에 시작할지를 설정한다.(ms 단위 : 현재 1분)
repeatInterval는 몇 초에 한번씩 실행될지를 설정한다.(ms 단위 : 현재 10분)
===== 관련화면 및 수행메뉴얼 =====
=== DB서비스모니터링 목록조회 ===
^Action^URL^Controller method^QueryID^
|조회|/utl/sys/dbm/selectDbMntrngList.do|selectDbMntrngList|"DbMntrngDAO.selectDbMntrngList"|
|조회|/utl/sys/dbm/selectDbMntrngList.do|selectDbMntrngList|"DbMntrngDAO.selectDbMntrngListCnt"|
DB서비스모니터링 목록은 페이지당 10건씩 조회되며 페이징은 10페이지씩 이루어진다.
검색조건은 연계명,관리자명에 대해서 수행된다.
{{:egovframework:com:v4.0:utl:sys:dbm:dbm1.png|}}
조회 : 기 등록된 DB서비스모니터링의 목록을 조회한다.\\
등록 : 신규 DB서비스모니터링를 등록하기 위해서는 상단의 등록 버튼을 통해서 **DB서비스모니터링 등록** 화면으로 이동한다.\\
----
=== DB서비스모니터링 등록 ===
^Action^URL^Controller method^QueryID^
|등록|/utl/sys/dbm/addDbMntrng.do|insertDbMntrng|"DbMntrngDAO.insertDbMntrng"|
DB서비스모니터링의 속성정보를 입력한 뒤 등록한다.\\
**데이타소스명**은 현재 **context-datasource.xml**에 설정된 **데이터소스명**을 등록한다.\\
{{:egovframework:com:v4.0:utl:sys:dbm:dbm2.png|}}
저장 : 신규 DB서비스모니터링를 등록하기 위해서는 DB서비스모니터링 속성을 입력한 뒤 상단의 **저장 버튼**을 통해서 DB서비스모니터링를 등록한다.\\
목록 : DB서비스모니터링 목록조회 화면으로 이동한다.\\
----
=== DB서비스모니터링 수정 ===
^Action^URL^Controller method^QueryID^
|수정|/utl/sys/dbm/updateDbMntrng|updateDbMntrng|"DbMntrngDAO.updateDbMntrng"|
DB서비스모니터링의 속성정보를 변경한 후 저장한다.
{{:egovframework:com:v4.0:utl:sys:dbm:dbm3.png|}}
저장 : 기 등록된 DB서비스모니터링 속성을 수정한 뒤 상단의 **저장 버튼**을 통해서 DB서비스모니터링정보를 수정한다.\\
목록 : DB서비스모니터링 목록조회 화면으로 이동한다.\\
----
=== DB서비스모니터링 상세조회 ===
^Action^URL^Controller method^QueryID^
|상세조회|/utl/sys/dbm/getDbMntrng.do|selectDbMntrng|"DbMntrngDAO.selectDbMntrng"|
|삭제|/utl/sys/dbm/deleteDbMntrng.do|deleteDbMntrng|"DbMntrngDAO.deleteDbMntrng"|
DB서비스모니터링의 속성정보를 조회한다.
{{:egovframework:com:v4.0:utl:sys:dbm:dbm4.png|}}
수정 : 기 등록된 DB서비스모니터링 속성을 수정한 뒤 상단의 **수정 버튼**을 통해서 DB서비스모니터링수정화면으로 이동한다.\\
삭제 : 기 등록된 DB서비스모니터링정보를 삭제한다.\\
목록 : DB서비스모니터링 목록조회 화면으로 이동한다.\\
----
=== DB서비스모니터링로그 목록조회 ===
^Action^URL^Controller method^QueryID^
|조회|/utl/sys/dbm/selectDbMntrngLogList.do|selectDbMntrngLogList|"DbMntrngDAO.selectDbMntrngLogList"|
|조회|/utl/sys/dbm/selectDbMntrngLogList.do|selectDbMntrngLogList|"DbMntrngDAO.selectDbMntrngLogListCnt"|
DB서비스모니터링로그 목록은 페이지당 10건씩 조회되며 페이징은 10페이지씩 이루어진다.
검색조건은 연계명,관리자명, 모니터링시각에 대해서 수행된다.
{{:egovframework:com:v4.0:utl:sys:dbm:dbm5.png|}}
조회 : 기 등록된 DB서비스모니터링로그의 목록을 조회한다.\\
----
=== DB서비스모니터링로그 상세조회 ===
^Action^URL^Controller method^QueryID^
|상세조회|/utl/sys/dbm/getDbMntrngLog.do|selectDbMntrngLog|"DbMntrngDAO.selectDbMntrngLog"|
DB서비스모니터링로그의 속성정보를 조회한다.
{{:egovframework:com:utl:sys:dbm:DB서비스모니터링로그상세조회.png|}}
목록 : DB서비스모니터링로그 목록조회 화면으로 이동한다.\\
----