Redis 지표
AWS/ElastiCache
네임스페이스에는 다음 Redis 지표가 포함되어 있습니다.
ReplicationLag
및 EngineCPUUtilization
를 제외하고 이 지표는 Redis info 명령에서 파생됩니다. 각 지표는 캐시 노드 수준에서 계산됩니다.
Redis info 명령에 대한 전체 설명서는 http://redis.io/commands/info
참고 항목
지표 | 설명 | Unit |
---|---|---|
ActiveDefragHits |
활성 조각 모음 프로세스에서 수행된 분당 값 재할당 수입니다. 이 수는 Redis INFOactive_defrag_hits 통계에서 나왔습니다. |
숫자 |
AuthenticationFailures |
AUTH 명령을 사용하여 Redis에 인증한 실패한 시도의 총 수입니다. 개별 인증 실패에 대한 자세한 내용은 ACL LOG |
개수 |
BytesUsedForCache |
데이터 세트, 버퍼 등을 포함하여 모든 목적을 위해 Redis에서 할당한 전체 바이트 수. | 바이트 |
데이터 계층화를 사용하는 Redis 클러스터용 Dimension: Tier=Memory : 메모리에서 캐시에 사용된 총 바이트 수입니다. Redis 정보used_memory 통계 값입니다. |
바이트 | |
데이터 계층화를 사용하는 Redis 클러스터용 Dimension: Tier=SSD : SSD에서 캐시에 사용된 총 바이트 수입니다. |
바이트 | |
BytesReadFromDisk |
분당 디스크에서 읽은 총 바이트 수입니다. 데이터 계층화를 사용하는 클러스터에서만 지원됩니다. | 바이트 |
BytesWrittenToDisk |
분당 디스크에 쓴 총 바이트 수입니다. 데이터 계층화를 사용하는 클러스터에서만 지원됩니다. | 바이트 |
CacheHits |
주 딕셔너리의 성공한 읽기 전용 키 조회수. 이 수는 Redis INFOkeyspace_hits 통계에서 나왔습니다. |
개수 |
CacheMisses |
주 딕셔너리의 성공하지 못한 읽기 전용 키 조회 수. 이 수는 Redis INFOkeyspace_misses 통계에서 나왔습니다. |
개수 |
CommandAuthorizationFailures |
사용자가 호출 권한이 없는 명령을 실행한 실패한 시도의 총 수입니다. 개별 인증 실패에 대한 자세한 내용은 ACL LOG |
개수 |
CacheHitRate |
Redis 인스턴스의 사용 효율성을 나타냅니다. 캐시 비율이 약 0.8보다 낮으면 상당한 양의 키가 제거되거나, 만료되거나, 존재하지 않음을 의미합니다. 이는 cache_hits 및 cache_misses 통계를 사용하여 다음과 같은 방식으로 계산됩니다. cache_hits /(cache_hits +
cache_misses) |
% |
CurrConnections |
읽기 전용 복제본의 연결을 제외한 클라이언트 연결 수입니다. ElastiCache는 2~4개의 연결을 사용하여 각 사례의 클러스터를 모니터링합니다. 이 수는 Redis INFOconnected_clients 통계에서 나왔습니다. |
개수 |
CurrItems |
캐시 항목 수. 이 지표는 전체 키 스페이스의 모든 키를 합산하여 Redis keyspace 통계에서 파생됩니다. |
개수 |
데이터 계층화를 사용하는 클러스터용 Dimension: Tier=Memory 입니다. 메모리에 있는 항목 수입니다. |
개수 | |
데이터 계층화를 사용하는 클러스터용 Dimension: Tier=SSD (solid state drives)입니다. SSD의 항목 수입니다. |
개수 | |
CurrVolatileItems |
ttl이 설정된 모든 데이터베이스의 총 키 수입니다. 이 지표는 전체 키 스페이스의 모든 ttl이 설정된 키를 합산하여 Redis expires 통계에서 파생됩니다. |
개수 |
DatabaseMemoryUsagePercentage |
사용 중인 클러스터용 메모리의 백분율입니다. 이 수는 Redis INFOused_memory/maxmemory 를 사용하여 계산됩니다. |
% |
DatabaseMemoryUsageCountedForEvictPercentage |
오버헤드 및 COB에 사용된 메모리를 제외한 사용 중인 클러스터용 메모리의 백분율입니다. 이 수는 Redis INFOused_memory-mem_not_counted_for_evict/maxmemory 를 사용하여 계산됩니다. |
% |
DB0AverageTTL |
Redis INFOkeyspace 통계에서 DBO의 avg_ttl 을 표시합니다. 복제본은 키를 만료 처리하지 않고 프라이머리 노드에서 키를 만료 처리할 때까지 기다립니다. 프라이머리 노드는 키를 만료 처리하거나 LRU로 인해 키를 제거하는 경우 DEL 명령을 합성하여 모든 복제본으로 전송합니다. 따라서 복제본 노드의 경우 DB0AverageTTL은 0입니다. 키를 만료 처리하지 않아 TTL을 추적하지 않기 때문입니다. |
밀리초 |
EngineCPUUtilization |
Redis 엔진 스레드의 CPU 사용률을 제공합니다. Redis는 단일 스레드이므로 이 지표를 사용하여 Redis 프로세스 자체의 로드를 분석할 수 있습니다. ElastiCache 호스트에서는 백그라운드 프로세스가 관리형 데이터베이스 환경을 제공하기 위해 호스트를 모니터링합니다. 이러한 백그라운드 프로세스는 CPU 워크로드의 상당 부분을 차지할 수 있습니다. vCPU가 2개 이상인 대규모 호스트에서는 이 점이 중요하지 않습니다. 하지만 vCPU가 2개 이하인 소규모 호스트에 영향을 줄 수 있습니다. |
% |
Evictions |
maxmemory 제한으로 인해 제거된 키 수 이 수는 Redis INFOevicted_keys 통계에서 나왔습니다. |
개수 |
GlobalDatastoreReplicationLag |
보조 리전의 기본 노드와 기본 리전의 기본 노드 간의 지연입니다. 클러스터 모드가 활성화된 Redis의 경우 지연은 샤드 간의 최대 지연을 나타냅니다. | 초 |
IsMaster |
노드가 현재 샤드/클러스터의 기본 노드인지 여부를 나타냅니다. 이 지표는 0(기본 노드 아님) 또는 1(기본 노드임)일 수 있습니다. | 개수 |
KeyAuthorizationFailures |
사용자가 액세스 권한이 없는 키에 액세스한 실패한 시도의 총 수입니다. 개별 인증 실패에 대한 자세한 내용은 ACL LOG |
개수 |
KeysTracked |
Redis 키 추적에서 추적 중인 키의 수로, tracking-table-max-keys 의 백분율로 표시됩니다. 키 추적은 클라이언트 측 캐싱을 지원하고 키가 수정된 경우 클라이언트에 알리는 데 사용됩니다. |
개수 |
MemoryFragmentationRatio |
Redis 엔진의 메모리 할당의 효율성을 나타냅니다. 특정 임계값은 다른 동작을 나타냅니다. 조각화를 1.0 이상으로 설정하는 것이 좋습니다. 이 수는 Redis INFOmem_fragmentation_ratio statistic 에서 계산됩니다. |
숫자 |
NewConnections |
이 기간에 서버에서 허용된 총 연결 수 이 수는 Redis INFOtotal_connections_received 통계에서 나왔습니다. |
개수 |
NumItemsReadFromDisk |
분당 디스크에서 검색된 총 항목 수입니다. 데이터 계층화를 사용하는 클러스터에서만 지원됩니다. | 개수 |
NumItemsWrittenToDisk |
분당 디스크에 기록된 총 항목 수입니다. 데이터 계층화를 사용하는 클러스터에서만 지원됩니다. | 개수 |
MasterLinkHealthStatus |
이 상태에는 0 또는 1의 두 가지 값이 있습니다. 값 0은 ElastiCache 기본 노드의 데이터가 EC2의 Redis와 동기화되지 않았음을 나타냅니다. 값 1은 데이터가 동기화되었음을 나타냅니다. 마이그레이션을 완료하려면 CompleteMigration API 작업을 사용합니다. | 부울 |
Reclaimed |
키 만료 이벤트 총 수 이 수는 Redis INFOexpired_keys 통계에서 나왔습니다. |
개수 |
ReplicationBytes |
복제된 구성 노드의 경우 ReplicationBytes 가 기본 노드에서 모든 복제본에 전송하는 바이트 수를 보고합니다. 이 지표는 복제 그룹에 대한 쓰기 부하를 나타냅니다. 이 수는 Redis INFOmaster_repl_offset 통계에서 나왔습니다. |
바이트 |
ReplicationLag |
이 지표는 읽기 복제본으로 실행되는 노드에 한해 적용됩니다. 기본 노드에서 변경 내용을 적용할 때 복제본에서 경과된 시간(초)을 나타냅니다. Redis 엔진 버전 5.0.6 이상의 경우 지연은 밀리초 단위로 측정할 수 있습니다. | 초 |
SaveInProgress |
이 이진 지표는 백그라운드 저장(forked 또는 forkless)가 진행 중일 때마다 1을, 그렇지 않으면 0을 반환합니다. 백그라운드 저장 프로세스는 일반적으로 스냅샷 작업과 동기화 작업에 사용됩니다. 하지만 이 두 가지 작업은 성능 저하의 원인이 되기도 합니다. 이때는 SaveInProgress 지표를 사용하면 백그라운드 저장 프로세스로 인한 성능 저하 여부를 진단할 수 있습니다. 이 수는 Redis INFOrdb_bgsave_in_progress 통계에서 나왔습니다. |
개수 |
TrafficManagementActive |
ElastiCache for Redis가 들어오는 명령, 모니터링 또는 복제에 할당된 트래픽을 조정하여 트래픽을 적극적으로 관리하는지 여부를 나타냅니다. 트래픽은 Redis에서 처리할 수 있는 것보다 더 많은 명령이 노드로 전송되는 경우 관리되며 엔진의 안정성과 최적의 작동을 유지하는 데 사용됩니다. 데이터 포인트가 1이면 노드가 제공되는 워크로드에 대해 적게 크기 조정되었음을 나타낼 수 있습니다. | 부울 |
EngineCPUUtilization 가용성
다음에 나열된 AWS 리전은 지원되는 모든 노드 유형에서 사용할 수 있습니다.
리전(Region) | 리전 이름 |
---|---|
us-east-2 |
미국 동부(오하이오) |
us-east-1 |
미국 동부(버지니아 북부) |
us-west-1 |
미국 서부(캘리포니아 북부) |
us-west-2 |
미국 서부(오리건) |
ap-northeast-1 |
아시아 태평양(도쿄) |
ap-northeast-2 |
아시아 태평양(서울) |
ap-northeast-3 |
아시아 태평양(오사카) |
ap-east-1 |
아시아 태평양(홍콩) |
ap-south-1 |
아시아 태평양(뭄바이) |
ap-southeast-1 |
아시아 태평양(싱가포르) |
ap-southeast-2 |
아시아 태평양(시드니) |
ap-southeast-3 |
아시아 태평양(자카르타) |
ca-central-1 |
캐나다(중부) |
cn-north-1 |
중국(베이징) |
cn-northwest-2 |
중국(닝샤) |
me-south-1 |
중동(바레인) |
eu-central-1 |
유럽(프랑크푸르트) |
eu-west-1 |
유럽(아일랜드) |
eu-west-2 |
유럽(런던) |
eu-west-3 |
EU(파리) |
eu-south-1 |
유럽(밀라노) |
af-south-1 |
아프리카(케이프타운) |
eu-north-1 |
유럽(스톡홀름) |
sa-east-1 |
남아메리카(상파울루) |
us-gov-west-1 |
AWS GovCloud(미국 서부) |
us-gov-east-1 |
AWS GovCloud(미국 동부) |
다음은 info
commandstats에서 파생된 몇 가지 유형의 명령 모음입니다. commandstats 섹션에서는 호출 수, 이러한 명령에 의해 소비된 총 CPU 시간, 명령 실행당 소비된 평균 CPU 등을 포함한 명령 유형에 따른 통계를 제공합니다. 각 명령 유형에 다음 행이 추가됩니다. cmdstat_XXX: calls=XXX,usec=XXX,usec_per_call=XXX
다음에 나열된 대기 시간 지표는 Redis INFOdelta(usec)/delta(calls)
방식으로 계산됩니다. delta
는 1분 이내의 차이로 계산됩니다. 대기 시간은 ElastiCache에서 명령을 처리하는 데 걸리는 CPU 시간으로 정의됩니다. 데이터 계층화를 사용하는 클러스터의 경우 SSD에서 항목을 가져오는 데 걸리는 시간은 이러한 측정에 포함되지 않습니다.
사용 가능한 명령의 전체 목록은 Redis 설명서의 redis 명령
지표 | 설명 | Unit |
---|---|---|
ClusterBasedCmds |
클러스트 기반 명령 총 수입니다. 이 지표는 클러스터(commandstats , cluster slot , 등)를 기반으로 실행되는 모든 명령을 합산하여 Redis cluster info 통계에서 파생됩니다. |
개수 |
ClusterBasedCmdsLatency |
클러스터 기반 명령의 대기 시간입니다. | 마이크로초 |
EvalBasedCmds |
EVAL 기반 명령의 총 명령 수. 이 수는 eval, evalsha를 합산하여 Redis commandstats 통계에서 나왔습니다. |
개수 |
EvalBasedCmdsLatency |
eval 기반 명령의 대기 시간입니다. | 마이크로초 |
GeoSpatialBasedCmds |
geospatial 기반 명령의 총 명령 수입니다. 이 수는 Redis commandstats 통계 자료에서 나왔습니다. 이 수는 모든 geo 유형의 명령(geoadd, geodist, geohash, geopos, georadius 및 georadiusbymember)을 합산하여 계산됩니다. |
개수 |
GeoSpatialBasedCmdsLatency |
geospatial 기반 명령의 대기 시간입니다. | 마이크로초 |
GetTypeCmds |
read-only 유형 명령의 총 건수. 이 수는 read-only 유형의 모든 명령(get, hget, scard, lrange 등)을 합산하여 commandstats 통계에서 나왔습니다. |
개수 |
GetTypeCmdsLatency |
읽기 명령의 지연 시간. | 마이크로초 |
HashBasedCmds |
해시 기반 명령 총 수. 이 지표는 1개 이상의 해시(hget, hkeys, hvals, hdel 등)를 기반으로 실행되는 모든 명령을 합산하여 Redis commandstats 통계에서 파생됩니다. |
개수 |
HashBasedCmdsLatency |
해시 기반 명령의 지연 시간. | 마이크로초 |
HyperLogLogBasedCmds |
HyperLogLog 기반 명령 총 건수. 이 수는 pf 유형의 모든 명령(pfadd, pfcount, pfmerge 등)을 합산하여 commandstats 통계에서 나왔습니다. |
개수 |
HyperLogLogBasedCmdsLatency |
HyperLogLog 기반 명령의 대기 시간입니다. | 마이크로초 |
JsonBasedCmds |
JSON 기반 명령 총 수입니다. 이 지표는 1개 이상의 JSON 문서 객체를 기반으로 실행되는 모든 명령을 합산하여 Redis commandstats 통계에서 파생됩니다. |
개수 |
JsonBasedCmdsLatency |
하나 이상의 JSON 문서 객체를 기반으로 실행되는 모든 명령의 Delta[Usec]/Delta[Calls] 로 계산된 총 대기 시간(서버측 CPU 시간)을 표시합니다. |
마이크로초 |
KeyBasedCmds |
키 기반 명령 총 수. 이 수는 여러 데이터 구조(del, expire, rename 등) 상에서 1개 이상의 키에서 작동하는 모든 명령을 합산하여 Redis commandstats 통계에서 나왔습니다. |
개수 |
KeyBasedCmdsLatency |
키 기반 명령의 지연 시간. | 마이크로초 |
ListBasedCmds |
목록 기반 명령 총 수. 이 지표는 1개 이상의 목록(lindex, lrange, lpush, ltrim 등)을 기반으로 실행되는 모든 명령을 합산하여 Redis commandstats 통계에서 파생됩니다. |
개수 |
ListBasedCmdsLatency |
목록 기반 명령의 지연 시간. | 마이크로초 |
PubSubBasedCmds |
pub/sub 기능의 명령 총 수. 이 수는 Pub/sub 기능에 사용되는 모든 명령(psubscribe, publish, pubsub, punsubscribe, subscribe 및 unsubscribe)을 합산하여 Redis commandstats 통계에서 나왔습니다. |
개수 |
PubSubBasedCmdsLatency |
pub/sub 기반 명령의 대기 시간입니다. | 마이크로초 |
SetBasedCmds |
집합 기반 명령 총 수. 이 지표는 1개 이상의 집합(scard, sdiff, sadd, sunion 등)을 기반으로 실행되는 모든 명령을 합산하여 Redis commandstats 통계에서 파생됩니다. |
개수 |
SetBasedCmdsLatency |
집합 기반 명령의 지연 시간. | 마이크로초 |
SetTypeCmds |
write 유형의 총 명령 건수. 이 수는 데이터(set, hset, sadd, lpop 등)에서 작동하는 모든 mutative 유형의 명령을 합산하여 Redis commandstats 통계에서 나왔습니다. |
개수 |
SetTypeCmdsLatency |
쓰기 명령의 지연 시간. | 마이크로초 |
SortedSetBasedCmds |
정렬된 집합 기반 명령 총 수. 이 지표는 1개 이상의 정렬된 집합(zcount, zrange, zrank, zadd 등)을 기반으로 실행되는 모든 명령을 합산하여 Redis commandstats 통계에서 파생됩니다. |
개수 |
SortedSetBasedCmdsLatency |
정렬 기반 명령의 지연 시간. | 마이크로초 |
StringBasedCmds |
문자열 기반 명령 총 수. 이 지표는 1개 이상의 문자열(strlen, setex, setrange 등)을 기반으로 실행되는 모든 명령을 합산하여 Redis commandstats 통계에서 파생됩니다. |
개수 |
StringBasedCmdsLatency |
문자열 기반 명령 지연 시간 | 마이크로초 |
StreamBasedCmds |
총 스트림 기반 명령 수. 이 지표는 1개 이상의 스트림 데이터 형식(xrange, xlen, xadd, xdel 등)을 기반으로 실행되는 모든 명령을 합산하여 Redis commandstats 통계에서 파생됩니다. |
개수 |
StreamBasedCmdsLatency |
스트림 기반 명령의 지연 시간. | 마이크로초 |