Host Agent 설치 및 파라미터
물리/VM 서버의 OS 레벨 메트릭(CPU, Memory, Disk, Network)을 수집하는 에이전트이다. sigar JNI 네이티브 라이브러리를 사용한다.
1. 개요
| 항목 | 내용 |
|---|---|
| 배포 위치 | 물리/VM 서버 (/opt/flowkat/agent.host) |
| 프로세스 형태 | 독립 JVM 데몬 프로세스 |
| 의존 모듈 | Collect Server TCP 6100 연결 필요 |
| 시스템 라이브러리 | sigar (native JNI) |
| 로그 위치 | $AGENT_HOME/logs/ |
2. 필수 설정 (P0)
| 파라미터 | 타입 | 기본값 | conf 키 | 중요도 | 설명 |
|---|---|---|---|---|---|
net_collector_ip | String | 127.0.0.1 | net_collector_ip | 필수 | 수집 서버 IP. 원격 서버 사용 시 반드시 변경한다. |
net_collector_tcp_port | int | 6100 | net_collector_tcp_port | 필수 | 수집 서버 TCP 포트. |
obj_name | String | (호스트네임) | obj_name | 필수 | 오브젝트 이름. 미설정 시 SysJMX.getHostName() 자동 사용. |
monitoring_group_type | String | "" | monitoring_group_type | 필수 | 모니터링 그룹 타입. |
3. 운영 튜닝 (P1 핵심)
| 파라미터 | 타입 | 기본값 | conf 키 | 중요도 | 설명 |
|---|---|---|---|---|---|
net_collector_tcp_session_count | int | 1 | net_collector_tcp_session_count | 핵심 | TCP 세션 수. |
net_collector_tcp_so_timeout_ms | int | 60000 | net_collector_tcp_so_timeout_ms | 핵심 | TCP 소켓 타임아웃(ms). |
net_collector_tcp_connection_timeout_ms | int | 3000 | net_collector_tcp_connection_timeout_ms | 핵심 | TCP 연결 타임아웃(ms). |
disk_warning_pct | int | 70 | disk_warning_pct | 핵심 | 디스크 사용률 경고 임계치(%). |
disk_fatal_pct | int | 90 | disk_fatal_pct | 핵심 | 디스크 사용률 치명 임계치(%). |
cpu_warning_pct | int | 70 | cpu_warning_pct | 핵심 | CPU 경고 임계치(%). |
cpu_fatal_pct | int | 90 | cpu_fatal_pct | 핵심 | CPU 치명 임계치(%). |
cpu_check_period_ms | long | 300000 | cpu_check_period_ms | 핵심 | CPU 체크 주기(ms). |
cpu_warning_history | int | 3 | cpu_warning_history | 핵심 | CPU 경고 연속 횟수 기준. |
mem_warning_pct | int | 80 | mem_warning_pct | 핵심 | 메모리 경고 임계치(%). |
mem_fatal_pct | int | 90 | mem_fatal_pct | 핵심 | 메모리 치명 임계치(%). |
log_keep_days | int | 365 | log_keep_days | 핵심 | 로그 보관일. |
전체 파라미터 목록은 parameter-inventory.md 참조.
4. 설치 절차
사전 요건
- Java 8 이상
- Collect Server 기동 및 TCP 6100 포트 개방
- sigar 네이티브 라이브러리 호환 OS (Linux x86_64, Windows)
설치 단계
# 1. 에이전트 디렉토리 복사
cp -r agent.host /opt/flowkat/agent.host
# 2. 설정 파일 수정 (P0 파라미터)
vi /opt/flowkat/agent.host/conf/flowkat.conf
# 3. 기동
sh /opt/flowkat/agent.host/host.sh
# 4. 기동 확인
tail -f /opt/flowkat/agent.host/logs/flowkat.log
5. 설정 파일 예시
# /opt/flowkat/agent.host/conf/flowkat.conf
# P0: 수집 서버 주소
net_collector_ip=192.168.1.100
net_collector_tcp_port=6100
# P0: 호스트 식별
obj_name=prod-web-server-01
monitoring_group_type=WEB-SERVER
# P1: 알림 임계치 조정
cpu_warning_pct=80
cpu_fatal_pct=95
disk_warning_pct=80
disk_fatal_pct=95
6. 주의사항
| 상황 | 주의 내용 |
|---|---|
| log_rotation 하위 호환 | log_rotation_enabled(정식 키) + log_rotation_enalbed(구 오타 키 폴백) 양쪽 지원. 신규 설정 시 log_rotation_enabled 사용 권장. 기존 log_rotation_enalbed로 설정된 conf 파일도 정상 동작한다. |
| sigar 라이브러리 | ARM 아키텍처에서는 sigar JNI 호환 문제 가능. K8s/컨테이너 환경에서는 agent.host.container 사용. |
| netstat 부하 | counter_netstat_enabled=true(기본) 시 고부하 서버에서 CPU 사용량 증가 가능. 부하 시 false 검토. |
7. 관련 문서
- Container Host Agent: 12.agent-container.md
- 수집 서버 설정: 14.collect-server.md
- 네트워크/포트: 17.network-ports.md
8. Host 에이전트 사양
Host 에이전트는 독립 JVM 데몬 프로세스이다. host.sh에 JVM 옵션이 명시되어 있지 않으므로 JVM 기본 힙 설정(보통 물리 메모리의 1/4)이 적용된다.
| 리소스 | 항목 | 추정값 | 비고 |
|---|---|---|---|
| 메모리 | JVM 힙 (기본) | 256~512 MB (JVM 자동 결정) | -Xmx 미지정 시 JVM이 물리 메모리 기준 자동 설정. 운영 시 -Xmx256m 명시 권장 |
| 메모리 | 실제 RSS (정상 동작 시) | ~100~150 MB | Metaspace + Heap + JNI 합산 |
| CPU | 메트릭 수집 주기 (cpu_check_period_ms=300000) | < 0.1% | 5분 주기 폴링, 거의 무부하 |
| CPU | netstat 수집 활성 (counter_netstat_enabled=true) | 최대 0.5~1% | 고부하 서버에서 부하 유발 가능. 필요 시 false 설정 |
| 디스크 | 로그 위치 | $AGENT_HOME/logs/ | Host 에이전트/conf/flowkat.conf의 log_dir로 변경 가능 |
| 디스크 | 일 로그 크기 | ~1~5 MB/일 | OS 메트릭 + 알림 로그 기준 |
| 디스크 | sigar 네이티브 라이브러리 | ~8.4 MB (28개 플랫폼 파일 포함) | Host 에이전트/lib/ 디렉토리. 플랫폼별 .so·.dll 파일 포함 |
| 네트워크 | Counter 전송 대역폭 | < 1 KB/초 | CPU·메모리·디스크·네트워크 카운터 주기 전송 기준 |
| 네트워크 | TCP 포트 | 6100 (기본, net_collector_tcp_port) | Collect Server로의 단방향 연결 |