본문으로 건너뛰기

Binary 모드 설치

모든 핵심 참고 문서를 확인했습니다. 이제 상세한 답변을 작성하겠습니다.


exemONE Binary 모드 신규 설치 가이드

참고 문서:


1. 지원 환경 및 시스템 요구사항

1-1. 지원 OS (Binary 모드 전용)

구분지원 OS
Binary 모드Rocky 8, Rocky 9 만 지원

Binary 모드는 Docker가 필요 없으며, Rocky Linux 8/9에서만 지원됩니다. 다른 OS(CentOS, Ubuntu 등)에서는 Docker 모드를 사용해야 합니다.

1-2. 서버 사양

구분CPUMemorySSD - Storage(월)
최소8 core16 GB0.5 TB
권장16 core32 GB1 TB

인스턴스 개수별 사양:

인스턴스CPUMemoryStorage(월)
5개2 core4 GB125GB
10개4 core8 GB250GB
20개8 core16 GB0.5 TB
40개16 core32 GB1 TB

주의사항:

  • HDD의 경우 성능이 심하게 떨어지기 때문에 SSD 권장
  • 디스크 사용량은 모니터링 대상과 수집 양에 따라 다를 수 있으므로, 구축 후 일별 사용량을 체크하여 필요 시 디스크 증설 또는 보관 주기 수정 필요

1-3. 화면 해상도 권장 사양

구분해상도
기본(권장)1920 x 1080
최소1366 x 768 (코드상 1200 x 768)

최소 사이즈 이하로 작아질 경우 내부 스크롤이 발생합니다.


2. 포트 정보

2-1. 외부 통신 포트 (에이전트 ↔ 수집 서버)

Target출발지도착지TypePort포트 사용 내용
exem-host-agentunix 장비ReceiverTCP9010범용 TCP 요청 및 응답
exem-host-agentlinux, windows 장비ReceivergRPC9009범용 gRPC 요청 및 응답
exem-k8s-agent모니터링 대상 장비ReceivergRPC9009범용 gRPC 요청 및 응답
exem-container-agent모니터링 대상 장비ReceivergRPC9009범용 gRPC 요청 및 응답
exem-db-agent수집 서버Target DBTCPDB Listener PortDB 지표 수집
개별 db agent모니터링 대상 장비ReceivergRPC9009범용 gRPC 요청 및 응답
exem-java-agent모니터링 대상 장비ReceiverTCP9010범용 TCP 요청 및 응답
Cloud-ReceiverTCP443클라우드 데이터 수집

2-2. 웹 UI 접속 포트

출발지도착지TypePort내용
사용자 PCGatewayHTTPS8443WEB UI 접속 포트
사용자 PCGatewayHTTP8080WEB UI 접속 포트

2-3. 내부 데이터 저장소 포트

모듈TypePort내용
ClickHouseTCP8123수집 데이터 저장
PostgreSQLTCP5432메타 데이터 저장

3. 수집 서버 모듈 구성 (총 16개)

exemONE 수집 모듈:

모듈 명역할
exemone-db-agentDB 데이터 수집
exemone-cloud-agent클라우드 데이터 수집
exemone-coreClickHouse 데이터베이스 테이블 스키마 관리 (형상관리)
exemone-alerter알람 처리
exemone-receiver에이전트 데이터 수신
exemone-ingester데이터 적재
exemone-gatewayAPI 게이트웨이
exemone-apiREST API 서비스
exemone-front프론트엔드 웹 서비스

외부 모듈:

모듈 명역할
exemone-cache캐시 (Nginx)
exemone-httpsHTTPS 프록시 (Nginx)
exemone-redis인메모리 데이터 스토어
exemone-kafka메시지 큐
exemone-postgresql메타 데이터 저장
exemone-clickhouse수집 데이터 저장

설치 후 모든 16개 모듈이 running 상태여야 정상 동작합니다.


4. 사전 설정

4-1. 설치 패키지 준비

  • Binary 형식의 exemONE 설치 패키지 파일을 준비합니다: exemone-pkg-v{설치버전}.tar.gz
  • 패키지 파일은 제품기술팀에 문의하여 준비합니다.

5. Binary 모드 신규 설치 절차 (단계별)

단계 1. 패키지 압축 해제

tar -zxvf exemone-pkg-v3-0-507-0.tar.gz

단계 2. exemone 폴더로 이동

cd exemone

단계 3. 설치 진행

