본문으로 건너뛰기

Host Agent 설치

1. 모듈 설명

exemONE Host Agent(exem-host-agent)는 서버(Linux, Windows, Unix 등)의 시스템 성능 지표를 수집하여 exemONE 수집 서버(Receiver)로 전송하는 에이전트입니다.

전제 조건: root 계정으로 설치해야 하며, 일반 user 권한으로 설치 시 서비스 등록 및 프로세스 디스크 read/write 정보 수집이 불가능합니다.


2. 지원 환경

Linux

  • Kernel version 2.6.32 이상
  • Ubuntu 12.04 이상
  • Rocky Linux 8 이상
  • SUSE 10 이상
  • CentOS 6 이상
  • Red Hat 6 이상 (RHEL 기반 배포 버전 지원)
  • Fedora
  • Amazon Linux

Windows (64bit)

  • Windows 7 이상
  • Windows Server 2008 R2 이상

Unix 계열

  • AIX 5.3 이상 (64bit) — 현재 기본 SMS 데이터 수집만 지원
  • HP-UX 11.31 이상 (64bit) — 현재 기본 SMS 데이터 수집만 지원
  • SunOS 5.10 이상 (64bit) — 현재 기본 SMS 데이터 수집만 지원

Unix 계열(AIX, HP-UX, SunOS)은 추후 Log Monitoring, Script Manager, Process 감시 기능 지원 예정입니다.

Docker

  • host-agent 3.0.24 이상인 경우 Docker version 28.x까지 지원 (API Version 1.42까지)

3. 통신 포트

대상출발지도착지프로토콜Port설명
exem-host-agentLinux, Windows 장비exemONE 수집서버 (Receiver)gRPC9009범용 gRPC 요청 및 응답
exem-host-agentUnix 장비 (AIX, HP-UX, SunOS)exemONE 수집서버 (Receiver)TCP9010범용 TCP 요청 및 응답


4. Linux 환경 설치 방법

주의사항

  • root 계정으로 설치를 권장합니다.
  • 일반 user 권한으로 설치 시 서비스 등록 및 프로세스 디스크 read/write 정보 수집이 불가능합니다.

단계별 설치 절차

단계 1. setup 파일 실행

  • [install(patch)] 선택

단계 2. 설치 옵션 설정

  • 환경 변수 설정
NONameRequiredDefaultDescription
1EXEM_NAMEOsetup 파일 실행 위치에 exem 폴더 추가exemONE agent들을 설치할 디렉토리 설정
2RECEIVER_IPOX (기본값 없음)host agent와 연결할 receiver의 ip
3RECEIVER_PORTOLinux: 9009(gRPC) / Unix: 9010(TCP)host agent와 연결할 receiver의 port

단계 3. 설치 완료

단계 4. exem-host-agent 실행

실행/종료 방법

  • 기본적으로 ${EXEM_HOME}/host 디렉토리의 start.shstop.sh 사용하여 실행/종료합니다.

case 1) root 계정인 경우

  • start/stop 시 각각 서비스 등록 및 실행, 서비스 제거 및 종료를 진행합니다.
- 실행: ${EXEM_HOME}/host/start.sh 
- 종료: ${EXEM_HOME}/host/stop.sh

case 2) sudo 권한이 있는 일반 user 계정인 경우

  • start/stop 시 각각 서비스 등록 및 실행, 서비스 제거 및 종료를 진행합니다.
  • 각각의 스크립트 실행 시 반드시 sudo를 붙여줘야 합니다. (해당 user가 sudo 권한 부여 시 NOPASSWD를 설정하지 않은 경우 비밀번호를 물어볼 수 있음)
- 실행: sudo ${EXEM_HOME}/host/start.sh 
- 종료: sudo ${EXEM_HOME}/host/stop.sh

case 3) sudo 권한이 없는 일반 user 계정인 경우 권장하지 않음

  • start/stop 시 단순 에이전트 실행 및 종료를 진행합니다. (서비스 사용 불가)
  • 각각의 스크립트 실행 시 서비스를 등록/제거할 수 없다는 안내 문구가 출력됩니다.
- 실행: ${EXEM_HOME}/host/start.sh
- 종료: ${EXEM_HOME}/host/stop.sh

정상 실행 확인 방법

  • 서비스 등록 시 확인 방법

Linux (systemctl을 사용하는 경우)

systemctl status exem-host-agent

Linux (service, chkconfig를 사용하는 경우)

chkconfig --list exem-host-agent

service 등록 없이 실행 시 확인 방법

ps -ef | grep exem-host-agent

버전 확인 방법

간단한 버전 확인 방법 (Linux & Unix 모두 동일)

${EXEM_HOME}/host/pkg_version.sh

