이 페이지에서는 Redis용 Memorystore 클러스터에 사용할 수 있는 측정항목을 나열하고 각 측정항목이 측정하는 대상을 설명합니다.
백업 측정항목
이 섹션에는 백업 및 가져오기 측정항목이 나와 있습니다.
클러스터 수준 측정항목
| 측정항목 이름 | 설명 |
|---|---|
redis.googleapis.com/cluster/backup/last_backup_start_time
|
마지막 백업 작업의 시작 시간입니다. |
redis.googleapis.com/cluster/backup/last_backup_status |
마지막 백업 작업의 상태입니다. 상태는 1(성공) 및 0 (실패)입니다. |
redis.googleapis.com/cluster/backup/last_backup_duration
|
마지막 백업 작업의 기간 (밀리초)입니다. |
redis.googleapis.com/cluster/backup/last_backup_size |
마지막 백업의 크기 (바이트)입니다. |
redis.googleapis.com/cluster/import/last_import_start_time
|
마지막 가져오기 작업의 시작 시간입니다. |
redis.googleapis.com/cluster/import/last_import_duration
|
마지막 가져오기 작업의 기간 (밀리초)입니다. |
Cloud Monitoring 측정항목
이 섹션에서는 Redis용 Memorystore 클러스터에 사용할 수 있는 Cloud Monitoring 측정항목을 나열하고 설명합니다.
클러스터 수준 측정항목
이러한 측정항목은 클러스터의 전반적인 상태와 성능을 간략하게 보여줍니다. 이러한 지표는 클러스터의 전체 용량과 사용률을 파악하고 잠재적인 병목 현상이나 개선이 필요한 영역을 식별하는 데 유용합니다.
| 측정항목 이름 | 설명 |
|---|---|
redis.googleapis.com/cluster/clients/average_connected_clients
|
클러스터 전체의 현재 평균 클라이언트 연결 수입니다. |
redis.googleapis.com/cluster/clients/maximum_connected_clients
|
클러스터 전체의 최대 현재 클라이언트 연결 수입니다. |
redis.googleapis.com/cluster/clients/total_connected_clients
|
클러스터에 대한 현재 클라이언트 연결 수입니다. |
redis.googleapis.com/cluster/stats/total_connections_received_count
|
지난 1분 동안 생성된 클러스터 수준 총 클라이언트 연결 수입니다. |
redis.googleapis.com/cluster/stats/total_rejected_connections_count
|
최대 클라이언트 한도로 인해 거부된 연결 수입니다. |
redis.googleapis.com/cluster/commandstats/total_usec_count
|
명령어당 소비된 총 시간입니다. |
redis.googleapis.com/cluster/commandstats/total_calls_count
|
1분 동안 이 명령어의 총 호출 수입니다. |
redis.googleapis.com/cluster/cpu/average_utilization |
0.0~1.0 사이의 클러스터 평균 CPU 사용률입니다. |
redis.googleapis.com/cluster/cpu/maximum_utilization |
0.0~1.0 사이의 클러스터 최대 CPU 사용률입니다. 이 측정항목은 CPU 사용률이 기본 노드의 경우 0.8초, 읽기 복제본으로 지정된 각 복제본의 경우 0.5초를 초과하지 않아야 합니다. 자세한 내용은 CPU 사용량 권장사항을 참고하세요. |
redis.googleapis.com/cluster/stats/average_expired_keys
|
기본의 평균 키 만료 이벤트 수입니다. |
redis.googleapis.com/cluster/stats/maximum_expired_keys
|
기본의 최대 키 만료 이벤트 수입니다. |
redis.googleapis.com/cluster/stats/total_expired_keys_count
|
기본의 총 키 만료 이벤트 수입니다. |
redis.googleapis.com/cluster/stats/average_evicted_keys
|
기본의 메모리 용량으로 인해 제거된 평균 키 수입니다. |
redis.googleapis.com/cluster/stats/maximum_evicted_keys
|
기본의 메모리 용량으로 인해 제거된 최대 키 수입니다. |
redis.googleapis.com/cluster/stats/total_evicted_keys_count
|
기본의 메모리 용량으로 인해 제거된 키 수입니다. |
redis.googleapis.com/cluster/keyspace/total_keys |
클러스터에 저장된 키 수입니다. |
redis.googleapis.com/cluster/stats/average_keyspace_hits
|
클러스터에서 조회에 성공한 평균 키 수입니다. |
redis.googleapis.com/cluster/stats/maximum_keyspace_hits
|
클러스터에서 조회에 성공한 최대 키 수입니다. |
redis.googleapis.com/cluster/stats/total_keyspace_hits_count
|
클러스터에서 조회에 성공한 키 수입니다. |
redis.googleapis.com/cluster/stats/average_keyspace_misses
|
클러스터에서 조회에 실패한 평균 키 수입니다. |
redis.googleapis.com/cluster/stats/maximum_keyspace_misses
|
클러스터에서 조회에 실패한 최대 키 수입니다. |
redis.googleapis.com/cluster/stats/total_keyspace_misses_count
|
클러스터에서 조회에 실패한 총 키 수입니다. |
redis.googleapis.com/cluster/memory/average_utilization
|
0.0~1.0 사이의 클러스터 평균 메모리 사용률입니다. |
redis.googleapis.com/cluster/memory/maximum_utilization
|
0.0~1.0 사이의 클러스터 최대 메모리 사용률입니다. |
redis.googleapis.com/cluster/memory/total_used_memory |
클러스터의 총 메모리 사용량입니다. |
redis.googleapis.com/cluster/memory/size |
클러스터의 메모리 크기입니다. |
redis.googleapis.com/cluster/replication/average_ack_lag
|
클러스터 전체에서 복제본의 평균 확인 지연 시간 (초)입니다.
승인 지연은 클러스터의 기본 노드에서 병목 현상입니다. 이 병목 현상은 기본 노드에서 전송하는 정보를 따라갈 수 없는 복제본으로 인해 발생합니다. 이 경우 기본 노드는 복제본이 정보를 수신했다는 확인을 기다려야 합니다. 이로 인해 트랜잭션 커밋 속도가 느려지고 기본 노드의 성능이 저하될 수 있습니다. |
redis.googleapis.com/cluster/replication/maximum_ack_lag
|
클러스터 전체에서 복제본의 최대 확인 지연 시간 (초)입니다. |
redis.googleapis.com/cluster/replication/average_offset_diff
|
클러스터의 평균 복제 확인 오프셋 차이 (바이트)입니다.
복제 확인 오프셋 차이는 복제본과 기본 간에 복제되지 않은 바이트 수를 의미합니다. |
redis.googleapis.com/cluster/replication/maximum_offset_diff
|
클러스터의 최대 복제 오프셋 차이 (바이트)입니다. 복제 오프셋 차이는 복제본과 기본 간에 복제되지 않은 바이트 수를 의미합니다. |
redis.googleapis.com/cluster/stats/total_net_input_bytes_count
|
클러스터 엔드포인트가 수신한 수신 네트워크 바이트 수입니다. |
redis.googleapis.com/cluster/stats/total_net_output_bytes_count
|
클러스터 엔드포인트에서 전송된 아웃바운드 네트워크 바이트 수입니다. |
노드 수준 측정항목
이러한 측정항목은 클러스터 내 개별 노드의 상태와 성능에 관한 자세한 정보를 제공합니다. 특정 노드의 문제를 해결하고 성능을 최적화하는 데 유용합니다.
| 측정항목 이름 | 설명 |
|---|---|
redis.googleapis.com/cluster/node/clients/connected_clients
|
클러스터 노드에 연결된 클라이언트 수입니다. |
redis.googleapis.com/cluster/node/clients/blocked_clients
|
클러스터 노드에서 차단된 클라이언트 연결 수입니다. |
redis.googleapis.com/cluster/node/server/uptime |
클러스터 노드의 업타임을 측정합니다. |
redis.googleapis.com/cluster/node/stats/connections_received_count
|
클러스터 노드에서 지난 1분 동안 생성된 총 클라이언트 연결 수입니다. |
redis.googleapis.com/cluster/node/stats/rejected_connections_count
|
클러스터 노드에서 최대 클라이언트 한도로 인해 거부된 연결 수입니다. |
redis.googleapis.com/cluster/node/commandstats/usec_count
|
클러스터 노드에서 명령어당 소비된 총 시간입니다. |
redis.googleapis.com/cluster/node/commandstats/calls_count
|
클러스터 노드에서 1분 동안 이 명령어를 호출한 총 횟수입니다. |
redis.googleapis.com/cluster/node/cpu/utilization |
클러스터 노드의 CPU 사용률입니다(0.0~1.0). |
redis.googleapis.com/cluster/node/stats/expired_keys_count
|
클러스터 노드에서 발생한 총 만료 이벤트 수입니다. |
redis.googleapis.com/cluster/node/stats/evicted_keys_count
|
클러스터 노드에서 제거된 키의 총 개수입니다. |
redis.googleapis.com/cluster/node/keyspace/total_keys |
클러스터 노드에 저장된 키 수입니다. |
redis.googleapis.com/cluster/node/stats/keyspace_hits_count
|
클러스터 노드에서 키 조회가 성공한 횟수입니다. |
redis.googleapis.com/cluster/node/stats/keyspace_misses_count
|
클러스터 노드에서 키 조회가 실패한 횟수입니다. |
redis.googleapis.com/cluster/node/memory/utilization |
클러스터 노드 내 메모리 사용률입니다(0.0~1.0). |
redis.googleapis.com/cluster/node/memory/usage |
클러스터 노드의 총 메모리 사용량입니다. |
redis.googleapis.com/cluster/node/stats/net_input_bytes_count
|
클러스터 노드가 수신한 수신 네트워크 바이트 수입니다. |
redis.googleapis.com/cluster/node/stats/net_output_bytes_count
|
클러스터 노드에서 전송된 아웃바운드 네트워크 바이트 수입니다. |
redis.googleapis.com/cluster/node/replication/offset |
클러스터 노드의 복제 오프셋 바이트를 측정합니다. |
redis.googleapis.com/cluster/node/server/healthy |
클러스터 노드가 사용 가능하고 올바르게 작동하는지 여부를 확인합니다. |
리전 간 복제 측정항목
이 섹션에는 리전 간 복제에 사용되는 측정항목이 나열되어 있습니다.
| 측정항목 이름 | 설명 |
|---|---|
redis.googleapis.com/cluster/cross_cluster_replication/secondary_replication_links
|
이 측정항목은 기본 클러스터와 보조 클러스터 간의 샤드 링크 수를 보여줍니다. 리전 간 복제 (CRR) 그룹 내에서 기본 클러스터는 그룹의 보조 클러스터와 연결된 CRR 복제 링크 수를 보고합니다. 각 보조 클러스터의 경우 이 숫자는 샤드 수와 같을 것으로 예상됩니다. 예상치 못하게 수가 샤드 수 아래로 떨어지면 이는 리플리케이터와 팔로어 간 복제가 중단된 샤드 수를 나타냅니다. 이상적인 상태에서는 이 측정항목의 수가 기본 클러스터 샤드 수와 동일해야 합니다. |
redis.googleapis.com/cluster/cross_cluster_replication/secondary_maximum_replication_offset_diff |
기본 샤드와 보조 샤드 간의 최대 복제 오프셋 차이입니다. |
redis.googleapis.com/cluster/cross_cluster_replication/secondary_average_replication_offset_diff |
기본 샤드와 보조 샤드 간의 평균 복제 오프셋 차이입니다. |
지속성 측정항목
이 섹션에서는 지속성 측정항목을 나열하고 지속성 측정항목의 샘플 사용 사례를 제공합니다.
RDB 지속성 측정항목
클러스터 수준 측정항목
| 측정항목 이름 | 설명 |
|---|---|
redis.googleapis.com/cluster/persistence/rdb_saves_count |
이 측정항목은 클러스터가 RDB 스냅샷을 생성한 누적 횟수를 보여줍니다 (저장이라고도 함). 이 측정항목에는 status_code 필드가 있습니다. 스냅샷이 실패했는지 확인하려면 status_code 필드를 다음 오류로 필터링하면 됩니다.
3 - INTERNAL_ERROR |
redis.googleapis.com/cluster/persistence/rdb_save_ages |
이 측정항목은 클러스터의 모든 노드에 대한 분포 스냅샷 수명을 보여줍니다. 분포에 스냅샷 빈도보다 지연 시간이 짧거나 동일한 값이 있는 것이 좋습니다. |
노드 수준 측정항목
| 측정항목 이름 | 설명 |
|---|---|
redis.googleapis.com/cluster/node/persistence/rdb_bgsave_in_progress
|
이 측정항목은 클러스터 노드에서 현재 RDB BGSAVE가 진행 중인지 여부를 보여줍니다. TRUE는 진행 중임을 의미합니다. |
redis.googleapis.com/cluster/node/persistence/rdb_last_bgsave_status
|
이 측정항목은 클러스터 노드에서 수행된 마지막 BGSAVE 작업의 성공 여부를 나타냅니다. TRUE는 성공을 의미합니다. bgrewrite가 발생하지 않은 경우 값이 기본적으로 TRUE일 수 있습니다. |
redis.googleapis.com/cluster/node/persistence/rdb_saves_count
|
이 측정항목은 클러스터 노드에서 실행된 RDB 저장의 누적 횟수를 보여줍니다. |
redis.googleapis.com/cluster/node/persistence/rdb_last_save_age
|
이 측정항목은 마지막으로 성공한 스냅샷 이후의 경과 시간을 초 단위로 보여줍니다. |
redis.googleapis.com/cluster/node/persistence/rdb_next_save_time_until
|
이 측정항목은 다음 스냅샷까지 남은 시간을 초 단위로 보여줍니다. |
redis.googleapis.com/cluster/node/persistence/current_save_keys_total
|
이 측정항목은 클러스터 노드에서 실행 중인 현재 RDB 저장의 키 수를 보여줍니다. |
AOF 지속성 측정항목
클러스터 수준 측정항목
| 측정항목 이름 | 설명 |
|---|---|
redis.googleapis.com/cluster/persistence/aof_fsync_lags
|
이 측정항목은 클러스터의 모든 노드에 대한 지연 (데이터 쓰기부터 내구성 있는 스토리지 동기화)의 분포를 보여줍니다. appendfsync=everysec인 클러스터에만 내보내집니다. 분포에 AOF 동기화 빈도보다 지연 시간이 짧거나 동일한 값이 있는 것이 좋습니다. |
redis.googleapis.com/cluster/persistence/aof_rewrite_count
|
이 측정항목은 클러스터에서 노드가 AOF 재작성을 트리거한 누적 횟수를 보여줍니다. 이 측정항목에는 status_code 필드가 있습니다. AOF 재작성이 실패하는지 확인하려면 status_code 필드를 다음 오류로 필터링하면 됩니다.
3 - INTERNAL_ERROR |
노드 수준 측정항목
| 측정항목 이름 | 설명 |
|---|---|
redis.googleapis.com/cluster/node/persistence/aof_last_write_status
|
이 측정항목은 클러스터 노드에서 가장 최근에 실행된 AOF 쓰기의 성공 여부를 보여줍니다. TRUE는 성공을 의미합니다. 쓰기가 발생하지 않은 경우 값이 기본적으로 TRUE일 수 있습니다. |
redis.googleapis.com/cluster/node/persistence/aof_last_bgrewrite_status
|
이 측정항목은 클러스터 노드에서 마지막 AOF bgrewrite 작업의 성공 여부를 보여줍니다. TRUE는 성공을 의미합니다. bgrewrite가 발생하지 않은 경우 값이 기본적으로 TRUE일 수 있습니다. |
redis.googleapis.com/cluster/node/persistence/aof_fsync_lag
|
이 측정항목은 클러스터 노드에서 메모리와 영구 스토리지 간의 AOF 지연 시간을 보여줍니다. appendfsync=EVERYSEC인 AOF 지원 클러스터에만 적용됩니다. |
redis.googleapis.com/cluster/node/persistence/aof_rewrites_count
|
이 측정항목은 클러스터 노드에서 발생한 AOF 다시 쓰기 횟수를 보여줍니다. AOF 재작성이 실패하는지 확인하려면 status_code 필드를 3 - INTERNAL_ERROR 오류로 필터링하면 됩니다.
|
redis.googleapis.com/cluster/node/persistence/aof_fsync_errors_count
|
이 측정항목은 AOF fsync() 호출 오류 수를 보여주며 appendfsync=EVERYSEC|ALWAYS인 AOF 지원 클러스터에만 적용됩니다. |
일반적인 지속성 측정항목
AOF 및 RDB 지속성 메커니즘 모두에 적용되는 측정항목입니다.
노드 수준 측정항목
| 측정항목 이름 | 설명 |
|---|---|
redis.googleapis.com/cluster/node/persistence/auto_restore_count
|
이 측정항목은 덤프 파일 (AOF 또는 RDB)에서 복원된 횟수를 보여줍니다. |
지속성 측정항목의 샘플 사용 사례
AOF 쓰기 작업으로 인해 지연 시간 및 메모리 압력이 발생하는지 확인
클러스터 또는 클러스터 내 노드에서 지연 시간 또는 메모리 사용량이 증가한 것으로 감지되었다고 가정해 보겠습니다. 이 경우 추가 사용량이 AOF 지속성과 관련이 있는지 확인해야 할 수 있습니다.
AOF 재작성 작업이 일시적인 로드 급증을 트리거할 수 있으므로 클러스터 또는 클러스터 내 노드의 수명 기간 동안 AOF 재작성의 누적 수를 제공하는 aof_rewrites_count 측정항목을 검사할 수 있습니다.
이 측정항목에서 재작성 횟수의 증가가 지연 시간 증가에 해당한다고 가정해 보겠습니다. 이 경우 쓰기 속도를 줄이거나 샤드 수를 늘려 다시 쓰기 빈도를 줄여 문제를 해결할 수 있습니다.
RDB 저장 작업으로 인해 지연 시간 및 메모리 압력이 발생하는지 확인
클러스터 또는 클러스터 내 노드에서 지연 시간 또는 메모리 사용량이 증가한 것으로 감지되었다고 가정해 보겠습니다. 이 경우 추가 사용량이 RDB 지속성과 관련이 있는지 확인해야 할 수 있습니다.
RDB 저장 작업이 일시적인 로드 급증을 트리거할 수 있으므로 클러스터 또는 클러스터 내 노드의 수명 기간 동안 RDB 저장의 누적 수를 제공하는 rdb_saves_count 측정항목을 검사할 수 있습니다. 이 측정항목에서 RDB 저장 횟수의 증가가 지연 시간 증가에 해당한다고 가정해 보겠습니다. 이 경우 RDB 스냅샷 간격을 줄여 다시 쓰기 빈도를 낮출 수 있습니다. 클러스터를 확장하여 기준 부하 수준을 줄일 수도 있습니다.
Memorystore for Redis 클러스터의 측정항목 해석
위 목록에 표시된 것처럼 대부분의 측정항목은 평균, 최대, 총계와 같은 3가지 카테고리를 공유합니다.
Memorystore for Redis 클러스터의 경우 동일한 측정항목의 평균 및 최대 변형이 제공되므로 해당 측정항목 계열의 부하 집중을 식별하는 데 둘 다 사용할 수 있습니다.
측정항목의 총계 값은 독립적이며 평균 및 최대의 부하 집중 목적과 관련되지 않은 별도의 통계를 제공합니다.
평균 및 최대 측정항목 이해하기
클러스터의 average_keyspace_hits 및 maximum_keyspace_hits 값을 비교한다고 가정해 보겠습니다. 두 측정항목의 차이가 커질수록 인스턴스 내 적중 항목의 집중 부하가 커집니다. 적중 항목이 인스턴스에 더 균일하게 분산되므로 average_keyspace_hits와 maximum_keyspace_hits 간의 값이 가까운 것이 이상적입니다.
이 원칙은 동일한 측정항목의 평균 및 최대 변형이 있는 모든 측정항목에 적용됩니다.
핫스팟 예
클러스터의 모든 샤드에 대해 average_keyspace_hits 및 maximum_keyspace_hits 값을 비교하면 핫스팟이 발생하는 위치를 알 수 있습니다. 예를 들어 샤드 6개가 있는 클러스터의 샤드의 적중 횟수가 다음과 같다고 가정해 보겠습니다.
- 샤드 1 – 2회 적중
- 샤드 2 – 2회 적중
- 샤드 3 – 2회 적중
- 샤드 4 – 2회 적중
- 샤드 5 – 2회 적중
- 샤드 6 – 8회 적중
이 예시에서 average_keyspace_hits는 값 3을 반환하고 maximum_keyspace_hits는 8을 반환하여 샤드 6에 부하가 집중된다는 것을 알 수 있습니다.
클러스터에서 핫스팟을 식별하는 데 사용할 수 있는 노드 수준 측정항목이 제공됩니다.