exemONE 전체 아키텍처 및 구성 요소 상세 설명
1. exemONE 전체 구조 개요
exemONE은 모니터링 대상 서버에 설치되는 에이전트 와 중앙 수집 서버(Collector) 로 구성된 통합 모니터링 플랫폼입니다.

2. 아키텍처 요약 구성도
모니터링 대상 서버에 설치된 에이전트에서 데이터를 수집하여 중앙 수집 서버에서 처리하여 사용자에게 시각화 화면을 제공합니다.

3. 수집 서버 핵심 모듈 상세 설명
3-1. exemONE 자체 수집 모듈
| 모듈명 | 역할 |
|---|---|
| exemone-receiver | 에이전트로부터 데이터를 수신합니다. |
| exemone-ingester | 수신된 데이터를 저장소(ClickHouse, PostgreSQL 등)에 저장합니다. Kafka를 통해 수신된 메시지를 소비하여 처리합니다. |
| exemone-core | ClickHouse 데이터베이스의 테이블 스키마를 관리(형상관리)합니다. 데이터 구조 변경, 테이블 생성/수정 등을 담당합니다. |
| exemone-alerter | 알람 처리를 담당합니다. 알람 룰 체크, Notification 발송(Webhook, Telegram, KakaoTalk, Email, SMS 등)을 처리합니다. |
| exemone-gateway | API 게이트웨이로, 클라이언트 요청을 적절한 서비스로 라우팅합니다. 인증, 세션 관리, SSO 처리 등을 담당하며 기본 포트는 8080입니다. |
| exemone-api | API 서버로, 웹 UI 및 외부 연동을 위한 REST API를 제공합니다. |
| exemone-front | 프론트엔드 서버(Nginx 기반)로, 웹 UI 화면을 제공합니다. |
| exemone-db-agent | 수집 서버 내장 DB Agent로, 데이터베이스 지표를 수집합니다. |
| exemone-cloud-agent | 수집 서버 내장 Cloud Agent로, AWS, Azure 등 클라우드 서비스 지표를 수집합니다. |
| exemone-api-agent | 제품(Maxgauge 등) 연계 데이터 수집을 위한 에이전트입니다. |
3-2. 외부(인프라) 지원 모듈
| 모듈명 | 역할 |
|---|---|
| exemone-clickhouse | 시계열 데이터 저장용 컬럼형 데이터베이스. 모니터링 지표 데이터(메트릭, 이벤트 등)를 저장합니다. |
| exemone-postgresql | exemONE의 설정/관리 데이터를 저장하는 Repository DB입니다. 사용자, 에이전트, 알람 룰, 권한 등의 메타데이터를 관리합니다. |
| exemone-redis | 캐시 서버. 세션, 토큰 등 임시 데이터를 빠르게 처리합니다. |
| exemone-kafka | 메시지 큐. 에이전트로부터 수신된 데이터를 버퍼링하고 ingester에 전달하는 비동기 메시지 파이프라인입니다. |
| exemone-cache | Nginx 기반 캐시 서버. 정적 리소스 및 API 응답 캐싱을 처리합니다. |
| exemone-https | HTTPS 처리 모듈. SSL/TLS 종단 처리를 담당합니다. |
4. 에이전트 구성 요소 상세 설명
4-1. 에이전트 종류 및 역할
| 에이전트명 | 모니터링 대상 | 설치 위치 |
|---|---|---|
| exem-host-agent | Linux/Windows 서버 OS 지표 (CPU, Memory, Disk, Network 등) | 모니터링 대상 서버 |
| exem-manager-agent | host-agent, db-agent 재기동, 중지, 패치 관리 | 모니터링 대상 서버 |
| exemone-db-agent | Database (Oracle, MySQL, PostgreSQL, SQL Server, MongoDB 등) | DB 서버 또는 수집 서버 내장 |
| exemone-cloud-agent | AWS, Azure 클라우드 서비스 지표 | 수집 서버 내장 |
| exemone-api-agent | Maxgauge 등 제품 연계 데이터 수집 | 수집 서버 내장 |
| exem-k8s-agent | Kubernetes Pod, Node, Container, Namespace 등 | K8s 클러스터 내 |
| exem-webserver-agent | Apache, Nginx 웹서버 및 RUM(Real User Monitoring) | 웹서버 또는 별도 에이전트 서버 |
| exem-ndm-agent | Network Device (SNMP 기반 네트워크 장비) | 별도 설치 |
| exem-java-agent | Java Application (Tomcat, Spring Boot 등) APM | 애플리케이션 서버 JVM |
| exem-kafka-agent | Kafka Cluster, Broker, Client | 별도 설치 |
| exem-nodejs-agent | Node.js 애플리케이션 | 별도 설치 |
| exem-dotnetfw-agent | .NET 프레임워크 기반 웹 애플리케이 | 별도 설치 |
| exem-python-agent | Python 기반 웹 애플리케이션 (Django, Flask, FastAPI) | 별도 설치 |