AWS ECS¶
Amazon ECS는 AWS Fargate 서버리스 컴퓨팅 엔진과 통합되어 Guance로 서비스 운영 상태를 모니터링합니다.
구성¶
Func 설치¶
Guance 통합 - 확장 - 관리형 Func 활성화를 권장합니다. 모든 사전 조건이 자동으로 설치되므로 스크립트 설치를 계속 진행하세요.
직접 배포한 Func는 직접 배포한 Func를 참고하세요
개통 스크립트¶
안내: 요구 사항을 충족하는 Amazon AK를 미리 준비해 주세요. (간단히 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여해도 됩니다)
관리형 개통 스크립트¶
- Guance 콘솔에 로그인합니다
- 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택합니다
- 【클라우드 계정 추가】를 클릭하고 【AWS】를 선택한 뒤 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보를 설정한 적이 있다면 이 단계는 건너뜁니다
- 【테스트】를 클릭합니다. 테스트가 성공하면 【저장】을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트합니다
- 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭해 상세 페이지로 들어갑니다
- 클라우드 계정 상세 페이지에서 【통합】 버튼을 클릭한 뒤
미설치목록에서AWS ECS를 찾아 【설치】 버튼을 클릭하고, 나타나는 설치 화면에서 설치하면 됩니다
수동 개통 스크립트¶
-
Func 콘솔에 로그인한 뒤 【스크립트 마켓】을 클릭하여 Guance 스크립트 마켓으로 이동한 다음
integration_aws_ecs를 검색합니다 -
【설치】를 클릭한 뒤, AWS AK ID, AK Secret 및 계정명을 입력합니다.
-
【시작 스크립트 배포】를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다. -
활성화한 후에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. 【실행】을 클릭하면 예약 시간을 기다릴 필요 없이 즉시 한 번 실행됩니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
검증¶
- 「관리 / 자동 트리거 설정」에서 해당 작업에 대한 자동 트리거 설정이 존재하는지 확인하고, 동시에 작업 기록과 로그를 확인하여 이상이 없는지 점검합니다
- Guance의 「인프라 / 사용자 지정」에서 자산 정보가 있는지 확인합니다
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다
지표¶
아마존-클라우드 모니터링을 구성하면 기본 지표 집합은 다음과 같으며, 설정을 통해 더 많은 지표를 수집할 수 있습니다 아마존 클라우드 모니터링 지표 상세 정보
인스턴스 지표¶
AWS/ECS 관련 지표입니다.
| 지표 | 설명 |
|---|---|
CPUUtilization |
서비스 CPU 사용률(ClusterName 및 ServiceName으로 필터링한 지표)로, 서비스에 속한 태스크가 사용하는 총 CPU 단위를 서비스에 속한 태스크에 예약된 총 CPU 단위로 나누어 계산합니다. 서비스 CPU 사용률 지표는 Fargate 및 EC2 시작 유형의 태스크에 사용됩니다. 단위: 퍼센트 |
MemoryUtilization |
서비스 메모리 사용률(ClusterName 및 ServiceName으로 필터링한 지표)로, 서비스에 속한 태스크가 사용하는 총 메모리량을 서비스에 속한 태스크에 예약된 총 메모리량으로 나누어 계산합니다. 서비스 메모리 사용률 지표는 Fargate 및 EC2 시작 유형의 태스크에 사용됩니다. 단위: 퍼센트 |
객체¶
수집된 AWS ECS 객체 데이터 구조이며, 「인프라-사용자 지정」에서 객체 데이터를 확인할 수 있습니다
{
"measurement": "aws_ecs",
"tags": {
"RegionId": "cn-northwest-1",
"clusterArn": "arn:aws-cn:***",
"clusterName": "Harry_NodeJs",
"name": "Harry_NodeJs",
"status": "ACTIVE"
},
"fields": {
"activeServicesCount": 1,
"configuration": "{}",
"message" : "{인스턴스 JSON 데이터}",
"pendingTasksCount": 0,
"registeredContainerInstancesCount": 0,
"runningTasksCount": 1,
"statistics": "[]"
}
}
주의:
tags와fields의 필드는 이후 업데이트에 따라 변경될 수 있습니다