초경량(50MB 이하) 독립 실행 빌드와 내장 SQLite로 외부 수집 서버 없이 동작하는 고성능 DB 모니터링 솔루션
시스템과의 교합 상태를 원천 차단하고 강력한 보안성과 관제 효율성을 제공합니다.
최소 자원 점유와 하드웨어 레벨의 보안 강화를 이루어낸 핵심 코어 수집 기술입니다.
쿼리 방식과 DMA(Direct Memory Access)를 결합한 하이브리드 수집 엔진을 채택하여 시스템 부하를 가중시키지 않고 성능 지표를 초고속 수집합니다.
외부 모듈 의존성을 극소화하기 위해 자체 전용 라이브러리를 직접 설계 및 제작하여 30MB 이하의 압도적인 경량화를 실현했습니다.
프로세서 간 통신 효율을 극대화하기 위해 어셈블리 및 비트 단위 초고속 연산 알고리즘을 적용해 CPU 사용률을 최소 수준으로 유지합니다.
보안이 필수적인 핵심 메트릭 및 내부 통신 구간에는 소수 연산 알고리즘을 적용하여 외부에서의 역산 및 난독화 해제를 완벽 차단합니다.
RDBMS 내부에만 국한되지 않고 커널 및 OS Layer를 직접 활용하여 시스템의 실시간 리소스 변동과 외부 영향을 정밀 추적합니다.
OS 수집 메트릭부터 Oracle 전용 내부 성능 지표까지 완벽한 관제 스펙트럼을 제공합니다.
| 지표명 | UI 표기명 | 단위 | 수집 및 연산 방식 | 관제 포인트 및 설명 |
|---|---|---|---|---|
| CPU 사용률 | CPU | % | OS 전체 CPU 점유율 (gopsutil) | Host OS 전체 CPU 사용률. 활성 프로세스 수(PIDS) 및 전체 CPU 코어 수(Cores) 함께 표기 |
| 메모리 점유율 | RAM / Memory | GB, % | OS 전체 메모리 대비 사용량 | 시스템 전체 RAM 용량 대비 현재 사용 중인 메모리 크기 및 점유 비율 |
| 디스크 사용률 | DISK | GB, % | 볼륨 전체 용량 대비 사용량 | 모니터링 대상 디스크 볼륨의 전체 용량 대비 현재 점유 용량 및 비율 |
| 네트워크 트래픽 | RX / TX | KB/s, MB/s | 초당 수신/송신 데이터 패킷 | Host OS 네트워크 인터페이스의 초당 수신(RX, Indigo) 및 송신(TX, Cyan) 전송 속도 |
| 프로세스 수 | SYS PROCS | PIDS | OS 활성 프로세스 개수 | OS 커널상에서 가동 중인 전체 활성 프로세스(PID) 수 및 CPU 코어 개수 표기 |
| 지표명 | UI 표기명 | 단위 | 설명 및 관제 기준 |
|---|---|---|---|
| 초당 쿼리 수 | QPS | ops | 데이터베이스로 인입되어 실행되는 초당 전체 쿼리(Queries Per Second) 처리 수 |
| 세션 동시 접속 수 | Connections | ses / threads | DB에 연결되어 작업을 수행 중이거나 대기 상태에 있는 활성 스레드/세션 수 |
| 로우 락 대기 수 | Row Locks | counts | 트랜잭션 간 자원 경합으로 블로킹 대기 중인 세션 수. 클릭 시 Lock Tree 분석 모달 즉시 오픈 |
| 슬로우 쿼리 수 | Slow Queries | counts | 지정된 임계 수행 시간(초)을 초과하여 실행된 악성 슬로우 쿼리 발생 건수 |
| 최고 피크 세션 | Historical Peak | ses | 데이터베이스 구동 이후 측정된 역대 최고 동시 접속 세션 수 (ADVISE 클릭 시 커넥션 튜닝 조언) |
| 지표명 | UI 표기명 | 단위 | 수집 뷰 / 연산 공식 | 관제 포인트 및 설명 |
|---|---|---|---|---|
| 초당 트랜잭션 수 | TPS | ops | v$sysstat (commits + rollbacks) | 초당 Commit 및 Rollback 처리 트랜잭션 수 |
| 초당 디스크 I/O | IOPS | iops | v$sysstat (physical read/write IO) | 데이터파일 발생 초당 물리 디스크 I/O 연산 수 (Read IOPS / Write IOPS 분리 표기) |
| 초당 롤백 수 | Rollback | ops | v$sysstat (user rollbacks) | 트랜잭션 처리 중 오류 또는 명시적 요청으로 발생한 초당 롤백 처리 건수 |
| 디스크 정렬 수 | Disk Sorts | ops | v$sysstat (sorts (disk)) | PGA 메모리 부족으로 디스크(Temp Tablespace) 전출 수행된 초당 정렬 연산 건수 |
| 버퍼 캐시 히트율 | Memory Buff | % | v$sysstat 적중률 연산 | SGA Data Buffer Cache 적중률. 90% 미만 하락 시 물리 디스크 I/O 부하 유발 경보 |
| 라이브러리 캐시 히트율 | Code Cache | % | v$librarycache (pins, reloads) | Shared Pool 내 SQL 파싱 구문 재사용률. 90% 미만 하락 시 Hard Parsing 폭증 경보 |
| PGA 캐시 히트율 | Temp Storage | % | v$pgastat (cache hit %) | PGA 작업 영역 메모리 적중률. 80% 미만 하락 시 pga_aggregate_target 메모리 증설 필요 |
느린 쿼리의 근본 원인을 파악하기 위해 실행 계획(Execution Plan)과 실시간 바인드 변수를 정밀 추적합니다.
Oracle v$sql_plan 및 v$sql_plan_statistics_all을 기반으로 쿼리의 실제 실행 경로를 계층형 트리 구조로 시각화합니다.
v$sql_bind_capture 연동을 통해 악성 쿼리 실행 당시 입력된 바인드 변수 값과 데이터 타입을 실시간으로 복원합니다.
슬로우 쿼리 발생 시 Execution Plan 분석 결과를 바탕으로 인덱스 재구성 및 SQL 리라이팅 방향성을 제안합니다.
장애 감지부터 근본 원인 세션 제거, 역산 분석까지 원스톱 분석 환경을 제공합니다.
Row Locks 수치 폭증 및 카드 붉은색 점멸 감지
[Lock Tree] 클릭하여 Blocker / Waiter 계층 구조 즉시 확인
[KILL ROOT SESSION] 단일 클릭으로 원인 세션 즉시 사살 및 대기 해소
Oracle v$session의 blocking_session 구조를 계층형 쿼리(CONNECT BY)로 분석하여 Root Blocker와 피간섭 대기 세션(Waiters)의 관계를 트리로 시각화합니다.
Oracle v$session 수집 기준 Non-Idle 상태의 실시간 Top 5 시스템 대기 이벤트를 우선순위별 표출합니다.
CPU, Memory, Lock 등 주요 지표 임계치 초과 시 당시 동결(Frozen)된 실행 프로세스 및 세션 정보를 MsgPack 바이너리로 DB에 박제합니다.
과거 특정 시간 범위를 자유롭게 조회하는 차트 엔진으로, 피크 왜곡 현상을 완벽 차단합니다.
서버 내부의 미인가 프로세스 발생을 즉시 추적하고 자원 고갈을 방지하는 차세대 OS 프로세스 보안 솔루션입니다.(특허)
웹쉘(WebShell), 암호화폐 채굴 스크립트, 랜섬웨어 등 인가되지 않은 프로세스의 생성을 초 단위로 즉시 감지합니다.
부모 프로세스뿐만 아니라 백그라운드에 숨어있는 자식·고아 프로세스까지 역순으로 완전 소거합니다.
Delta CPU 연산 및 캐싱 알고리즘으로 CPU 점유율을 0.5% 미만으로 정속 유지합니다.
정상 가동 중인 OS 프로세스 스냅샷을 기준선(Baseline Lock)으로 저장하여 변동을 탐지합니다.
| 구분 | 기능명 | 상세 설명 |
|---|---|---|
| 베이스라인 동결 | Baseline Lock | 정상 가동 중인 OS 프로세스 스냅샷을 기준선으로 저장하여 실시간 변동 탐지 |
| 하위 종속 트리 사살 | Bottom-Up Tree Kill | 말단 자식 프로세스부터 부모까지 재귀 탐색하여 백그라운드 프로세스까지 원자적 소거 |
| 실시간 알림 푸시 | WebSocket Push | 미인가 프로세스 발생 즉시 관리자 콘솔 팝업 및 경보음 전송 |
| 정밀 CPU 사용률 | Normalized Delta CPU | OS 작업 관리자와 동일한 ΔCPU/Δt 기반의 정밀 실시간 수치 표출 |
| 화이트리스트 관리 | Exception Management | 정상 승인 프로세스를 예외 등록하여 모니터링 대상에서 유연하게 제외 |
Oracle Alert log 및 OS syslog(/var/log/messages 등, 커스텀 가능)를 3~10초 주기로 실시간 폴링 감지합니다.
ORA- 에러 코드 감지 시 대시보드 토스트 알림 발송 및 외부 게이트웨이 파이프라인 전송
RMAN 물리 백업: Level 0 (전체 백업), Level 1 (증분 백업), Archivelog 백업 스케줄링, 압축 및 백업 피스(MAXPIECESIZE) 제어
DataPump 논리 백업: DIRECTORY 객체 자동 동기화를 통한 FULL, SCHEMA, TABLE 단위 논리 덤프 지원
설정 화면에서 12시간, 1일(24시간), 1주(168시간), 1달(720시간) 보관 기한 선택이 가능합니다.
5분 주기의 백그라운드 워커가 host metrics, alerts, tablespace history의 구형 데이터 정방향 소거
이미지를 클릭하시면 확대해 보실 수 있습니다.
다양한 데이터베이스 환경에 유연하게 대응하며 관제 범위를 지속적으로 확장하고 있습니다.
v$sysstat, v$session 기반 코어 메트릭 정밀 추적 및 Lock Tree, RMAN 백업 연동 완벽 지원
QPS, 활성 스레드, Row Locks 대기 및 슬로우 쿼리 실시간 수집 및 모니터링
MySQL 호환 커넥터 기반 실시간 세션 및 성능 트래픽 관제 최적화
pg_stat_activity 및 lock 메트릭 연동 고성능 관제 모듈 개발 진행 중
NoSQL 문서형 데이터베이스 쿼리 및 리소스 모니터링 확장 예정
대상 OS: Windows NT 2012 이상 권장 / Linux 커널 4.x 이상 권장
db_optimon_core_v000 실행 시 환경 설정 파일(db_optimon_core.cfg)이 자동 생성됩니다.
db_optimon_core.cfg 내 항목을 수정합니다. (Oracle의 경우 "db_name": 항목에 Service Name 입력)
"license_key": 내 항목에 지급받은 라이선스 키를 입력 합니다.
수정 완료 후 원하는 옵션으로 다시 실행 및 각 운영체제에 맞게 서비스를 등록합니다.
[실행 옵션 파라미터]
-start : 일반적인 서비스 시작-stop : 프로세스 안전 종료-debug : 콘솔 화면에 동작 상태 상세 표출[구성 파일 구조 (단일 디렉토리)]
db_optimon_v000 : 독립 실행 모니터링 엔진 본체db_optimon_core.cfg : 자동 생성 후 수정하는 시스템 설정 파일db/dbo_history.db : 설정 및 통계 데이터 보관용 내장 DBdb/dbo_history.db-shm : 시스템 DB와의 IO 경합 방지 메모리 인덱스db/dbo_history.db-wal : Disk IO 억제용 메모리 DB 보조 파일dbo_optimon.lock : 커널 락 제어 파일※1. 삭제 시 서비스 해제 후 -stop 실행 및 디렉터리 삭제만으로 시스템에 흔적을 남기지 않고 완전히 제거됩니다.
※2. 외부 모니터링 및 알림을 사용하기 위해서는 Optimon_gateway를 사용 해야 합니다.