이 페이지에서는 Memorystore for Redis 클러스터에 사용할 수 있는 Cloud Monitoring 측정항목을 나열하고 각 측정항목이 측정하는 대상을 설명합니다.
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/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 |
기본 샤드와 보조 샤드 간의 평균 복제 오프셋 차이입니다. |
백업 측정항목
이 섹션에는 백업 및 가져오기 측정항목이 나와 있습니다.
클러스터 수준 측정항목
측정항목 이름 | 설명 |
---|---|
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 |
마지막 가져오기 작업의 기간(밀리초)입니다. |
지속성 측정항목
이 섹션에서는 지속성 측정항목을 나열하고 지속성 측정항목의 샘플 사용 사례를 제공합니다.
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에 부하가 집중된다는 것을 알 수 있습니다.
클러스터의 핫스팟을 식별하는 데 사용할 수 있는 노드 수준 측정항목이 제공됩니다.