주요 개념
카카오클라우드의 Monitoring 서비스는 컴퓨팅 리소스의 상태를 모니터링하여 이벤트 발생 시 알림 기능으로 빠른 이슈 확인과 대처를 지원합니다. 사용자는 대시보드에서 웹 환경의 주요 리소스에 대한 실시간 모니터링이 가능하며, 메트릭 및 로그 정책을 설정하여 체계적인 모니터링 시스템을 구성할 수 있습니다. Monitoring 서비스를 통해 사용자의 리소스를 유연하고 효율적으로 관리할 수 있으며, 관리에 필요한 리소스를 최소화할 수 있습니다.
24년 8월 27일, Monitoring 콘솔 내 서비스 명, 서비스 유형, 메트릭 명이 Redis에서 MemStore로 변경되었습니다.
기존 Redis에서 제공하던 모니터링, 탐색기, MetricExport는 9월 27일까지만 제공됩니다. 자세한 내용은 공지사항을 참고하시기 바랍니다.
Monitoring 서비스 시스템 아키텍처
Monitoring 서비스는 사용자가 자원 운영 관리에 필요한 여러 정책을 설정하여 원하는 데이터를 수집할 수 있도록 구성되어 있습니다. 미리 등록된 정책에 따라 장애가 발생할 시, 알림을 통해 모니터링 이력을 조회하며 장애를 빠르게 확인할 수 있습니다.
모니터링 서비스 아키텍처
Monitoring 주요 개념
대시보드
모니터링 서비스에서 대시보드를 이용하여 주요 리소스에 대한 실시간 모니터링이 가능합니다. 제공되는 대시보드 유형은 아래와 같습니다.
유형 | 설명 |
---|---|
기본 대시보드 | 카카오클라우드에서 기본 제공하는 대시보드로 별도의 설정 없이 바로 사용 중인 리소스의 메트릭 조회 - 기본 대시보드는 사용자의 임의 수정이 불가능하며 제공되는 메트릭의 조회만 가능 |
커스텀 대시보드 | 사용자가 직접 대시보드를 생성하고 대시보드 내에 원하는 서비스의 메트릭 차트를 추가하여 관리할 수 있는 대시보드 - 모니터링 지원 메트릭은 모니터링 메트릭 참고 |
카카오클라우드 모니터링 에이전트를 설치해야 메트릭을 확인할 수 있습니다.
설치 방법은 에이전트 설치하기를 참고하시기 바랍니다.
모니터링 지원 서비스
- kr-central-1
- kr-central-2
구분 | 서비스 상세 |
---|---|
모니터링 지원 서비스 | - Beyond Compute Service ㄴ Virtual Machine ㄴ Bare Metal Server ㄴ GPU - Kubernetes Engine(기본) - MySQL - MemStore - Load Balancing |
구분 | 서비스 상세 |
---|---|
모니터링 지원 서비스 | - Beyond Compute Service ㄴ Virtual Machine ㄴ Bare Metal Server ㄴ GPU - Kubernetes Engine(기본) - MySQL - MemStore - Load Balancing |
모니터링 메트릭
주요 BCS 메트릭
- kr-central-1 & 2 공통
- kr-central-2
mem_buffered
, mem_cached
, disk_inodes_usage
메트릭은 Linux OS가 설치된 서버에서만 수집 및 제공됩니다.nvidia_smi
메트릭은 GPU가 장착된 서버에서만 수집됩니다.
GPU 인스턴스 NVIDIA 라이브러리 업데이트 시 라이브러리 버전과 CUDA 버전의 호환성을 확인 부탁드립니다.
apt upgrade 등을 통한 업데이트로 버전간 호환이 되지 않는 경우,
사용자가 설치한 모니터링 에이전트에서 Nvidia와 관련된 메트릭을 수집하지 못하는 경우가 발생할 수 있습니다.
메트릭 이름 | 설명 | 단위 |
---|---|---|
cpu_usage | 전체 CPU에 대한 사용량을 측정 | % |
cpu_usage_iowait | CPU 사용률, CPU 상태: iowait | % |
cpu_usage_system | CPU 사용률, CPU 상태: system | % |
cpu_usage_user | CPU 사용률, CPU 상태: user | % |
cpu_usage_per_core | Core 별 CPU의 사용량을 측정 | % |
mem_buffered | 메모리 사용량, 메모리 상태: buffered | bytes(IEC) |
mem_cached | 메모리 사용량, 메모리 상태: cached | bytes(IEC) |
mem_used | 메모리 사용량 | bytes(IEC) |
mem_usage | 메모리 사용률 | % |
disk_used | 디스크 사용량 | bytes(IEC) |
disk_used_percent | 디스크 사용률 | % |
disk_inodes_usage | 디스크 inode 사용률 | % |
disk_read_bytes_persec | 디스크에서 초당 읽은 바이트 크기 | bytes/s(IEC) |
disk_write_bytes_persec | 디스크에서 초당 쓴 바이트 크기 | bytes/s(IEC) |
disk_read_iops | 디스크에서 초당 입력 작업이 완료된 수 | count/s |
disk_write_iops | 디스크에서 초당 출력 작업이 완료된 수 | count/s |
network_rx_bytes_persec | 네트워크 인터페이스에서 받은 초당 바이트 크기 | bytes/s(IEC) |
network_tx_bytes_persec | 네트워크 인터페이스에서 보낸 초당 바이트 크기 | bytes/s(IEC) |
network_rx_packets_persec | 네트워크 인터페이스에서 받은 초당 패킷의 수 | packets/s |
network_tx_packets_persec | 네트워크 인터페이스에서 보낸 초당 패킷의 수 | packets/s |
nvidia_smi_memory_free | GPU 코어별 Free Memory | MiB(IEC) |
nvidia_smi_memory_total | GPU 코어별 Total Memory | MiB(IEC) |
nvidia_smi_memory_used | GPU 코어별 Used Memory | MiB(IEC) |
nvidia_smi_power_draw | GPU 코어별 Power 소비량 | watt |
nvidia_smi_utilization_gpu | GPU 코어별 사용률 | % |
cpu_credit_usage
, cpu_credit_balance
메트릭은 Burstable 옵션이 적용된 t1i 서버에서만 수집됩니다. (* t1i.medium.dns.default 제외)
메트릭 이름 | 설명 | 단위 |
---|---|---|
cpu_credit_usage | CPU 크레딧 사용량 | count |
cpu_credit_balance | CPU 크레딧 잔여량 | count |
주요 MemStore 메트릭
- kr-central-1 & 2 공통
- kr-central-2
메트릭 이름 | 설명 | 단위 |
---|---|---|
memstore_allocator_rss_bytes | RSS 메모리 크기 | bytes(IEC) |
memstore_clients | 연결된 connection 수 | count |
memstore_connected_slaves | 연결된 replica 수 | count |
memstore_evicted_keys | maxmemory 제한으로 인해 제거된 키의 수 | count |
memstore_expired_keys | 만료된 키의 수 | count |
memstore_instantaneous_ops_per_sec | 초당 처리 명령어 | count |
memstore_client_ratio | max client 대비 current client의 비율 | % |
memstore_memory_usage | MemStore 인스턴스에서 사용하는 memory 사용률 | % |
memstore_keyspace_hits | 적중한 키의 수 | count |
memstore_keyspace_misses | 적중에 실패한 키의 수 | count |
memstore_maxclients | 최대로 연결할 수 있는 connection 수 | count |
memstore_maxmemory | 최대 사용 가능 메모리 | bytes(IEC) |
memstore_replication_lag | Replication 지연시간 | s |
memstore_uptime | 기동시간 | s |
memstore_used_memory | MemStore 사용 Memory | bytes(IEC) |
memstore_cmdstat_calls_persec | 초당 명령어 호출 횟수 | count/s |
memstore_keyspace_hitrate_percent | 키 적중률 | % |
memstore_lru_clock | LRU(Least Recently Used) 알고리즘 관리를 위하여 증가하는 시간 값 | count |
memstore_blocked_clients | BLPOP, BRPOP, BRPOPLPUSH, BLMOVE, BZPOPMIN, BZPOPMAX 명령으로 대기중인 클라이언트의 수 | count |
memstore_cluster_connections | 클러스터 버스에서 사용하는 소켓의 추정 개수 | count |
memstore_allocator_active | allocator에서 활성화된 메모리, external-fragmentation을 포함 | bytes(IEC) |
memstore_allocator_allocated | allocator에 할당된 메모리, internal-fragmentation을 포함 | bytes(IEC) |
memstore_allocator_resident | allocator에서 관리중인 resident 메모리, OS에 반환 가능한 메모리를 포함 | bytes(IEC) |
memstore_allocator_frag_bytes | allocator에서 활성화된 메모리와 할 당된 메모리 간의 차이 | bytes(IEC) |
memstore_allocator_frag_ratio | allocator에서 활성화된 메모리와 할당된 메모리 간의 비율 | % |
memstore_allocator_rss_ratio | allocator에서 관리중인 resident 메모리와 활성화된 메모리 간의 비율 | % |
memstore_lazyfree_pending_objects | UNLINK 호출 또는 ASYNC 옵션을 사용하여 FLUSHDB 및 FLUSHALL을 호출한 결과로 해제되기를 기다리고 있는 객체의 수 | count |
memstore_lazyfreed_objects | Lazy Free 프로세스를 통해 해제된 객체의 수 | count |
memstore_mem_fragmentation_bytes | MemStore에서 사용중인 resident 메모리와 할당된 메모리 간의 차이 | bytes(IEC) |
memstore_mem_fragmentation_ratio | MemStore에서 사용중인 resident 메모리와 할당된 메모리 간의 비율 | % |
memstore_mem_not_counted_for_evict | 키 제거를 위한 메모리 계산에서 제외된, 일시적인 레플리카와 AOF 버퍼 등을 통해 발생한 메모리 | bytes(IEC) |
memstore_rss_overhead_bytes | MemStore 프로세스의 resident 메모리와 allocator에서 관리중인 resident 메모리 간의 차이 | bytes(IEC) |
memstore_rss_overhead_ratio | MemStore 프로세스의 resident 메모리와 allocator에서 관리중인 resident 메모리 간의 비율 | % |
memstore_total_system_memory | MemStore가 실행중인 시스템의 메모리 | bytes(IEC) |
memstore_used_memory_dataset | overhead 메모리를 고려하여 실제 데이터 저장에 사용되는 메모리 | bytes(IEC) |
memstore_used_memory_dataset_perc | overhead 메모리를 고려하여 실제 데이터 저장에 사용되는 메모리의 비율 | % |
memstore_used_memory_lua | Lua 엔진이 스크립트를 실행하는 데 사용되는 메모리 | bytes(IEC) |
memstore_used_memory_overhead | 내부 데이터 구조를 관리하는 데 필요한 모든 overhead 메모리 | bytes(IEC) |
memstore_used_memory_peak | MemStore가 사용한 최대 메모리 | bytes(IEC) |
memstore_used_memory_peak_perc | 전체 메모리 사용에 대한 최대 메모리 사용 비율 | % |
memstore_used_memory_rss | 운영 체제에 의해 할당된 메모리 (resident set size) | bytes(IEC) |
memstore_instantaneous_input_kbps | 초당 네트워크에서 읽은 데이터의 속도 | KiB/s(IEC) |
memstore_instantaneous_output_kbps | 초당 네트워크에서 내보낸 데이터의 속도 | KiB/s(IEC) |
memstore_io_threaded_reads_processed | 메인 스레드와 I/O 스레드에서 처리된 읽기 이벤트의 총 수 | count |
memstore_io_threaded_writes_processed | 메인 스레드와 I/O 스레드에서 처리된 쓰기 이벤트의 총 수 | count |
memstore_pubsub_channels | 클라이언트가 subscription 하는 pub/sub 채널 개수 | count |
memstore_pubsub_patterns | 클라이언트가 subscription 하는 pub/sub 패턴 개수 | count |
memstore_total_commands_processed | 서버에서 처리된 처리된 총 명령어의 수 | count |
memstore_total_connections_received | 서버에서 수락한 총 연결 수 | count |
memstore_total_error_replies | 총 오류 응답 수. 거부된 명령어와 실패한 명령어의 합 | count |
memstore_total_net_input_bytes | 총 네트워크 입력 바이트 | bytes(IEC) |
memstore_total_net_output_bytes | 총 네트워크 출력 바이트 | bytes(IEC) |
memstore_total_reads_processed | 총 처리된 읽기 이벤트 수 | count |
memstore_total_writes_processed | 총 처리된 쓰기 이벤트 수 | count |
memstore_used_cpu_sys | 서버 프로세스의 모든 스레드(메인 스레드 및 백그라운드 스레드)에서 사용된 시스템 CPU | count |
memstore_used_cpu_sys_main_thread | 메인 스레드에서 사용된 시스템 CPU | count |
memstore_used_cpu_user | 사용자 프로세스의 모든 스레드(메인 스레드 및 백그라운드 스레드)에서 사용된 사용자 CPU | count |
memstore_used_cpu_user_main_thread | 메인 스레드에서 사용된 사용자 CPU | count |
memstore_cluster_enabled | 클러스터 활성화 여부 | count |
cpu_credit_usage
, cpu_credit_balance
메트릭은 flavor를 t1i로 선택한 클러스터에서만 수집됩니다.
메트릭 이름 | 설명 | 단위 |
---|---|---|
cpu_credit_usage | CPU 크레딧 사용량 | count |
cpu_credit_balance | CPU 크레딧 잔여량 | count |