알리바바 클라우드 RDS SQLServer¶
알리바바 클라우드 RDS SQLServer 지표를 표시하며, CPU 사용률, 메모리 사용률, IOPS, 네트워크 대역폭, InnoDB, TPS, QPS 등을 포함합니다.
설정¶
Func 설치¶
권장: Guance 통합 - 확장 - 관리형 Func 활성화
직접 배포하는 경우 Func 직접 배포를 참고하세요
활성화 스크립트¶
안내: 요구 사항을 충족하는 Alibaba Cloud AK를 미리 준비해 두세요. 간단히 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여해도 됩니다
관리형 활성화 스크립트¶
- Guance 콘솔에 로그인합니다
- [통합] 메뉴를 클릭하고 [클라우드 계정 관리]를 선택합니다
- [클라우드 계정 추가]를 클릭하고 [알리바바 클라우드]를 선택한 뒤 화면에 필요한 정보를 입력합니다. 이미 클라우드 계정 정보가 설정되어 있으면 이 단계를 건너뜁니다
- [테스트]를 클릭하고, 테스트가 성공하면 [저장]을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트합니다
- [클라우드 계정 관리] 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭하여 상세 페이지로 들어갑니다
- 클라우드 계정 상세 페이지의 [통합] 버튼을 클릭하고,
미설치목록에서알리바바 클라우드 RDS SQLServer를 찾아 [설치] 버튼을 클릭한 뒤 나타나는 설치 화면에서 설치하면 됩니다
수동 활성화 스크립트¶
-
Func 콘솔에 로그인하고 [스크립트 마켓]을 클릭하여 Guance 스크립트 마켓으로 들어간 뒤
integration_alibabacloud_rds를 검색합니다 -
[설치]를 클릭한 뒤 알리바바 클라우드 AK ID, AK Secret, 계정명을 입력합니다
-
[배포 시작 스크립트]를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다 -
활성화한 뒤에는
관리 / 자동 트리거 설정에서 해당 자동 트리거 설정을 확인할 수 있습니다. [실행]을 클릭하면 예약 시간을 기다리지 않고 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다
검증¶
관리 / 자동 트리거 설정에서 해당 작업의 자동 트리거 설정이 있는지 확인하고, 작업 기록과 로그를 확인하여 이상 여부를 점검합니다- Guance의
인프라 / 사용자 정의에서 자산 정보가 있는지 확인합니다 - Guance의
지표에서 해당 모니터링 데이터가 있는지 확인합니다
지표¶
알리바바 클라우드 - 클라우드 모니터링을 설정하면 기본 지표 집합은 아래와 같으며, 설정을 통해 더 많은 지표를 수집할 수 있습니다 알리바바 클라우드 모니터링 지표 상세
| 지표 ID | 지표 이름 | 차원 | 통계 | 단위 |
|---|---|---|---|---|
| SQLServer_CpuUsage | SQLServer CPU 사용률 | userId,instanceId | Average,Maximum,Minimum | % |
| SQLServer_DiskUsage | SQLServer 디스크 사용률 | userId,instanceId | Average,Maximum,Minimum | % |
| SQLServer_IOPS | SQLServer 초당 I/O 횟수 | userId,instanceId | Average,Maximum,Minimum | countSecond |
| SQLServer_NetworkRead | SQLServer 네트워크 송신 대역폭 | userId,instanceId | Average,Maximum,Minimum | bits/s |
| SQLServer_NetworkWrite | SQLServer 네트워크 수신 대역폭 | userId,instanceId | Average,Maximum,Minimum | bits/s |
| SQLServer_QPS | SQLServer 초당 쿼리 수 | userId,instanceId | Average,Maximum,Minimum | countSecond |
| SQLServer_TPS | SQLServer 초당 트랜잭션 수 | userId,instanceId | Average,Maximum,Minimum | countSecond |
| SQLServer_TotaConn | SQLServer 총 연결 수 | userId,instanceId | Average,Maximum,Minimum | count |
객체¶
수집된 알리바바 클라우드 RDS 객체 데이터 구조는 인프라-사용자 정의에서 확인할 수 있습니다
{
"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으로 직렬화된 문자열입니다