본문으로 건너뛰기

시작하기

아래는 참고 문서를 기반으로 exemONE의 시스템 요구사항과 설치 절차 개요를 정리한 답변입니다.


exemONE 시스템 요구사항 및 설치 절차 개요

1. 시스템 요구사항

1-1. 수집서버 OS 사양

구분OSCPUMemorySSD Storage(월)
최소Linux RHEL 7.x 이상 / CentOS 7.x 이상 / Rocky 8.x 이상 / Ubuntu 20.x 이상 / Amazon Linux 2023 이상8 core16 GB0.5 TB
권장(위와 동일)16 core32 GB1 TB
  • HDD의 경우 성능이 심하게 떨어지므로 SSD를 권장합니다.
  • 디스크 사용량은 모니터링 대상과 수집 양에 따라 달라지므로, 구축 후 일별 사용량을 체크하여 디스크 증설 또는 보관 주기 수정이 필요합니다.

참고 문서: 수집서버 OS 사양

1-2. 인스턴스 개수별 사양

인스턴스CPUMemoryStorage(월)
5개2 core4 GB125GB
10개4 core8 GB250GB
20개8 core16 GB0.5 TB
40개16 core32 GB1 TB
  • 데이터 없이 Docker만 설치 시 10G로 설치 가능합니다.

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

구분해상도
기본(권장)1920 x 1080
최소1366 x 768 (코드상 1200 x 768)
  • 최소 사이즈 이하로 작아질 경우 내부 스크롤이 발생합니다.

참고 문서: 해상도 권장 사양

1-4. 모듈별 사용 Port

대상출발지도착지TypePort설명
exem-host-agentunix 장비수집서버 (Receiver)TCP9010범용 TCP 요청 및 응답
exem-host-agentlinux, windows 장비수집서버 (Receiver)gRPC9009범용 gRPC 요청 및 응답
exem-k8s-agent모니터링 대상 장비수집서버 (Receiver)gRPC9009범용 gRPC 요청 및 응답
exem-db-agent수집서버모니터링 대상 Target DBTCPDB Listener PortDB 지표 수집
exem-java-agent모니터링 대상 장비수집서버 (Receiver)TCP9010범용 TCP 요청 및 응답
Cloud수집서버 (Receiver)TCP443
모니터링 사용자 PC사용자 PC수집서버 (Gateway)HTTPS8443WEB UI 접속 포트
HTTP8080
ClickHouseTCP8123수집 데이터 저장
PostgreSQLTCP5432Meta 데이터 저장

참고 문서: 모듈별 사용 Port

1-5. 수집 모듈 구성

exemONE은 총 16개의 모듈로 구성됩니다.

내부 수집 모듈:

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

외부 모듈:

모듈명역할
exemone-cache캐시 (Nginx)
exemone-httpsHTTPS 처리
exemone-redisRedis
exemone-kafkaKafka
exemone-postgresqlPostgreSQL (Meta DB)
exemone-clickhouseClickHouse (수집 데이터 DB)

참고 문서: 수집 모듈 설명


2. 설치 절차 개요

exemONE은 3가지 설치 모드를 지원합니다: Docker 모드, Binary 모드, Kubernetes 모드.


2-1. Docker 모드 설치 (가장 일반적)

참고 문서: 신규 설치 가이드(Docker)

지원 환경: CentOS 7 이상, CPU 8 core / Memory 16 GB (인스턴스 1대 기준)

사전 설정 (root 권한으로 진행)

단계 1. Timezone 설정

mv -f /etc/localtime /etc/localtime.tmp
cp -rf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

단계 2. exemone 계정 생성

sudo groupadd -g 1201 exemone
sudo adduser -u 1201 -g 1201 exemone
sudo passwd exemone
usermod -aG root exemone

단계 3. 설치 파일 준비

  • 인터넷이 되지 않는 환경에서는 패키지, 모듈, 외부 컴포넌트, Docker 설치 파일을 사전에 준비해야 합니다.
  • 파일은 제품기술팀에 문의하세요.
tar -zxvf exemone-pkg.tar.gz

단계 4. Docker 설치

