본문으로 건너뛰기

패키지 설치

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


exemONE 패키지 설치 방법 개요 및 설치 모드 종류

참고 문서:


1. 설치 개요

exemONE은 통합 모니터링 플랫폼으로, 제품 설치 및 패치 시 진행 절차에 대해 가이드를 제공하며, 통합 패키지와 각 모듈, 에이전트에 대한 설치 및 패치를 지원합니다.

exemONE 수집 서버는 총 16개 모듈로 구성되며, 설치 후 모든 모듈이 running 상태여야 정상적으로 동작합니다.


2. 공통 시스템 요구사항

2-1. 서버 사양

구분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 권장
  • 디스크 사용량은 모니터링 대상과 수집 양에 따라 다를 수 있으므로, 구축 후 일별 사용량을 체크하여 필요 시 디스크 증설 또는 보관 주기 수정 필요
  • 데이터 없이 Docker만 설치 시 10GB로 설치 가능

2-2. 화면 해상도

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

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

2-3. 주요 포트 정보

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 지표 수집
exem-java-agent모니터링 대상 장비ReceiverTCP9010범용 TCP 요청 및 응답
Cloud-ReceiverTCP443클라우드 데이터 수집
모니터링 사용자 PC사용자 PCGatewayHTTPS8443WEB UI 접속 포트
HTTP8080
ClickHouseTCP8123수집 데이터 저장
PostgreSQLTCP5432메타 데이터 저장

3. 설치 모드 종류 (3가지)

exemONE은 운영 환경에 따라 Binary, Docker, Kubernetes 3가지 설치 모드를 제공합니다.

3-1. Binary 모드

항목내용
지원 OSRocky 8, Rocky 9만 지원
Docker 필요 여부불필요
설치 파일exemone-pkg-v{설치버전}.tar.gz
설치 명령어./onectl install
관리 도구onectl (start/stop/restart/status/version/log)

설치 절차 요약:

  1. 패키지 압축 해제: tar -zxvf exemone-pkg-v3-0-507-0.tar.gz
  2. exemone 폴더 이동: cd exemone
  3. 설치 진행: ./onectl install → OS 버전 선택 (rocky8/rocky9) → View 모드 선택 (maxgauge/exemone)
  4. 상태 확인: ./onectl status
  5. 버전 확인: ./onectl version all

특징:

  • Docker 없이 바이너리로 직접 실행
  • Rocky 8/9만 지원하므로 OS 제약이 있음
  • onectl CLI 도구로 모든 모듈 관리

상세 가이드: Binary 신규 설치 가이드


3-2. Docker 모드

항목내용
지원 OSCentOS 7 이상, Rocky 8.x 이상, Ubuntu 20.x 이상, Amazon Linux 2023 이상
Docker 필요 여부필수 (Docker + Docker-compose)
설치 파일exemone-installer-v.tar.gz + Docker 이미지 파일
설치 명령어./install.sh
관리 도구Docker / Docker-compose 명령어

설치 절차 요약:

  1. 사전 설정 (root 권한):
    • Timezone 설정
    • exemone 계정 생성
    sudo groupadd -g 1201 exemone
    sudo adduser -u 1201 -g 1201 exemone
    sudo passwd exemone
    usermod -aG root exemone
  2. 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
  3. Docker-compose 설치:
    sudo cp docker-compose-2.24.6 /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  4. 제품 설치 (exemone 계정):
    su - exemone
    cd /home/exemone/
    tar -zxvf exemone-installer-v.tar.gz
  5. Docker 이미지 로드:
    ls *.tar.gz | xargs -L 1 docker load -i
  6. 설치 실행: ./install.sh
  7. 설치 확인: docker ps

특징:

  • 가장 넓은 OS 호환성 제공
  • 인터넷 접속 불가능한 환경에서도 오프라인 설치 가능
  • Docker 컨테이너 기반으로 모듈 격리 및 관리

상세 가이드: Docker 신규 설치 가이드