onectl install 명령어로 설치를 시작합니다.

$ ./onectl install
Do you want to continue? (y/n) : y
Insatll Services...

OS 버전 선택:

Select OS for installation:
1) rocky8
2) rocky9

선택할 OS 숫자를 선택해주세요) 1
Selected OS: rocky8
Updated /home/exemone/exemone/.env
onectl install (rocky8)
EXEMONE_HOME : /home/exemone/exemone
script/install.sh exemone_home : /home/exemone/exemone

View 모드 선택:

Select view mode for installation:
1) maxgauge
2) exemone
선택할 view mode 숫자를 선택해주세요)
  • maxgauge: Maxgauge 모드 UI
  • exemone: exemONE 표준 UI

설치가 완료되면 모든 모듈이 자동으로 기동됩니다.

단계 4. 전체 모듈 구동 상태 확인

$ ./onectl status

정상 설치 시 출력 예시:

Checking service statuses...
|===========================Tue Aug 5 09:50:07 KST 2025===========================|
| exemone-redis | Status : running |
| exemone-front | Status : running |
| exemone-db-agent | Status : running |
| exemone-cloud-agent | Status : running |
| exemone-api | Status : running |
| exemone-https | Status : running |
| exemone-alerter | Status : running |
| exemone-kafka | Status : running |
| exemone-gateway | Status : running |
| exemone-postgresql | Status : running |
| exemone-cache | Status : running |
| exemone-receiver | Status : running |
| exemone-ingester | Status : running |
| exemone-core | Status : running |
| exemone-clickhouse | Status : running |
| observer | Status : running |
|==================================================================================|

모든 모듈의 Status가 running이면 정상입니다.

단계 5. 전체 모듈 설치 버전 확인

$ ./onectl version all

출력 예시:

=============================== exemone-alerter ================================
exemONE Aleter Version: v3.0.507.5, CommitID: 82234a93
BuildTime: Mon Aug 4 13:11:08 UTC 2025, Build With go1.20.4

================================= exemone-api ==================================
APP_VERSION=v3.0.507.7, COMMIT_ID=ece9c759, BUILD_TIME=Mon Aug 4 06:54:54 UTC 2025

================================ exemone-cache =================================
nginx-1.27.2

============================== exemone-clickhouse ==============================
[2025-08-05 09:51:17] EXEMONE INFO exemone version:
24.1.5.6

...

6. onectl 관리 도구 명령어

Binary 모드에서는 onectl CLI 도구로 모든 모듈을 관리합니다.

명령어설명
./onectl install신규 설치
./onectl status전체 모듈 상태 확인
./onectl version all전체 모듈 버전 확인
./onectl start all전체 모듈 시작
./onectl stop all전체 모듈 중지
./onectl restart all전체 모듈 재시작
./onectl start [모듈명]특정 모듈 시작 (예: ./onectl start api)
./onectl stop [모듈명]특정 모듈 중지
./onectl restart [모듈명]특정 모듈 재시작
./onectl log [모듈명]특정 모듈 로그 확인

7. 설정 파일 경로

Binary 모드에서 각 모듈의 설정 파일 경로는 다음과 같습니다.

모듈명설정 파일 경로
exemone-api$EXEMONE_HOME/services/exemone-api/configs/application.yml
exemone-core$EXEMONE_HOME/services/exemone-core/configs/core.yml
exemone-alerter$EXEMONE_HOME/services/exemone-alert/configs/alert.yml
exemone-ingester$EXEMONE_HOME/services/exemone-ingester/configs/ingester.yml
exemone-gateway$EXEMONE_HOME/services/exemone-gateway/configs/gateway.yml
exemone-receiver$EXEMONE_HOME/services/exemone-receiver/configs/receiver.yml
exemone-cloud-agent$EXEMONE_HOME/services/exemone-cloud-agent/configs/agent.yml
exemone-db-agent$EXEMONE_HOME/services/exemone-db-agent/configs/agent.yml
exemone-redis$EXEMONE_HOME/services/exemone-redis/configs/redis.conf
exemone-clickhouse$EXEMONE_HOME/services/exemone-clickhouse/configs/config.xml
exemone-postgresql$EXEMONE_HOME/services/exemone-postgresql/data/postgresql.conf
exemone-cache$EXEMONE_HOME/services/exemone-cache/conf.d/http.conf
exemone-front$EXEMONE_HOME/services/exemone-front/conf.d/http.conf
exemone-https$EXEMONE_HOME/services/exemone-https/conf.d/http.conf

