AWS EC2¶
스크립트 마켓의 「Guance 클라우드 동기화」 시리즈 스크립트 패키지를 사용해 클라우드 모니터링과 클라우드 자산 데이터를 Guance에 동기화합니다
설정¶
Func 설치¶
Guance 통합 - 확장 - 관리형 Func를 사용하는 것을 권장합니다: 사전 조건이 모두 자동으로 설치되므로 스크립트 설치를 계속 진행하세요
Func를 직접 배포하는 경우 Func 직접 배포
스크립트 활성화¶
안내: 요구 사항을 충족하는 Amazon AK를 미리 준비하세요. 간단하게 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여해도 됩니다.
관리형 버전에서 스크립트 활성화¶
- Guance 콘솔에 로그인합니다
- 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택합니다
- 【클라우드 계정 추가】를 클릭하고 【AWS】를 선택한 뒤 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보가 이미 설정되어 있다면 이 단계를 건너뜁니다
- 【테스트】를 클릭한 뒤 테스트가 성공하면 【저장】을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 후 다시 테스트합니다
- 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭해 상세 페이지로 이동합니다
- 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭한 뒤
미설치목록에서AWS EC2를 찾아 【설치】 버튼을 클릭하면 설치 화면이 나타나며, 그곳에서 설치할 수 있습니다.
수동으로 스크립트 활성화¶
-
Func 콘솔에 로그인한 뒤 【스크립트 마켓】을 클릭하여 Guance 스크립트 마켓으로 들어가
integration_aws_ec2를 검색합니다 -
【설치】를 클릭한 뒤 다음 파라미터를 입력합니다: AWS AK ID, AK Secret, 계정명.
-
【배포 및 시작 스크립트】를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고 해당 시작 스크립트를 자동으로 구성합니다. -
활성화 후에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. 【실행】을 클릭하면 정기 실행을 기다릴 필요 없이 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
검증¶
- 「관리 / 자동 트리거 설정」에서 해당 작업의 자동 트리거 설정이 존재하는지 확인하고, 동시에 작업 기록과 로그를 확인하여 이상이 있는지 점검합니다
- Guance의 「인프라 / 사용자 정의」에서 자산 정보가 있는지 확인합니다
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다
지표¶
Amazon CloudWatch를 설정하면 기본 지표 세트는 다음과 같으며, 설정을 통해 더 많은 지표를 수집할 수 있습니다 Amazon CloudWatch 지표 상세
안내: 메모리, 디스크에 지표가 보고되지 않는 경우 AWS 콘솔에서 수집을 수동으로 활성화하세요
인스턴스 지표¶
AWS/EC2 네임스페이스에는 다음 인스턴스 지표가 포함됩니다.
| 지표 | 설명 |
|---|---|
CPUUtilization |
Amazon EC2가 EC2 인스턴스를 실행하는 데 사용한 물리적 CPU 시간의 백분율입니다. 여기에는 사용자 코드와 Amazon EC2 코드 실행에 사용된 시간이 포함됩니다. 높은 수준에서 보면 CPUUtilization은 guest CPUUtilization과 hypervisor CPUUtilization의 합계입니다. 이전 세대 장치 에뮬레이션, 이전 세대 장치 구성, 인터럽트 집약적 워크로드, 실시간 마이그레이션, 실시간 업데이트 등의 요인으로 인해 운영 체제의 도구가 표시하는 백분율은 CloudWatch와 다를 수 있습니다. 단위: 퍼센트 |
DiskReadOps |
지정된 기간 동안 인스턴스에서 사용할 수 있는 모든 인스턴스 스토리지 볼륨에서 완료된 읽기 작업 수입니다. 해당 기간의 초당 평균 I/O 작업 수(IOPS)를 계산하려면 기간의 총 작업 수를 총 초 수로 나누면 됩니다. 인스턴스 스토리지 볼륨이 없으면 값은 0이거나 지표가 보고되지 않습니다. 단위: 개수 |
DiskWriteOps |
지정된 기간 동안 인스턴스에서 사용할 수 있는 모든 인스턴스 스토리지 볼륨에 완료된 쓰기 작업 수입니다. 해당 기간의 초당 평균 I/O 작업 수(IOPS)를 계산하려면 기간의 총 작업 수를 총 초 수로 나누면 됩니다. 인스턴스 스토리지 볼륨이 없으면 값은 0이거나 지표가 보고되지 않습니다. 단위: 개수 |
DiskReadBytes |
인스턴스에서 사용할 수 있는 모든 인스턴스 스토리지 볼륨에서 읽은 바이트 수입니다. 이 지표는 애플리케이션이 인스턴스의 하드 디스크에서 읽은 데이터 양을 파악하는 데 사용됩니다. 이를 통해 애플리케이션 속도를 판단할 수 있습니다. 보고되는 값은 해당 기간 동안 수신된 바이트 수입니다. 기본(5분) 모니터링을 사용하는 경우 이 값을 300으로 나누어 바이트/초를 구할 수 있습니다. 상세(1분) 모니터링을 사용하는 경우 60으로 나누면 됩니다. CloudWatch 지표 수학 함수 DIFF_TIME을 사용해 초당 바이트 수를 확인할 수도 있습니다. 예를 들어 CloudWatch에서 DiskReadBytes를 m1로 그린 경우 지표 수학 공식 m1/(DIFF_TIME(m1))은 바이트/초 단위의 지표를 반환합니다. DIFF_TIME 및 다른 지표 수학 함수에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서의 지표 수학 사용을 참조하세요. 인스턴스 스토리지 볼륨이 없으면 값은 0이거나 지표가 보고되지 않습니다. 단위: 바이트 |
DiskWriteBytes |
인스턴스에서 사용할 수 있는 모든 인스턴스 스토리지 볼륨에 기록된 바이트 수입니다. 이 지표는 애플리케이션이 인스턴스의 하드 디스크에 쓴 데이터 양을 파악하는 데 사용됩니다. 이를 통해 애플리케이션 속도를 판단할 수 있습니다. 보고되는 값은 해당 기간 동안 수신된 바이트 수입니다. 기본(5분) 모니터링을 사용하는 경우 이 값을 300으로 나누어 바이트/초를 구할 수 있습니다. 상세(1분) 모니터링을 사용하는 경우 60으로 나누면 됩니다. CloudWatch 지표 수학 함수 DIFF_TIME을 사용해 초당 바이트 수를 확인할 수도 있습니다. 예를 들어 CloudWatch에서 DiskWriteBytes를 m1로 그린 경우 지표 수학 공식 m1/(DIFF_TIME(m1))은 바이트/초 단위의 지표를 반환합니다. DIFF_TIME 및 다른 지표 수학 함수에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서의 지표 수학 사용을 참조하세요. 인스턴스 스토리지 볼륨이 없으면 값은 0이거나 지표가 보고되지 않습니다. 단위: 바이트 |
MetadataNoToken |
토큰 없이 인스턴스 메타데이터 서비스에 성공적으로 접근한 횟수입니다. 이 지표는 어떤 프로세스가 토큰을 사용하지 않고 인스턴스 메타데이터 서비스 버전 1을 통해 인스턴스 메타데이터에 접근하고 있는지 확인하는 데 사용됩니다. 모든 요청이 토큰을 지원하는 세션(즉, 인스턴스 메타데이터 서비스 버전 2)을 사용하면 값은 0입니다. 자세한 내용은 인스턴스 메타데이터 서비스 버전 2 사용으로 전환을 참조하세요. 단위: 개수 |
NetworkIn |
인스턴스가 모든 네트워크 인터페이스에서 수신한 바이트 수입니다. 이 지표는 단일 인스턴스로 유입되는 네트워크 트래픽을 파악하는 데 사용됩니다. 보고되는 값은 해당 기간 동안 수신된 바이트 수입니다. 기본(5분) 모니터링을 사용하고 통계가 Sum인 경우 이 값을 300으로 나누어 바이트/초를 구할 수 있습니다. 상세(1분) 모니터링을 사용하고 통계가 Sum인 경우 60으로 나누면 됩니다. CloudWatch 지표 수학 함수 DIFF_TIME을 사용해 초당 바이트 수를 확인할 수도 있습니다. 예를 들어 CloudWatch에서 NetworkIn을 m1로 그린 경우 지표 수학 공식 m1/(DIFF_TIME(m1))은 바이트/초 단위의 지표를 반환합니다. DIFF_TIME 및 다른 지표 수학 함수에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서의 지표 수학 사용을 참조하세요. 단위: 바이트 |
NetworkOut |
인스턴스가 모든 네트워크 인터페이스에서 전송한 바이트 수입니다. 이 지표는 단일 인스턴스에서 발생하는 네트워크 유출 트래픽을 파악하는 데 사용됩니다. 보고되는 값은 해당 기간 동안 전송된 바이트 수입니다. 기본(5분) 모니터링을 사용하고 통계가 Sum인 경우 이 값을 300으로 나누어 바이트/초를 구할 수 있습니다. 상세(1분) 모니터링을 사용하고 통계가 Sum인 경우 60으로 나누면 됩니다. CloudWatch 지표 수학 함수 DIFF_TIME을 사용해 초당 바이트 수를 확인할 수도 있습니다. 예를 들어 CloudWatch에서 NetworkOut을 m1로 그린 경우 지표 수학 공식 m1/(DIFF_TIME(m1))은 바이트/초 단위의 지표를 반환합니다. DIFF_TIME 및 다른 지표 수학 함수에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서의 지표 수학 사용을 참조하세요. 단위: 바이트 |
NetworkPacketsIn |
인스턴스가 모든 네트워크 인터페이스에서 수신한 패킷 수입니다. 이 지표는 단일 인스턴스의 패킷 수를 기준으로 유입 트래픽의 양을 식별합니다. 이 지표는 기본 모니터링(5분 기간)에서만 사용할 수 있습니다. 인스턴스가 5분 동안 초당 수신한 패킷 수(PPS)를 계산하려면 Sum 통계를 300으로 나누면 됩니다. CloudWatch 지표 수학 함수 DIFF_TIME을 사용해 초당 패킷 수를 확인할 수도 있습니다. 예를 들어 CloudWatch에서 NetworkPacketsIn을 m1로 그린 경우 지표 수학 공식 m1/(DIFF_TIME(m1))은 패킷/초 단위의 지표를 반환합니다. DIFF_TIME 및 다른 지표 수학 함수에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서의 지표 수학 사용을 참조하세요. 단위: 개수 |
NetworkPacketsOut |
인스턴스가 모든 네트워크 인터페이스에서 전송한 패킷 수입니다. 이 지표는 단일 인스턴스의 패킷 수를 기준으로 유출 트래픽의 양을 식별합니다. 이 지표는 기본 모니터링(5분 기간)에서만 사용할 수 있습니다. 인스턴스가 5분 동안 초당 전송한 패킷 수(PPS)를 계산하려면 Sum 통계를 300으로 나누면 됩니다. CloudWatch 지표 수학 함수 DIFF_TIME을 사용해 초당 패킷 수를 확인할 수도 있습니다. 예를 들어 CloudWatch에서 NetworkPacketsOut을 m1로 그린 경우 지표 수학 공식 m1/(DIFF_TIME(m1))은 패킷/초 단위의 지표를 반환합니다. DIFF_TIME 및 다른 지표 수학 함수에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서의 지표 수학 사용을 참조하세요. 단위: 개수 |
CPU 지표¶
AWS/EC2 네임스페이스에는 버스터블 성능 인스턴스의 다음 CPU 크레딧 지표가 포함됩니다.
| 지표 | 설명 |
|---|---|
CPUCreditUsage |
CPU 사용률을 유지하기 위해 인스턴스가 사용한 CPU 크레딧 수입니다. CPU 크레딧 1개는 vCPU 1개가 100% 사용률로 1분 동안 실행되는 것과 같으며, 또는 그에 상응하는 vCPU, 사용률, 시간의 조합입니다(예: vCPU 1개가 50% 사용률로 2분 동안 실행되거나 vCPU 2개가 25% 사용률로 2분 동안 실행됨). CPU 크레딧 지표는 5분마다만 제공됩니다. 5분보다 긴 기간을 지정하는 경우 Average가 아니라 Sum 통계를 사용하세요. 단위: 크레딧(vCPU 분) |
CPUCreditBalance |
인스턴스 시작 이후 누적된 CPU 크레딧 수입니다. T2 스탠다드의 경우 CPUCreditBalance에는 누적된 시작 크레딧도 포함됩니다. 크레딧을 얻으면 크레딧 잔액에 누적되고, 크레딧을 사용하면 잔액에서 차감됩니다. 크레딧 잔액에는 인스턴스 크기에 따라 결정되는 최대값이 있습니다. 한도에 도달하면 새로 얻은 크레딧은 모두 버려집니다. T2 스탠다드의 경우 시작 크레딧은 한도에 포함되지 않습니다. 인스턴스는 기준 CPU 사용률보다 더 높게 버스트하기 위해 CPUCreditBalance의 크레딧을 사용할 수 있습니다. 인스턴스가 실행되는 동안 CPUCreditBalance의 크레딧은 만료되지 않습니다. T3 또는 T3a 인스턴스가 중지되면 CPUCreditBalance 값은 7일 동안 유지됩니다. 그 이후에는 누적된 크레딧이 모두 손실됩니다. T2 인스턴스가 중지되면 CPUCreditBalance 값은 유지되지 않으며 누적된 크레딧이 모두 손실됩니다. CPU 크레딧 지표는 5분마다만 제공됩니다. 단위: 크레딧(vCPU 분) |
CPUSurplusCreditBalance |
unlimited 값이 0일 때 CPUCreditBalance 인스턴스가 사용한 초과 크레딧 수입니다. CPUSurplusCreditBalance 값은 획득한 CPU 크레딧으로 상환됩니다. 초과 크레딧 수가 인스턴스가 24시간 주기 내에 획득할 수 있는 최대 크레딧 수를 초과하면, 최대값을 넘는 사용된 초과 크레딧에 대해 추가 요금이 부과됩니다. CPU 크레딧 지표는 5분마다만 제공됩니다. 단위: 크레딧(vCPU 분) |
CPUSurplusCreditsCharged |
획득한 CPU 크레딧으로 상환되지 않아 추가 요금이 발생하는 사용된 초과 크레딧 수입니다. 다음 중 하나라도 발생하면 사용된 초과 크레딧에 요금이 부과됩니다: 사용된 초과 크레딧이 인스턴스가 24시간 주기 내에 획득할 수 있는 최대 크레딧 수를 초과한 경우. 최대값을 초과한 사용 초과 크레딧은 해당 시간 종료 시 청구됩니다. 인스턴스가 중지되거나 종료된 경우. 인스턴스가 unlimited에서 standard로 전환된 경우. CPU 크레딧 지표는 5분마다만 제공됩니다. 단위: 크레딧(vCPU 분) |
상태 검사 지표¶
AWS/EC2 네임스페이스에는 다음 상태 검사 지표가 포함됩니다. 기본적으로 상태 검사 지표는 1분 주기로 무료 제공됩니다. 새로 시작된 인스턴스의 경우, 상태 검사 지표 데이터는 인스턴스가 초기화 상태를 완료한 뒤에만 제공됩니다(인스턴스가 실행 상태가 되기까지 몇 분 이내). EC2 상태 검사에 대한 자세한 내용은 인스턴스 상태 검사를 참조하세요.
| 지표 | 설명 |
| :----------------------------- | :----------------------------------------------------------- |
|StatusCheckFailed|인스턴스가 지난 1분 동안 인스턴스 상태 검사와 시스템 상태 검사를 통과했는지 보고합니다. 이 지표는 0(통과) 또는 1(실패)일 수 있습니다. 기본적으로 이 지표는 1분 주기로 무료 제공됩니다. 단위: 개수|
|StatusCheckFailed_Instance|인스턴스가 지난 1분 동안 인스턴스 상태 검사를 통과했는지 보고합니다. 이 지표는 0(통과) 또는 1(실패)일 수 있습니다. 기본적으로 이 지표는 1분 주기로 무료 제공됩니다. 단위: 개수|
|StatusCheckFailed_System|인스턴스가 지난 1분 동안 시스템 상태 검사를 통과했는지 보고합니다. 이 지표는 0(통과) 또는 1(실패)일 수 있습니다. 기본적으로 이 지표는 1분 주기로 무료 제공됩니다. 단위: 개수|
객체¶
수집된 AWS EC2 객체 데이터 구조입니다. 「인프라-사용자 정의」에서 객체 데이터를 확인할 수 있습니다
{
"measurement": "aws_ec2",
"tags": {
"name" : "i-0d7620xxxxxxx",
"InstanceId" : "i-0d7620xxxxxxx",
"InstanceType" : "c6g.xlarge",
"PlatformDetails": "Linux/UNIX",
"RegionId" : "cn-northwest-1",
"InstanceName" : "test",
"State" : "running",
"StateReason_Code" : "Client.UserInitiatedHibernate",
"AvailabilityZone": "cn-northwest-1",
},
"fields": {
"BlockDeviceMappings": "{设备 JSON 数据}",
"LaunchTime" : "2021-10-26T07:00:44Z",
"NetworkInterfaces" : "{网络 JSON 数据}",
"Placement" : "{可用区 JSON 数据}",
"message" : "{实例 JSON 数据}"
}
}
주의:
tags와fields의 필드는 이후 업데이트에 따라 변경될 수 있습니다안내 1:
tags.name값은 인스턴스 ID이며, 고유 식별자로 사용됩니다 안내 2:fields.message,fields.NetworkInterfaces,fields.BlockDeviceMappings는 JSON 직렬화 후 문자열입니다