소개
1. 개요
exemone-cloud-agent는 AWS, Azure클라우드 리소스를 모니터링하는 에이전트입니다.
1.2. 주요 기능
- AWS CloudWatch 및 Azure Monitor 기반 성능 지표 수집
- 클라우드 계정의 리소스 목록 자동 조회 및 갱신
- 관리형 데이터베이스의 상태·세션·SQL·대기·스토리지 등 상세 지표 수집
- AWS CloudWatch Alarm, CloudWatch Logs, Live Tail 및 Enhanced Monitoring 데이터 수집
- AWS Cost Explorer 기반 비용 데이터 수집
- Receiver에서 전달된 설정 및 명령 조회 처리
- 에이전트 상태 보고, 시간 보정, 설정 갱신 및 연결 장애 복구
- 수집 주기, 타임아웃, DB 커넥션 풀, gRPC 메시지 크기, 로그 로테이션 설정 지원
2. 패키지
2.1. binary 패키지
- 패키지명:
exemone-cloud-agent-{version}.tar.gz - binary 패키지를 압축 풀면 생성되는 패키지 구조

1.3.1. conf
- agent의 config를 설정하기 위한 파일
1.3.2. license
- agent의 라이센스 파일
1.3.3. logs
- agent 로그 파일이 위치합니다
- agent.log : 기본 로그 파일
- panic.log : panic발생시 생성되는 로그 파일
1.3.4. history.txt
- script실행 내역을 저장합니다.
1.3.5. .env
- install시 사용할 버전정보를 입력하는 파일입니다.
1.3.6. setup.sh, start.sh, stop.sh, version.sh
- 에이전트 기동에 사용하는 스크립트입니다.
2.2. Container 이미지
- Linux AMD64 및 ARM64용 컨테이너 이미지를 제공합니다.
- 실행 바이너리는 컨테이너의
/usr/local/bin/exemone-cloud-agent에 위치합니다. - 기본 설정 템플릿은
/opt/exemone/configs에 포함되며, 사용자 설정과 로그는/home/exemone볼륨을 통해 관리합니다. - 컨테이너는 기본적으로
exemone일반 사용자 권한으로 실행됩니다.
3. 동작
- cloud-agent가
agent_id,access_token, Receiver 주소와 실행 환경 정보를 사용해 Receiver에 등록을 요청합니다. - Receiver로부터 클라우드 계정, 인증 정보, 모니터링 대상, 수집 지표 및 주기 설정을 전달받는다.
- 계정별로 AWS 또는 Azure 리소스 목록을 조회하고, 인스턴스별 수집 작업을 생성합니다.
- AWS API·CloudWatch·CloudWatch Logs·Cost Explorer, Azure Resource Manager·Azure Monitor 또는 관리형 DB 엔드포인트에서 데이터를 수집합니다.
- 수집 데이터와 에이전트 상태를 gRPC 스트림 및 동기 요청을 통해 Receiver로 전송합니다.
- 설정 변경이나 Receiver 연결 상태를 감지하면 수집 작업과 통신을 자동으로 갱신하거나 복구합니다.
정보
cloud-agent가 Receiver와 정상적으로 통신할 수 있어야 수집 작업이 시작됩니다. 또한 모니터링 대상 클라우드 계정에는 각 서비스의 리소스 조회 및 메트릭·로그 조회에 필요한 권한이 부여되어 있어야 합니다.
4. 지원 환경
4.1. 실행 환경
| 구분 | 지원 범위 |
|---|---|
| 운영체제 | Linux |
| 배포 방식 | Binary 패키지, Docker/OCI 호환 컨테이너 |
| CPU 아키텍처 | AMD64, ARM64 |
| 빌드 기준 | Go 1.23.x |
| 통신 | Receiver와 gRPC 통신 |
| 컨테이너 기반 이미지 | AMD64: Red Hat UBI 8.7, ARM64: Red Hat UBI 9.5 |
Go 런타임은 실행 바이너리에 포함되므로 운영 서버에 Go를 별도로 설치할 필요는 없습니다.
4.2. AWS
현재 cloud-agent의 수집 모듈은 다음 AWS 서비스를 지원합니다.
- Amazon EC2 및 VPC
- Amazon RDS 및 Amazon Aurora
- Amazon ElastiCache
- Amazon DocumentDB
- Amazon Redshift
- Amazon DynamoDB
- AWS Lambda
- Amazon S3
- AWS Database Migration Service (DMS)
- Amazon Elastic Container Service (ECS) [정식 모니터링 X]
부가 기능으로 CloudWatch Alarm·Logs·Enhanced Monitoring과 Cost Explorer 비용 데이터 수집을 지원합니다. 실제 수집 가능 항목은 서비스 설정, 리전, 엔진 종류, CloudWatch 지표 활성화 여부 및 IAM 권한에 따라 달라질 수 있습니다.
4.3. Microsoft Azure
현재 cloud-agent의 수집 모듈은 다음 Azure 서비스를 지원합니다.
- Azure Virtual Machines
- Azure Functions
- Azure Blob Storage
- Azure SQL Database
- Azure Cache for Redis
- Azure Managed Redis(구 Azure Cache for Redis Enterprise)
- Azure Cosmos DB
실제 수집 가능 항목은 구독·리소스 그룹·리소스 공급자 설정, Azure Monitor 지표 제공 여부 및 서비스 주체에 부여된 권한에 따라 달라질 수 있습니다.
5. 참고 사항
- 서비스별 세부 수집 데이터와 필요한 권한은 본 문서의 관련 하위 페이지를 참고합니다.
- 패키지 구성, 지원 서비스 및 실행 환경은 버전에 따라 변경될 수 있으므로 배포 전 해당 버전의 Release Note를 함께 확인합니다.
- 본 소개는 exemone-cloud-agent 현재 소스 코드와 배포 파이프라인을 기준으로 작성되었습니다.