버전 관리 파일:

  • $EXEMONE_HOME/.env — 각 모듈의 설치/패치 버전을 관리하는 환경 변수 파일
# .env 파일 예시
EXEMONE_ALERTER=exemone-alerter-v3.0.506.15.14
EXEMONE_API=exemone-api-v3.0.506.15.3
EXEMONE_CLOUD_AGENT=exemone-cloud-agent-v3.0.506.15.3
EXEMONE_CORE=exemone-core-v3.0.506.15.20
EXEMONE_DB_AGENT=exemone-db-agent-v3.0.506.15.9
EXEMONE_GATEWAY=exemone-gateway-v3.0.506.15.4
EXEMONE_INGESTER=exemone-ingester-v3.0.506.15.14
EXEMONE_RECEIVER=exemone-receiver-v3.0.506.15.7
EXEMONE_FRONT=exemone-front-v3.0.506.15.46
EXEMONE_POSTGRES=17.3-alpine3.21

8. 포트 변경 방법

특정 모듈의 포트 변경이 필요한 경우, 해당 모듈의 설정 파일을 수정한 뒤 연관 모듈 파일에도 변경된 포트를 적용해야 합니다.

포트 변경 모듈설정 파일연관 모듈 (함께 수정 필요)
APIservices/exemone-api/configs/application.yaml → server portCore, Receiver, Ingester, Alerter
Cacheservices/exemone-cache/conf.d/http.conf → listen-
Frontservices/exemone-front/conf.d/http.conf → listenGateway
Gatewayservices/exemone-gateway/configs/gateway.yaml → gateway portAPI(ingress), Https(proxy_pass)
Receiverservices/exemone-receiver/configs/receiver.yaml → http-port / grpc-portdb-agent, cloud-agent (grpc-port 변경 시)
Httpsservices/exemone-https/conf.d/http.conf → listen-
Redisservices/exemone-redis/configs/redis.conf → portAPI, Core, Gateway, Receiver, Ingester, Alerter
ClickHouseservices/exemone-clickhouse/configs/config.xml → http-portAPI, Core, Ingester, Alerter
PostgreSQLservices/exemone-postgresql/data/postgresql.conf → port (기본 5432)API, Core, Alerter

포트 변경 후에는 반드시 해당 모듈을 재기동합니다:

./onectl restart [모듈명]
# 예: ./onectl restart api


9. 설치 후 정상 작동 확인 리스트

9-1. 수집 서버 프로세스 확인

$ ./onectl status
  • 16개 모듈이 모두 running 상태인지 확인

9-2. 비정상 모듈 로그 확인

모듈이 stopped 또는 비정상인 경우:

./onectl log [재기동 중인 모듈명]
# 예: ./onectl log exemone-core

9-3. 웹 화면 접속 확인

  • 브라우저에서 https://[수집서버IP]:8443 또는 http://[수집서버IP]:8080으로 접속
  • 로그인이 정상적으로 되는지 확인
  • 로그인 실패 시 exemone-api 로그 확인 필요

9-4. 에이전트 상태 확인

  • HOST 기본 뷰: Active / Inactive 상태 확인

  • Database 기본 뷰: Active / No Signal 상태 확인

inactive 또는 nosignal인 경우, 수집서버 ↔ 타겟 서버 간 네트워크 및 포트(9009/9010) 방화벽 확인이 필요합니다.


10. 추가 주의사항

  1. OS 제한: Binary 모드는 Rocky 8/9에서만 지원됩니다. 다른 OS에서는 Docker 또는 Kubernetes 모드를 사용하세요.
  2. SSD 필수: HDD 사용 시 심각한 성능 저하가 발생합니다.
  3. 패키지 파일 준비: 설치 파일(exemone-pkg-v{버전}.tar.gz)은 제품기술팀에 문의하여 준비합니다.
  4. 데이터 경로 변경: 설치 후 ClickHouse/PostgreSQL 데이터 경로를 별도 디스크로 변경하려면 바이너리 패키지 파일 경로 변경 가이드를 참고하세요.
  5. 포트 변경 시 주의: 한 모듈의 포트 변경 시, 해당 포트를 참조하는 연관 모듈의 설정 파일도 함께 수정해야 정상 동작합니다.
  6. 모듈 패치: 설치 후 개별 모듈 패치가 필요한 경우 모듈 패치 가이드(Binary)를 참고하세요.