tar -xzvf docker-[version].tgz
sudo cp docker/* /usr/bin
sudo nohup dockerd &
sudo groupadd -g 1001 docker
sudo usermod -aG docker exemone
sudo chown root:docker /var/run/docker.sock

단계 5. Docker-compose 설치

sudo cp docker-compose-2.24.6 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version

제품 설치 (exemone 계정으로 진행)

단계 6. exemone 계정 로그인

su - exemone

단계 7. 패키지 압축 해제

cd /home/exemone/
tar -zxvf exemone-installer-v.tar.gz

단계 8. exemONE 파일 압축 해제

# 경로: /home/exemone/exemone/installer
tar -xvzf exemone.tar.gz

단계 9. Docker image 전체 로드

# 경로: /home/exemone/exemone/image
ls *.tar.gz | xargs -L 1 docker load -i

단계 10. 설치 진행

# 경로: /home/exemone/exemone/install/exemone
./install.sh

단계 11. 설치 확인

docker ps

2-2. Binary 모드 설치

참고 문서: 신규 설치 가이드(Binary)

지원 환경: Rocky 8, Rocky 9, CPU 8 core / Memory 16 GB

단계 1. 패키지 압축 해제

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

단계 2. exemone 폴더로 이동

단계 3. 설치 진행

./onectl install
  • OS 버전 선택 (rocky8 / rocky9)
  • View mode 선택 (maxgauge / exemone)

단계 4. 상태 확인

./onectl status

단계 5. 버전 확인

./onectl version all

2-3. Kubernetes 모드 설치

참고 문서: 신규 설치 가이드(Kubernetes)

제약조건: exemone-api와 exemone-receiver Pod는 동일한 Node에서 실행되어야 합니다.

단계 1. 파일 압축 해제

tar xvzf exemone-kubernetes-pkg-v3.0.1.0.tar.gz
cd exemone-kubernetes/installer
tar xvzf exemone-kubernetes.tar.gz

단계 2. 이미지 로드 (모든 Node에)

# Docker 사용 시
docker load -i <이미지>.tar.gz

# containerd 사용 시
ctr -n k8s.io images import <이미지>.tar.gz

단계 3. 사전 설정 - StorageClass 및 Namespace 생성

kubectl create namespace exemone-k8s

단계 4. YAML 생성

sh generate.sh
# SET NAME, NAMESPACE, CLUSTER_DOMAIN, STORAGE_CLASS_NAME 입력

단계 5. 설치 적용

sh apply.sh

단계 6. 배포 확인

kubectl get pods -n exemone-k8s
kubectl get pvc -n exemone-k8s

3. 설치 후 정상 작동 확인

참고 문서: exemONE 정상 작동 확인 리스트

확인 항목 1: 수집 서버 프로세스 정상 기동 확인

  • Docker: docker ps 명령어로 16개 모듈이 모두 Up 상태인지 확인
  • Binary: ./onectl status 명령어로 모든 모듈이 running 상태인지 확인
  • STATUS에 Restarting이 표시되면 비정상 상태이므로 로그 확인이 필요합니다.

확인 항목 2: 모니터링 타겟 에이전트 정상 기동 확인

  • 개별 agent (exem-host-agent, exem-db-agent, exem-k8s-agent, exem-java-agent 등)의 log 파일 확인

확인 항목 3: 웹 화면 로그인 확인

  • exemONE 웹 화면 접속 시 정상 로그인 여부 확인 (기본 포트: HTTPS 8443, HTTP 8080)
  • 로그인 불가 시 exemone-api 로그 확인

확인 항목 4: 모니터링 타겟 상태 확인

  • HOST 기본 뷰에서 Active / Inactive 확인
  • Database 기본 뷰에서 Active / No Signal 확인
  • Kubernetes Pod 뷰에서 Running 확인
  • WAS 기본 뷰에서 Active 확인


4. 추가 주의사항

  1. 인터넷 미접속 환경에서도 설치 가능하지만, 사전에 모든 설치 파일(패키지, Docker 이미지 등)을 준비해야 합니다.
  2. SSD 사용을 강력히 권장합니다. HDD 사용 시 성능이 크게 저하됩니다.
  3. Repository DB로 ClickHouse(수집 데이터)와 PostgreSQL(메타 데이터)을 사용하며, DB 테이블 명세서는 별도 문서로 제공됩니다.

    참고: DB 명세서

  4. 설치 후 디스크 사용량을 일별로 모니터링하여, 필요 시 디스크 증설 또는 데이터 보관 주기를 조정해야 합니다.
  5. Binary 모드는 현재 Rocky 8, Rocky 9만 지원합니다.
  6. Kubernetes 모드에서는 exemone-api와 exemone-receiver Pod가 반드시 동일 노드에 배포되어야 합니다.