AWS Neptune Cluster¶
AWS Neptune Cluster의 표시 지표에는 콜드 스타트 시간, 실행 시간, 동시 실행 수, 메모리 사용량이 포함되며, 이러한 지표는 Neptune Cluster 함수의 응답 속도, 확장성, 리소스 사용 효율을 반영합니다.
구성¶
Func 설치¶
추천 방식은 Guance 통합 - 확장 - 호스팅 버전 Func를 사용하는 것입니다. 모든 사전 조건이 자동으로 설치되므로, 스크립트 설치를 계속 진행하세요.
직접 Func를 배포하는 경우 직접 Func 배포를 참고하세요
설치 스크립트¶
안내: 요구 사항을 만족하는 Amazon Cloud AK를 미리 준비해 주세요. (간단히 하려면 CloudWatch 읽기 전용 권한
CloudWatchReadOnlyAccess를 직접 부여해도 됩니다)
호스팅 버전 활성화 스크립트¶
- Guance 콘솔에 로그인합니다.
- 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택합니다.
- 【클라우드 계정 추가】를 클릭하고 【AWS】를 선택한 뒤, 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보를 이미 설정했다면 이 단계를 건너뜁니다.
- 【테스트】를 클릭한 뒤, 테스트가 성공하면 【저장】을 클릭합니다. 테스트가 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트합니다.
- 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭해 상세 페이지로 이동합니다.
- 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭한 뒤,
미설치목록에서AWS Neptune Cluster를 찾아 【설치】 버튼을 클릭하면 설치 화면이 나타나며 설치를 진행할 수 있습니다.
수동 활성화 스크립트¶
-
Func 콘솔에 로그인한 뒤 【스크립트 마켓】을 클릭하여 Guance 스크립트 마켓으로 들어가고,
integration_aws_neptune_cluster를 검색합니다. -
【설치】를 클릭한 뒤, 필요한 매개변수인 AWS AK ID, AK Secret, 계정명을 입력합니다.
-
【배포 시작 스크립트】를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다. -
활성화 후에는 「관리 / 자동 트리거 구성」에서 해당 자동 트리거 구성을 확인할 수 있습니다. 【실행】을 클릭하면 정기 실행을 기다리지 않고 즉시 한 번 실행됩니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
검증¶
- 「관리 / 자동 트리거 구성」에서 해당 작업에 대응하는 자동 트리거 구성이 존재하는지 확인하고, 동시에 해당 작업 기록과 로그를 확인하여 이상 여부를 점검합니다.
- Guance의 「인프라 / 사용자 정의」에서 자산 정보가 있는지 확인합니다.
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다.
지표¶
Amazon Cloud Monitoring을 올바르게 구성하면 기본 지표 집합은 다음과 같습니다. 설정을 통해 더 많은 지표를 수집할 수 있습니다:
Amazon Cloud Monitoring Neptune Cluster 지표 상세
지표¶
| 지표 | 설명 |
|---|---|
BackupRetentionPeriodStorageUsed |
Neptune 데이터베이스 클러스터의 백업 보존 기간 창을 지원하는 데 사용되는 총 백업 스토리지 양(바이트 단위)입니다. TotalBackupStorageBilled 지표에 보고되는 합계에 포함됩니다. |
BufferCacheHitRatio |
버퍼 캐시가 제공한 요청 비율입니다. 캐시 미스로 인해 지연이 크게 증가할 수 있으므로, 이 지표는 쿼리 지연 문제를 진단하는 데 사용할 수 있습니다. 캐시 적중률이 99.9보다 낮으면 인스턴스 유형을 업그레이드하여 더 많은 데이터를 메모리에 캐시하는 것을 고려하세요. |
ClusterReplicaLag |
읽기 전용 복제본의 경우, 주 인스턴스에서 업데이트를 복제할 때의 총 지연 시간(밀리초 단위)입니다. |
ClusterReplicaLagMaximum |
데이터베이스 클러스터에서 주 인스턴스와 각 Neptune 데이터베이스 인스턴스 간의 최대 지연 시간(밀리초 단위)입니다. |
ClusterReplicaLagMinimum |
데이터베이스 클러스터에서 주 인스턴스와 각 Neptune 데이터베이스 인스턴스 간의 최소 지연 시간(밀리초 단위)입니다. |
CPUUtilization |
CPU 사용률입니다. |
EngineUptime |
인스턴스의 가동 시간(초 단위)입니다. |
FreeableMemory |
RAM의 사용 가능한 양(바이트 단위)입니다. |
GlobalDbDataTransferBytes |
Neptune 글로벌 데이터베이스에서 기본 AWS 리전에서 보조 AWS 리전으로 전송된 리두 로그 데이터의 바이트 수입니다. |
GlobalDbReplicatedWriteIO |
글로벌 데이터베이스에서 기본 AWS 리전의 스토리지에서 보조 AWS 리전의 클러스터 볼륨으로 복제된 쓰기 I/O 작업 수입니다. Neptune 글로벌 데이터베이스에서 각 데이터베이스 클러스터의 청구 계산은 해당 클러스터 내에서 수행된 쓰기 작업을 측정하는 VolumeWriteIOPS 지표를 사용합니다. 주 데이터베이스 클러스터의 경우, 청구 계산은 보조 데이터베이스 클러스터의 교차 리전 복제를 반영하기 위해 GlobalDbReplicatedWriteIO를 사용합니다. |
GlobalDbProgressLag |
사용자 트랜잭션과 시스템 트랜잭션에 대해 보조 클러스터가 주 클러스터보다 뒤처진 밀리초 수입니다. |
GremlinRequestsPerSec |
초당 Gremlin 엔진 요청 수입니다. |
GremlinWebSocketOpenConnections |
열려 있는 WebSocket 연결 수입니다. |
LoaderRequestsPerSec |
초당 로더 요청 수입니다. |
MainRequestQueuePendingRequests |
입력 큐에서 실행을 기다리는 요청 수입니다. 요청 수가 최대 큐 용량을 초과하면 Neptune은 요청 제한을 시작합니다. |
NCUUtilization |
클러스터 수준에서 NCUUtilization은 전체 클러스터가 사용 중인 최대 용량의 백분율을 나타냅니다. |
NetworkThroughput |
Neptune 데이터베이스 클러스터의 각 인스턴스가 클라이언트로부터 수신하고 클라이언트로 전송한 네트워크 처리량으로, 초당 바이트 단위입니다. 이 처리량에는 데이터베이스 클러스터 내 인스턴스와 클러스터 볼륨 간의 네트워크 트래픽은 포함되지 않습니다. |
객체¶
수집된 AWS Neptune Cluster 객체 데이터 구조는 「인프라-사용자 정의」에서 객체 데이터를 확인할 수 있습니다
{
"measurement": "aws_neptune_cluster",
"tags": {
"DBClusterIdentifier" :"test",
"class" :"aws_neptune_cluster",
"cloud_provider" :"aws",
"FunctionName" :"dataflux-alb",
"name" :"dataflux-alb",
"PackageType" :"Zip",
"RegionId" :"cn-northwest-1",
"RevisionId" :"5e52ff51-615a-4ecb-96b7-40083a7b4b62",
"Role" :"arn:aws-cn:iam::XXXX:role/service-role/s3--xxxx-role-xxxx",
"Runtime" :"python3.7",
"Version" :"$LATEST"
},
"fields": {
"CreatedTime" : "2022-03-09T06:13:31Z",
"ListenerDescriptions": "{JSON 데이터}",
"AvailabilityZones" : "{가용 영역 JSON 데이터}",
"message" : "{인스턴스 JSON 데이터}"
}
}
주의:
tags와fields의 필드는 이후 업데이트에 따라 변경될 수 있습니다안내 1:
tags.account_name값은 인스턴스 ID이며, 고유 식별자로 사용됩니다