알리바바 클라우드 RDS PostgreSQL¶
알리바바 클라우드 RDS PostgreSQL 지표 대시보드로 CPU 사용률, 메모리 사용률 등을 포함합니다.
설정¶
Func 설치¶
Guance 통합 - 확장 - 관리형 Func 활성화를 권장합니다.
직접 Func를 배포하는 경우 Func 직접 배포를 참고하세요.
활성화 스크립트¶
안내: 요구 사항을 충족하는 알리바바 클라우드 AK를 미리 준비해 주세요(간단하게 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여할 수 있습니다)
관리형 활성화 스크립트¶
- Guance 콘솔에 로그인합니다.
- 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택합니다.
- 【클라우드 계정 추가】를 클릭하고 【알리바바 클라우드】를 선택한 뒤 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보가 이미 설정되어 있다면 이 단계는 건너뜁니다.
- 【테스트】를 클릭합니다. 테스트가 성공하면 【저장】을 클릭합니다. 테스트에 실패하면 관련 구성 정보를 확인한 뒤 다시 테스트합니다.
- 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭하여 상세 페이지로 들어갑니다.
- 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭하고
미설치목록에서알리바바 클라우드 RDS PostgreSQL을 찾아 【설치】 버튼을 클릭하면 설치 화면이 나타나며, 설치를 완료하면 됩니다.
수동 활성화 스크립트¶
-
Func 콘솔에 로그인한 뒤 【스크립트 마켓】을 클릭하여 Guance 스크립트 마켓으로 들어가고,
integration_alibabacloud_rds를 검색합니다. -
【설치】를 클릭한 뒤 알리바바 클라우드 AK ID, AK Secret 및 계정명을 입력합니다.
-
【시작 스크립트 배포】를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 설정합니다. -
활성화 후에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. 【실행】을 클릭하면 주기 시간을 기다리지 않고 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
검증¶
- 「관리 / 자동 트리거 설정」에서 해당 작업의 자동 트리거 설정이 존재하는지 확인하고, 동시에 해당 작업 기록과 로그를 확인하여 이상 여부를 점검합니다.
- Guance의 「기초 인프라 / 사용자 정의」에서 자산 정보가 있는지 확인합니다.
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다.
지표¶
알리바바 클라우드-클라우드 모니터링 구성이 완료되면 기본 지표 집합은 다음과 같습니다. 구성 방식으로 더 많은 지표를 수집할 수 있습니다. 알리바바 클라우드 모니터링 지표 상세
| 지표명 | 설명 | 단위 | 차원 |
|---|---|---|---|
| PG_DBAge | PG_데이터베이스 연령 | count | instanceId |
| PG_InactiveSlots | PG_비활성 복제 슬롯 수 | count | instanceId |
| PG_MaxExecutingSQLTime | PG_가장 느린 SQL 실행 시간 | seconds | instanceId |
| PG_MaxSlotWalDelay | PG_최대 복제 슬롯 지연(MB) | byte | instanceId |
| PG_ReplayLatency | PG_가장 느린 Standby 재생 지연(MB) | byte | instanceId |
| PG_SwellTime | PG_최장 트랜잭션 실행 시간 | seconds | instanceId |
| active_connections_per_cpu | PG_CPU당 평균 활성 연결 수 | count | instanceId |
| conn_usgae | PG_연결 수 사용률 | % | instanceId |
| cpu_usage | PG_CPU 사용률 | % | instanceId |
| five_seconds_executing_sqls | PG_5초 느린 SQL | count | instanceId |
| iops_usage | PG_IOPS 사용률 | % | instanceId |
| local_fs_inode_usage | PG_INODE 사용률 | % | instanceId |
| local_fs_size_usage | PG_디스크 공간 사용률 | % | instanceId |
| local_pg_wal_dir_size | PG_WAL 파일 크기 | MB | instanceId |
| mem_usage | PG_메모리 사용률 | % | instanceId |
| one_second_executing_sqls | PG_1초 느린 SQL | count | instanceId |
| three_seconds_executing_sqls | PG_3초 느린 SQL | count | instanceId |
객체¶
수집된 알리바바 클라우드 RDS PostgreSQL 객체 데이터 구조는 「기초 인프라-사용자 정의」에서 확인할 수 있습니다.
{
"measurement": "aliyun_rds",
"tags": {
"name" : "rm-xxxxx",
"DBInstanceType" : "Primary",
"PayType" : "Prepaid",
"Engine" : "MySQL",
"DBInstanceClass" : "rds.mysql.s2.large",
"DBInstanceId" : "rm-xxxxx",
"ZoneId" : "cn-shanghai-h",
"RegionId" : "cn-shanghai",
"DBInstanceDescription": "비즈니스 시스템",
"LockMode" : "Unlock",
"Category" : "Basic",
"ConnectionMode" : "Standard",
"DBInstanceNetType" : "Intranet",
"DBInstanceStorageType": "local_ssd",
},
"fields": {
"CreationTime" : "2022-12-13T16:00:00Z",
"ExpireTime" : "2022-12-13T16:00:00Z",
"DiskUsed" : "10000",
"BackupSize" : "10000",
"LogSize" : "10000",
"BackupLogSize" : "10000",
"BackupDataSize" : "10000",
"ConnectionString" : "{연결 주소 JSON 데이터}",
"DBInstanceStorage": "100",
"accounts" : "{사용자 권한 정보 JSON 데이터}",
"databases" : "{데이터베이스 정보 JSON 데이터}",
"SSLExpireTime" : "2022-10-11T08:16:43Z",
"message" : "{인스턴스 JSON 데이터}",
}
}
로그¶
느린 쿼리 상세¶
느린 쿼리 상세 사전 조건¶
안내: 이 스크립트의 코드 실행은 RDS 인스턴스 객체 수집에 의존합니다. RDS의 사용자 정의 객체 수집을 구성하지 않으면 느린 로그 스크립트는 느린 로그 데이터를 수집할 수 없습니다.
느린 쿼리 상세 설치 스크립트¶
이전에 이어서, 대응되는 RDS 느린 쿼리 상세 로그 수집 스크립트를 하나 더 설치해야 합니다.
「관리 / 스크립트 마켓」에서 해당 스크립트 패키지를 클릭하여 설치합니다.
- 「Guance 통합(알리바바 클라우드-RDS 느린 쿼리 상세 로그 수집)」(ID:
integration_alibabacloud_rds_slowlog_record)
데이터가 정상적으로 동기화되면 Guance의 「로그」에서 데이터를 확인할 수 있습니다.
전송되는 데이터 예시는 다음과 같습니다:
{
"measurement": "aliyun_rds_slowlog",
"tags": {
"name" : "rm-xxxxx",
"DBName" : "cloudcare_core",
"DBInstanceId" : "rm-bp1xxxxxxxxxx",
"RegionId" : "cn-hangzhou",
"DBInstanceType" : "Primary",
"PayType" : "Prepaid",
"Engine" : "MySQL",
"DBInstanceClass" : "rds.mysql.s2.large",
"ZoneId" : "cn-shanghai-h",
"DBInstanceDescription": "비즈니스 시스템",
"HostAddress" : "xxxx",
"UserName" : "xxxx",
"ClientHostName" : "xxxx",
"ApplicationName" : "xxxx",
},
"fields": {
"SQLHASH" : "436f9dd030e0a87920bbcd818b34f271",
"SQLText" : "{SQL 문장}",
"QueryTimes" : 0,
"QueryTimesMS" : 0,
"ReturnRowCounts" : 0,
"ParseRowCounts" : 0,
"ExecutionStartTime" : "2022-02-02T12:00:00Z",
"CpuTime" : 1,
"RowsAffectedCount" : 0,
"LastRowsAffectedCount" : 0,
"message" : "{로그 JSON 데이터}"
}
}
일부 파라미터 설명은 다음과 같습니다:
| 필드 | 유형 | 설명 |
|---|---|---|
QueryTimes |
int | 실행 시간. 단위: 초(s) |
QueryTimesMS |
int | 실행 시간. 단위: 밀리초(ms) |
ReturnRowCounts |
int | 반환 행 수 |
ParseRowCounts |
int | 파싱 행 수 |
ExecutionStartTime |
str | 실행 시작 시간 |
CpuTime |
int | CPU 처리 시간 |
RowsAffectedCount |
int | 영향받은 행 수 |
LastRowsAffectedCount |
int | 마지막 문장의 영향받은 행 수 |
주의:
CpuTime,RowsAffectedCount,LastRowsAffectedCount등의 필드는 SQL Server 인스턴스만 지원합니다 주의:tags,fields의 필드는 이후 업데이트에 따라 변경될 수 있습니다 안내:fields.message는 JSON 직렬화 후 문자열입니다