자세한 버전 확인 방법 (Linux & Unix 모두 동일)

${EXEM_HOME}/host/bin/exem-host-agent -v


5. Linux 환경 패치 방법

주의사항

  • 패치 진행 시 기존 설정한 ${EXEM_HOME} 디렉토리를 변경 없이 진행해야 합니다.
  • 패치 시 ${EXEM_HOME}/host/data/host_id 파일이 유지되어야 기존과 동일한 host로 인식합니다.
  • 해당 파일이 없는 경우 새 host_id가 발급되어 패치 이전의 데이터와 연결되지 않을 수 있으며, 수동 패치 시 해당 파일을 백업하여 ${EXEM_HOME}/host/data 폴더에 저장 후 기동해야 합니다.
  • setup 파일의 patch 메뉴 사용 시 자동으로 기존 host_id를 유지하므로 setup 파일을 사용한 패치 권장합니다.

단계별 설치 절차

단계 1. setup 파일 실행

  • [install(patch)] 선택

단계 2. 설치 옵션 설정

1) 설정했던 EXEM_HOME 입력: setup 파일이 실행된 위치 기준으로 default 값이 설정됩니다. 2) 이미 설치되어 있는지 확인 후 패치 여부 선택 3) EXEM_HOME을 제외한 나머지 옵션은 기존에 설치했던 옵션대로 default 값이 설정됨

  • 주의사항: 설치 이후 변경된 옵션(ex. RECEIVER_IP/PORT)은 반영되지 않으니, 해당 설정 값 필수 확인 후 진행 필요합니다.

단계 2. 패치 완료


6. Windows 환경 설치 방법

주의사항

  • 설치 및 실행은 관리자 권한으로 진행해야 합니다.

단계별 설치 및 패치

단계 1. setup exe 파일 실행

  • [다음 > ] 선택

해당 서버에 이미 설치되어 있는 경우 자동으로 감지하여 아래 팝업 발생 (패치)

  • [예(Y)]를 선택하는 경우 마지막 설치 과정에서 기존 에이전트를 제거하고 새 버전을 설치합니다. (설치 파일을 중도에 취소하는 경우 기존 에이전트 유지)
  • [아니오(N)]를 선택하는 경우 설치 파일이 종료됩니다.

단계 2. 설치 경로 설정

[ 설치 폴더 ] 설정 -> 기본 경로는 C:\Program Files (x86)\exem[ 다음 > ] 선택

단계 3. Receiver IP & Port 설정

[ RECEIVER_ADDR ] 입력

  • {IP}:{port} 형식으로 입력합니다. ex) 10.10.10.10:9009
  • 기본값 설정이 없으므로 반드시 설정해야 합니다.
  • Windows host agent는 gRPC port (default 9009)를 사용해야 합니다.

[ 다음 ] 선택

단계 4. Receiver IP & Port 체크

[ 예(Y) ] 선택

  • 설치를 시작합니다. ② [ 아니요(N) ] 선택
  • 다시 Receiver IP & Port를 입력할 수 있습니다.

단계 5. 서비스 등록 여부 선택

[ ⓥ ] 선택

  • 서비스 등록을 합니다. ② [ 설치 ] 선택
  • 참고: 설치시 서비스 등록한 경우 exem-host-agent가 비정상 종료시 자동 재기동됩니다.

단계 6. 설치 완료

[ 닫음 ] 선택

  • 위 ❺ 서비스 등록 여부 선택 에서 서비스를 등록한 경우에만 설치가 완료되면 자동으로 exem-host-agent가 실행되어 동작합니다.(서비스 등록 하지 않은 경우 수동으로 실행해야 합니다.)

exem-host-agent 삭제

삭제 참고사항

  • 삭제시 기존 실행되고 있는 host agent는 자동 종료 후 삭제 과정이 진행됩니다.
  • 기존 host id를 유지하기 위해 C:\Users\[사용자]\AppData\Local\exem\host\data 경로$EXEM_HOME\host\data\host_id 파일이 자동 백업됩니다.
  • host_id 이외 파일의 경우 삭제시 백업되지 않으며, 로그 등 중요한 데이터는 삭제 전 백업이 필요합니다.

삭제 참고사항

  • [방법 1] $EXEM_HOST_HOME 경로의 Uninstall.exe 실행
  • [방법 2] 제어판 ➝ 프로그램 제거 ➝ exem-host-agent 선택 ➝ 마우스 우클릭 ➝ 제거/변경(U) 선택

단계 1. Uninstall.exe 실행

[ 다음 > ] 선택

단계 2. 제거 대상 확인

[ 제거 대상 ] 확인

  • 기존 설치한 경로\host 자동 설정 ② [ 제거 ] 선택

