텐센트 클라우드 Redis¶
텐센트 클라우드 Redis 지표를 표시하며, 연결 수, 요청 수, 지연 시간, 느린 쿼리 등을 포함합니다.
구성¶
Func 설치¶
Guance 통합 - 확장 - 호스팅 버전 Func 개통을 권장합니다. 사전 조건은 모두 자동으로 설치되므로, 스크립트 설치를 계속 진행하세요.
직접 Func를 배포하는 경우 Func 직접 배포를 참고하세요.
개통 스크립트¶
참고: 요구 사항을 충족하는 Tencent Cloud AK를 미리 준비하세요. (간단히 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여해도 됩니다)
호스팅 버전 개통 스크립트¶
- Guance 콘솔에 로그인합니다.
- 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택합니다.
- 【클라우드 계정 추가】를 클릭하고 【Tencent Cloud】를 선택한 뒤 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보가 이미 설정되어 있다면 이 단계를 건너뜁니다.
- 【테스트】를 클릭한 뒤 테스트가 성공하면 【저장】을 클릭합니다. 테스트에 실패하면 관련 설정 정보가 올바른지 확인한 후 다시 테스트합니다.
- 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭하여 상세 페이지로 들어갑니다.
- 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭하고
미설치목록에서텐센트 클라우드 Redis를 찾아 【설치】 버튼을 클릭한 뒤, 나타나는 설치 화면에서 설치합니다.
수동 개통 스크립트¶
-
Func 콘솔에 로그인하고 【스크립트 마켓】을 클릭하여 Guance 스크립트 마켓으로 들어간 뒤
integration_tencentcloud_redis를 검색합니다. -
【설치】를 클릭한 뒤 해당 매개변수인 Tencent Cloud AK, SK, 그리고 계정 이름을 입력합니다.
-
【배포 및 시작 스크립트】를 클릭하면 시스템이 자동으로
Startup스크립트 집합을 생성하고, 대응하는 시작 스크립트를 자동으로 구성합니다. -
활성화 후에는 「관리 / 자동 트리거 구성」에서 해당 자동 트리거 구성을 확인할 수 있습니다. 【실행】을 클릭하면 주기 시간을 기다리지 않고 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
검증¶
- 「관리 / 자동 트리거 구성」에서 해당 작업에 대응하는 자동 트리거 구성이 존재하는지 확인하고, 동시에 해당 작업 기록 및 로그를 확인하여 이상이 있는지 점검합니다.
- Guance의 「기반 인프라 / 사용자 정의」에서 자산 정보가 있는지 확인합니다.
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다.
지표¶
Tencent Cloud-Redis 구성이 완료되면 기본 지표 집합은 아래와 같습니다. 구성 방식으로 더 많은 지표를 수집할 수 있습니다. Tencent Cloud 모니터링 지표 상세를 참고하세요.
Redis 인스턴스 모니터링¶
| 지표 영어명 | 지표 중국어명 | 지표 설명 | 단위 | 차원 | 통계 세분도 |
|---|---|---|---|---|---|
CpuUtil |
CPU 사용률 | 평균 CPU 사용률 | % | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CpuMaxUtil |
노드 최대 CPU 사용률 | 인스턴스의 노드(샤드 또는 복제본) 최대 CPU 사용률 | % | instanceid |
5s、 60s、 300s、 3600s、 86400s |
MemUsed |
메모리 사용량 | 실제 사용 중인 메모리 용량, 데이터와 캐시 부분 포함 | MB | instanceid |
5s、 60s、 300s、 3600s、 86400s |
MemUtil |
메모리 사용률 | 실제 사용 메모리와 총 신청 메모리의 비율 | % | instanceid |
5s、 60s、 300s、 3600s、 86400s |
MemMaxUtil |
노드 최대 메모리 사용률 | 인스턴스의 노드(샤드 또는 복제본) 최대 메모리 사용률 | % | instanceid |
5s、 60s、 300s、 3600s、 86400s |
Keys |
Key 총 개수 | 인스턴스에 저장된 총 Key 개수(최상위 Key) | 개 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
Expired |
만료된 Key 수 | 시간 창 내에서 제거된 Key 개수, info 명령 출력의 expired_keys에 해당 | 개 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
Evicted |
축출된 Key 수 | 시간 창 내에서 축출된 Key 개수, info 명령 출력의 evicted_keys에 해당 | 개 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
Connections |
연결 수 | 인스턴스에 연결된 TCP 연결 수 | 개 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
ConnectionsUtil |
연결 사용률 | 실제 TCP 연결 수와 최대 연결 수의 비율 | % | instanceid |
5s、 60s、 300s、 3600s、 86400s |
InFlow |
유입 트래픽 | 내부망 유입 트래픽 | Mb/s | instanceid |
5s、 60s、 300s、 3600s、 86400s |
InBandwidthUtil |
유입 트래픽 사용률 | 내부망 유입 트래픽의 실제 사용량과 최대 트래픽의 비율 | % | instanceid |
5s、 60s、 300s、 3600s、 86400s |
InFlowLimit |
유입 트래픽 제한 발동 | 유입 트래픽이 제한에 도달한 횟수 | 회 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
OutFlow |
유출 트래픽 | 내부망 유출 트래픽 | Mb/s | instanceid |
5s、 60s、 300s、 3600s、 86400s |
OutBandwidthUtil |
유출 트래픽 사용률 | 내부망 유출 트래픽의 실제 사용량과 최대 트래픽의 비율 | % | instanceid |
5s、 60s、 300s、 3600s、 86400s |
OutFlowLimit |
유출 트래픽 제한 발동 | 유출 트래픽이 제한에 도달한 횟수 | 회 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
LatencyAvg |
평균 실행 지연 | Proxy에서 Redis Server까지의 실행 지연 평균값 | ms | instanceid |
5s、60s、300s、3600s、86400s |
LatencyMax |
최대 실행 지연 | Proxy에서 Redis Server까지의 실행 지연 최대값 | ms | instanceid |
5s、 60s、 300s、 3600s、 86400s |
LatencyRead |
읽기 평균 지연 | Proxy에서 Redis Server까지의 읽기 명령 평균 실행 지연 | ms | instanceid |
5s、 60s、 300s、 3600s、 86400s |
LatencyWrite |
쓰기 평균 지연 | Proxy에서 Redis Server까지의 쓰기 명령 평균 실행 지연 | ms | instanceid |
5s、 60s、 300s、 3600s、 86400s |
LatencyOther |
기타 명령 평균 지연 | Proxy에서 Redis Server까지의 읽기/쓰기 명령 이외의 명령 평균 실행 지연 | ms | instanceid |
5s、 60s、 300s、 3600s、 86400s |
Commands |
총 요청 | QPS, 명령 실행 횟수 | 회/초 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CmdRead |
읽기 요청 | 초당 읽기 명령 실행 횟수 | 회/초 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CmdWrite |
쓰기 요청 | 초당 쓰기 명령 실행 횟수 | 회/초 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CmdOther |
기타 요청 | 초당 읽기/쓰기 명령 이외의 명령 실행 횟수 | 회/초 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CmdBigValue |
대용량 Value 요청 | 초당 요청 명령 크기가 32KB를 초과하는 실행 횟수 | 회/초 | instanceid |
5s、60s、300s、3600s、86400s |
CmdKeyCount |
Key 요청 수 | 명령이 접근한 Key 개수 | 개/초 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CmdMget |
Mget 요청 수 | Mget 명령 실행 횟수 | 개/초 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CmdSlow |
느린 쿼리 | 실행 지연이 slowlog - log - slower - than 설정을 초과한 명령 횟수 | 회 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CmdHits |
읽기 요청 적중 | 읽기 요청 Key가 존재한 개수, info 명령 출력의 keyspace_hits 지표 | 회 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CmdMiss |
읽기 요청 Miss | 읽기 요청 Key가 존재하지 않은 개수, info 명령 출력의 keyspace_misses 지표 | 회 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CmdErr |
실행 오류 | 명령 실행 오류 횟수, 예를 들어 명령이 없거나, 매개변수가 잘못된 경우 등 | 회 | instanceid |
5s、 60s、 300s、 3600s、 86400s |
CmdHitsRatio |
읽기 요청 적중률 | Key 적중 / (Key 적중 + KeyMiss), 이 지표는 Cache Miss 상황을 반영할 수 있습니다 | % | instanceid |
5s、 60s、 300s、 3600s、 86400s |
각 차원 대응 파라미터 개요¶
| 파라미터 이름 | 차원 이름 | 차원 설명 | 형식 |
|---|---|---|---|
Instances.N.Dimensions.0.Name |
instanceid |
인스턴스 ID 차원 이름 | String 유형 차원 이름 입력: instanceid |
Instances.N.Dimensions.0.Value |
instanceid |
인스턴스의 구체적인 ID | 인스턴스의 구체적인 Redis 인스턴스 ID를 입력합니다. 예: tdsql-123456, 또는 인스턴스 번호 crs-ifmymj41일 수 있으며, Redis 인스턴스 목록 조회 API를 통해 조회할 수 있습니다. |
Instances.N.Dimensions.1.Name |
rnodeid |
redis 노드 ID 차원 이름 | String 유형 차원 이름 입력: rnodeid |
Instances.N.Dimensions.1.Value |
rnodeid |
redis의 구체적인 노드 ID | Redis의 구체적인 노드 ID를 입력합니다. 인스턴스 노드 정보 조회 API를 통해 얻을 수 있습니다. |
Instances.N.Dimensions.1.Name |
pnodeid |
proxy 노드 ID 차원 이름 | String 유형 차원 이름 입력: pnodeid |
Instances.N.Dimensions.1.Value |
pnodeid |
proxy의 구체적인 노드 ID | proxy의 구체적인 노드 ID를 입력합니다. 인스턴스 노드 정보 조회 API를 통해 얻을 수 있습니다. |
Instances.N.Dimensions.1.Name |
command |
명령어 차원 이름 | String 유형 차원 이름 입력: command |
Instances.N.Dimensions.1.Value |
command |
구체적인 명령어 | 구체적인 명령어를 입력합니다. 예: ping, get 등 |
입력 파라미터 설명¶
클라우드 데이터베이스 Redis 인스턴스 모니터링 데이터를 조회할 때의 입력값은 다음과 같습니다: &Namespace=QCE/REDIS_MEM &Instances.N.Dimensions.0.Name=instanceid &Instances.N.Dimensions.0.Value=인스턴스의 ID
클라우드 데이터베이스 Proxy 노드 모니터링 데이터를 조회할 때의 입력값은 다음과 같습니다: &Namespace=QCE/REDIS_MEM &Instances.N.Dimensions.0.Name=instanceid &Instances.N.Dimensions.0.Value=인스턴스의 ID &Instances.N.Dimensions.1.Name=pnodeid &Instances.N.Dimensions.1.Value=proxy 노드ID
클라우드 데이터베이스 Redis 노드 모니터링 데이터를 조회할 때의 입력값은 다음과 같습니다: &Namespace=QCE/REDIS_MEM &Instances.N.Dimensions.0.Name=instanceid &Instances.N.Dimensions.0.Value=인스턴스의 ID &Instances.N.Dimensions.1.Name=rnodeid &Instances.N.Dimensions.1.Value=Redis 노드ID
클라우드 데이터베이스 Redis 지연 시간 지표(command 차원) 모니터링 데이터를 조회할 때의 입력값은 다음과 같습니다: &Namespace=QCE/REDIS_MEM &Instances.N.Dimensions.0.Name=instanceid &Instances.N.Dimensions.0.Value=인스턴스의 ID &Instances.N.Dimensions.1.Name=command &Instances.N.Dimensions.1.Value=구체적인 명령어
객체¶
수집된 텐센트 클라우드 Redis 객체 데이터 구조이며, 「기반 인프라-사용자 정의」에서 객체 데이터를 확인할 수 있습니다.
{
"measurement": "tencentcloud_redis",
"tags": {
"name" : "crs-xxxx",
"BillingMode" : "0",
"Engine" : "Redis",
"InstanceId" : "crs-xxxx",
"InstanceName": "solution",
"Port" : "6379",
"ProductType" : "standalone",
"ProjectId" : "0",
"RegionId" : "ap-shanghai",
"Status" : "2",
"Type" : "6",
"WanIp" : "172.x.x.x",
"ZoneId" : "200002"
},
"fields": {
"ClientLimits" : "10000",
"Createtime" : "2022-07-14 13:54:14",
"DeadlineTime" : "0000-00-00 00:00:00",
"InstanceNodeInfo": "{인스턴스 노드 정보}",
"InstanceTitle" : "실행 중",
"Size" : 1024,
"message" : "{인스턴스 JSON 데이터}"
}
}
로그¶
느린 쿼리 통계¶
느린 쿼리 통계 사전 조건¶
참고 1: 이 스크립트의 코드 실행은 Redis 인스턴스 객체 수집에 의존합니다. Redis의 사용자 정의 객체 수집이 설정되지 않은 경우, 느린 로그 스크립트는 느린 로그 데이터를 수집할 수 없습니다.
느린 쿼리 통계 설치 스크립트¶
이전 단계에 더해, 해당 RDS 느린 쿼리 통계 로그 수집 스크립트를 하나 더 설치해야 합니다.
「관리 / 스크립트 마켓」에서 해당 스크립트 패키지를 클릭하여 설치합니다.
- 「Guance 통합(텐센트 클라우드-Redis 느린 쿼리 로그 수집) 」(ID:
integration_tencentcloud_redis_slowlog)
데이터가 정상적으로 동기화되면, Guance의 「로그」에서 데이터를 확인할 수 있습니다.
보고되는 데이터 예시는 다음과 같습니다.
{
"measurement": "tencentcloud_redis_slow_log",
"tags": {
"BillingMode" : "0",
"Client" : "",
"Engine" : "Redis",
"InstanceId" : "crs-rha4zlon",
"InstanceName": "crs-rha4zlon",
"Node" : "6d5d8cc6fxxxx",
"Port" : "6379",
"ProductType" : "standalone",
"ProjectId" : "0",
"RegionId" : "ap-shanghai",
"Status" : "2",
"Type" : "8",
"WanIp" : "172.17.0.9",
"ZoneId" : "200002",
"name" : "crs-xxxx"
},
"fields": {
"Command" : "config",
"CommandLine": "config get whitelist-ips",
"Duration" : 1,
"ExecuteTime": "2022-07-22 18:00:28",
"message" : "{인스턴스JSON데이터}"
}
}
일부 매개변수 설명은 다음과 같습니다.
| 필드 | 유형 | 설명 |
|---|---|---|
Duration |
Integer | 느린 쿼리 소요 시간 |
Client |
String | 클라이언트 주소 |
Command |
String | 명령 |
CommandLine |
String | 상세 명령줄 정보 |
ExecuteTime |
String | 실행 시간 |
Node |
String | 1번 노드 ID |
주의:
tags와fields의 필드는 후속 업데이트에 따라 변경될 수 있습니다. 참고 1:tags.name값은 인스턴스 ID이며, 고유 식별자로 사용됩니다. 참고 2:fields.message는 JSON 직렬화 후의 문자열입니다.