알리바바 클라우드 PolarDB MySQL¶
알리바바 클라우드 PolarDB MySQL의 지표를 표시하며, CPU 사용률, 메모리 적중률, 네트워크 트래픽, 연결 수, QPS, TPS, 읽기 전용 노드 지연 등을 포함합니다.
설정¶
Func 설치¶
Guance 통합 - 확장 - 관리형 Func를 사용하는 것을 권장합니다.
Func를 직접 배포하려면 직접 배포한 Func를 참고하세요.
활성화 스크립트¶
안내: 요구 사항에 맞는 알리바바 클라우드 AK를 미리 준비해 주세요. (간단히 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여할 수 있습니다)
관리형 활성화 스크립트¶
- Guance 콘솔에 로그인합니다.
- [통합] 메뉴를 클릭하고 [클라우드 계정 관리]를 선택합니다.
- [클라우드 계정 추가]를 클릭하고 [알리바바 클라우드]를 선택한 뒤, 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보를 이미 설정했다면 이 단계는 건너뜁니다.
- [테스트]를 클릭합니다. 테스트에 성공하면 [저장]을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트합니다.
- [클라우드 계정 관리] 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭하여 상세 페이지로 들어갑니다.
- 클라우드 계정 상세 페이지에서 [통합] 버튼을 클릭한 뒤,
미설치목록에서알리바바 클라우드 PolarDB MySQL을 찾아 [설치] 버튼을 클릭하면 설치 화면이 나타나며 설치할 수 있습니다.
수동 활성화 스크립트¶
-
Func 콘솔에 로그인한 뒤 [스크립트 마켓]을 클릭하여 Guance 스크립트 마켓으로 들어가
integration_alibabacloud_polardb를 검색합니다. -
[설치]를 클릭한 뒤, 알리바바 클라우드 AK ID, AK Secret 및 계정명을 입력합니다.
-
[배포 시작 스크립트]를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다. -
활성화한 후에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. [실행]을 클릭하면 정기 실행 시간을 기다리지 않고 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
검증¶
- 「관리/자동 트리거 설정」에서 해당 작업의 자동 트리거 설정이 존재하는지 확인하고, 작업 기록과 로그를 통해 이상 여부를 점검합니다.
- Guance의 「인프라 / 사용자 정의」에서 자산 정보가 있는지 확인합니다.
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다.
지표¶
알리바바 클라우드-클라우드 모니터링을 구성하면 기본 지표 집합은 다음과 같습니다. 구성 방식으로 더 많은 지표를 수집할 수 있습니다. 알리바바 클라우드 클라우드 모니터링 지표 상세
| Metric Id | Metric Name | Dimensions | Statistics | Unit |
|---|---|---|---|---|
cluster_active_sessions |
활성 연결 수 | userId,clusterId,nodeId | 평균 | count |
cluster_blktag_utilization |
blktag 사용률 | userId,clusterId | 평균 | % |
cluster_connection_utilization |
연결 수 사용률 | userId,clusterId,nodeId | 평균,최대,최소 | % |
cluster_cpu_utilization |
CPU 사용률 | userId,clusterId,nodeId | 평균 | % |
cluster_data_io |
초당 스토리지 엔진 IO 처리량 | userId,clusterId,nodeId | 평균 | KB |
cluster_data_iops |
초당 스토리지 엔진 IO 횟수 | userId,clusterId,nodeId | 평균 | countSecond |
cluster_direntry_utilization |
direntry 사용률 | userId,clusterId | 평균 | % |
cluster_disk_utilization |
디스크 사용률 | userId,clusterId | 평균 | % |
cluster_imci_datasize |
IMCI 노드 컬럼 저장 인덱스 저장량 | userId,clusterId,nodeId | 평균 | MB |
cluster_imci_exememusage |
IMCI 실행기 메모리 사용량 | userId,clusterId,nodeId | 평균 | Byte |
cluster_imci_stmtsexepersec |
IMCI 초당 SQL 조회 수 | userId,clusterId,nodeId | 평균 | count/s |
cluster_imci_stmtsinqueue |
IMCI 스케줄링 큐의 SQL 수 | userId,clusterId,nodeId | 평균 | count |
cluster_imci_tmpfileusedsize |
IMCI 실행기 임시 테이블 크기 | userId,clusterId,nodeId | 평균 | Byte |
cluster_inode_utilization |
inode 사용률 | userId,clusterId | 평균 | % |
cluster_input_traffic |
초당 네트워크 입력 트래픽 | userId,clusterId,nodeId | 평균,최대,최소 | KByte/s |
cluster_iops |
초당 IO 횟수 | userId,clusterId,nodeId | 평균 | countSecond |
cluster_iops_usage |
IOPS 사용률 | userId,clusterId,nodeId | 평균,최대,최소 | % |
cluster_mem_hit_ratio |
메모리 적중률 | userId,clusterId,nodeId | 평균 | % |
cluster_memory_utilization |
메모리 사용률 | userId,clusterId,nodeId | 평균 | % |
cluster_mps |
초당 데이터 작업 수 | userId,clusterId,instanceId | 평균,최대,최소 | countSecond |
cluster_output_traffic |
초당 네트워크 출력 트래픽 | userId,clusterId,nodeId | 평균,최대,최소 | KByte/s |
cluster_proxy_cpu_utilization |
Proxy CPU 사용률 | userId,clusterId | 평균,최대,최소 | % |
cluster_qps |
초당 쿼리 수 | userId,clusterId,nodeId | 평균 | count |
cluster_redo_write_rate |
redo 로그 쓰기 속도 | userId,clusterId,nodeId | 평균 | Byte/s |
cluster_replica_lag |
읽기 전용 노드 복제 지연 | userId,clusterId,instanceId | 평균,최소,최대 | seconds |
cluster_slow_queries_ps |
초당 느린 쿼리 수 | userId,clusterId,nodeId | 평균 | countS |
cluster_total_session |
현재 총 연결 수 | userId,clusterId,nodeId | 평균,최대,최소 | count |
cluster_tps |
초당 트랜잭션 수 | userId,clusterId,nodeId | 평균 | countS |
객체¶
수집된 알리바바 클라우드 PolarDB MySQL 객체 데이터 구조이며, 「인프라-사용자 정의」에서 객체 데이터를 확인할 수 있습니다.
{
"measurement": "aliyun_polardb",
"tags": {
"name" : "pc-xxxx",
"RegionId" : "cn-hangzhou",
"VpcId" : "vpc-xxxx",
"DBNodeNumber" : "2",
"PayType" : "Postpaid",
"DBType" : "MySQL",
"LockMode" : "Unlock",
"DBVersion" : "8.0",
"DBClusterId" : "pc-xxxx",
"DBClusterNetworkType": "VPC",
"ZoneId" : "cn-hangzhou-i",
"Engine" : "POLARDB",
"Category" : "Normal",
"DBClusterDescription": "pc-xxxx",
"DBNodeClass" : "polar.mysql.x4.medium"
},
"fields": {
"DBNodes" : "{노드 목록 JSON 데이터}",
"Database" : "[데이터베이스 상세 JSON 데이터]",
"ExpireTime": "",
"CreateTime": "2022-06-17T06:07:19Z",
"message" : "{인스턴스 JSON 데이터}"
}
}
로그¶
슬로 쿼리 상세¶
전제 조건¶
안내: 이 스크립트의 코드 실행은 PolarDB 인스턴스 객체 수집에 의존합니다. PolarDB의 사용자 정의 객체 수집이 구성되지 않은 경우, 슬로 로그 스크립트는 슬로 로그 데이터를 수집할 수 없습니다.
스크립트 설치¶
이전에 이어서, 해당 PolarDB 슬로 쿼리 상세 로그 수집 스크립트를 하나 더 설치해야 합니다.
「관리 / 스크립트 마켓」에서 해당 스크립트 패키지를 클릭해 설치합니다.
- 「Guance 통합(알리바바 클라우드-PolarDB 슬로 쿼리 상세 로그 수집)」(ID:
integration_alibabacloud_polardb_slowlog_record)
데이터가 정상적으로 동기화되면 Guance의 「로그」에서 데이터를 확인할 수 있습니다.
보고되는 데이터 예시는 다음과 같습니다.
{
"measurement": "aliyun_polardb_slowlog_record",
"tags": {
"DBName" : "PolarDB_MySQL",
"DBNodeId" : "pi-***************",
"HostAddress": "testdb[testdb] @ [100.**.**.242]"
},
"fields": {
"SQLText" : "select id,name from tb_table",
"ExecutionStartTime": "2021-04-07T03:47Z",
"QueryTimes" : 20,
"ReturnRowCounts" : 0,
"ParseRowCounts" : 0,
"LockTimes" : 0,
"QueryTimeMS" : 100,
"message" : "{로그 JSON 데이터}"
}
}
일부 파라미터 설명은 다음과 같습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
QueryTimes |
Long | SQL 실행 시간, 단위는 초 |
QueryTimesMS |
Long | 쿼리 시간, 단위는 밀리초 |
ReturnRowCounts |
Long | 반환 행 수 |
ParseRowCounts |
Long | 파싱 행 수 |
ExecutionStartTime |
String | SQL이 시작된 시간. 형식은 YYYY-MM-DDThh:mmZ(UTC 시간) |
LockTimes |
Long | SQL 잠금 시간, 단위는 초 |
주의:
tags,fields의 필드는 이후 업데이트에 따라 변경될 수 있습니다안내:
fields.message는 JSON 직렬화 후 문자열입니다