단계 3. 삭제 완료

exem-host-agent 실행 참고 사항

정상 실행 확인 방법

  • 작업관리자 ➝ 프로세스에서 "exem-host-agent"가 있는지 확인합니다.

버전 확인 방법

  • [간단한 버전 확인] 윈도우 PowerShell을 실행하여 $EXEM_HOST_HOME 폴더로 이동 후 .\pkg_version.bat 명령어로 exem-host-agent의 버전 정보를 확인할 수 있습니다.

  • [자세한 버전 확인] 윈도우 PowerShell을 실행하여 $EXEM_HOST_HOME/bin 폴더로 이동 후 .\exem-host-agent_win_64.exe -v 명령어로 exem-host-agent의 버전 정보를 확인할 수 있습니다.

  • 작업관리자 ➝ 프로세스 에서 실행 프로세스명으로 exem-host-agent의 버전 정보를 확인할 수 있습니다.

서비스 등록 확인

  • 서비스에 EXEM HOST AGENT로 아래와 같이 설정됩니다.


7. 수집 항목

Host Agent는 다음과 같은 항목을 수집합니다:

기본 수집 항목

카테고리수집 항목
CPUCPU 사용률, CPU User, System, Wait, Idle 등
Memory메모리 총량, 사용량, 사용률, Available, Free, Buffer, Cached 등
Disk디스크 사용량, 사용률, I/O Read/Write
Network네트워크 인터페이스별 In/Out 트래픽, Packet 등
File System파일시스템별 사용량, 잔여량, 마운트 정보
Process프로세스별 CPU, Memory, Disk Read/Write 사용량
System InfoOS 정보, Hostname, IP, Uptime 등
Installed Package설치된 패키지 목록 (Summary 최대 100자)

추가 수집 항목 (Config 설정 필요)

기능Config Key설명
TCP Port 모니터링HOST_INTERVAL_PORT_MONITORING, HOST_PORT_MONITORING_LIST지정 포트의 LISTENING 상태 모니터링
GPU 모니터링HOST_INTERVAL_GPU_MONITORINGGPU 사용률, 온도, 메모리, 전력, 프로세스 등
네트워크 드라이브HOST_COLLECT_WINDOWS_NETWORK_DRIVE (Windows)Windows 네트워크 드라이브 사용량 수집
NFS (Linux)HOST_RECEIVER_SESSION_TIMEOUTLinux NFS 파일시스템 수집

GPU 수집 데이터 상세 (Host Agent 3.0.23 이상)

  • Metadata: GPU Index, Driver Version, Model Name, Vbios Version, Bus ID, UUID
  • Metric: GPU Utilization(%), Memory Utilization(%), Encoder/Decoder Utilization(%), FB Memory Usage, GPU Temperature, Clock 정보(mem/sm/graphic/video), Power 사용량, Fan Speed
  • Process: PID, Process Name, Type, Used Memory, GPU Instance ID, Compute Instance ID

8. 설정

default IP 수동 설정

파일 경로: $EXEM_HOME/host/data/manual_ip.conf

# IP 직접 지정
default_ip=10.10.36.108

# 또는 네트워크 인터페이스명으로 지정
default_name=bond0

스크립트를 통한 설정:

# IP로 설정
./set_manual_ip.sh --ip 10.10.36.108

# 네트워크 이름으로 설정
./set_manual_ip.sh --name bond0

# 설정 제거
./set_manual_ip.sh --unset

9. 추가 주의사항

  1. root 권한 필수: 일반 사용자로 설치 시 서비스 등록 및 프로세스 디스크 I/O 수집이 불가능합니다.
  2. 방화벽 설정: Linux/Windows는 gRPC 9009 포트, Unix는 TCP 9010 포트가 수집서버 방향으로 열려있어야 합니다.
  3. Unix 계열 제약: AIX, HP-UX, SunOS는 현재 기본 SMS 데이터만 수집 가능하며, Log Monitoring/Script Manager/Process 감시는 추후 지원 예정입니다.
  4. ulimit 설정: AIX 등 Unix 환경에서 data size 등 ulimit 값이 작으면 Agent가 정상 동작하지 않을 수 있습니다. ulimit -d unlimited 명령으로 조정이 필요합니다. (트러블슈팅 참고)
  5. Memory 사용률 산출식: 기본값은 (total-available)/total*100이며, 필요 시 PostgreSQL에서 hostUsedAvailable 값을 변경하여 산출 방식을 조정할 수 있습니다. (메모리 사용률 변경)
  6. Windows 네트워크 드라이브 수집 시 서비스가 아닌 Binary로 실행해야 수집이 가능합니다. (Network Drive 모니터링)