3-3. Kubernetes 모드

항목내용
지원 환경Kubernetes 클러스터 (docker 또는 containerd 런타임)
설치 파일exemone-kubernetes-pkg-{version}.tar.gz
설치 명령어sh generate.shsh apply.sh
관리 도구kubectl 명령어

제약조건:

  • exemone-api와 exemone-receiver Pod는 동일한 Node에서 실행되어야 합니다.
  • Worker Node에 라벨 설정 후 Deployment의 nodeSelector로 제어:
    kubectl label nodes worker-node1 workload=exemone-k8s

설치 절차 요약:

  1. 사전 설정:

    • Storage Class 생성
    • Namespace 생성: kubectl create namespace exemone-k8s
  2. 패키지 압축 해제:

    tar xvzf exemone-kubernetes-pkg-v3.0.1.0.tar.gz

  1. 이미지 로드 (모든 Node에):

    • Docker 사용 시: docker load -i <이미지>.tar.gz
    • containerd 사용 시: ctr -n k8s.io images import <이미지>.tar.gz
  2. generate.sh 실행 (yaml 파일 생성):

    sh generate.sh
    # SET NAME: 폴더 이름
    # NAMESPACE: exemone-k8s
    # CLUSTER_DOMAIN: cluster.local
    # STORAGE_CLASS_NAME: local-storage-exemone-k8s
  3. apply.sh 실행 (설치):

    sh apply.sh
    # SET NAME 입력
  4. 배포 확인:

    kubectl get pods -n exemone-k8s
    kubectl get pvc -n exemone-k8s
    # api와 receiver 동일 노드 확인
    kubectl get pods -n exemone-k8s -o wide | grep -E 'exemone-api|exemone-receiver'

삭제 방법:

  • sh delete.sh로 모든 서비스 모듈 및 데이터 삭제
  • 데이터(PVC) 유지가 필요하면 delete.sh에서 kubectl delete -f ./$SET_NAME/pvc.yaml 라인을 주석 처리

특징:

  • Kubernetes 네이티브 환경에서의 배포
  • Storage Class, Namespace 등 K8s 리소스 사전 구성 필요
  • PVC를 통한 데이터 영속성 관리
  • generate.sh + apply.sh 스크립트 기반 자동화 설치

상세 가이드: Kubernetes 신규 설치 가이드


4. 설치 모드 비교 요약

비교 항목BinaryDockerKubernetes
지원 OSRocky 8/9만CentOS 7+, Ubuntu 20+, Amazon Linux 2023+ 등K8s 클러스터
Docker 필요XO (필수)O (또는 containerd)
설치 방식onectl install./install.shgenerate.sh + apply.sh
모듈 관리onectl CLIdocker / docker-composekubectl
OS 호환성제한적광범위K8s 환경 의존
사전 요구사항최소Docker/Docker-compose 설치K8s 클러스터, StorageClass, Namespace
적합한 환경Rocky Linux 전용 서버일반 Linux 서버컨테이너 오케스트레이션 환경

5. 주의사항

  1. 설치 파일 준비: 패키지 파일은 제품기술팀에 문의하여 준비하세요.
  2. SSD 필수: HDD 사용 시 심각한 성능 저하가 발생합니다.
  3. 인터넷 불가 환경: Docker/Kubernetes 모드 모두 오프라인 설치를 지원하지만, 사전에 이미지 파일을 준비하여 수동 로드해야 합니다.
  4. Kubernetes 제약: exemone-api와 exemone-receiver Pod는 반드시 동일 Node에 배포되어야 합니다.
  5. Binary 모드 OS 제한: Binary 모드는 Rocky 8/9만 지원하므로, 다른 OS에서는 Docker 또는 Kubernetes 모드를 사용하세요.
  6. 모듈 전체 기동: 설치 모드에 관계없이, 수집 서버의 16개 모듈 전체가 정상 기동(running)되어야 서비스가 정상 동작합니다.