Share via


Azure Database for MySQL - 유연한 서버 모니터링

적용 대상: Azure Database for MySQL - 유연한 서버

Azure Database for MySQL 유연한 서버는 Azure Monitor를 통해 서버 모니터링을 제공합니다. 서버에 대한 데이터를 모니터링하면 워크로드에 대한 문제를 해결하고 최적화할 수 있습니다.

이 문서에서는 서버의 동작에 대한 인사이트를 제공하는 유연한 서버에 사용할 수 있는 다양한 메트릭 및 서버 로그에 대해 알아봅니다.

참고 항목

이 문서에는 Microsoft에서 더 이상 사용하지 않는 용어인 슬레이브라는 용어에 대한 참조가 포함되어 있습니다. 소프트웨어에서 용어가 제거되면 이 문서에서 해당 용어가 제거됩니다.

메트릭

메트릭은 특정 시간에 서버 내 리소스의 일부 측면을 설명하는 숫자 값입니다. 서버 리소스를 모니터링하면 사용자에게 가장 중요한 것을 모니터링할 수 있도록 지원함으로써 워크로드의 문제를 해결하고 최적화하는 데 도움이 됩니다. 올바른 메트릭을 모니터링하면 서버 및 애플리케이션의 성능, 안정성 및 가용성을 유지하는 데 도움이 됩니다.

Azure Database for MySQL 유연한 서버는 다양한 메트릭을 제공하여 워크로드의 성능을 파악하고, 사용자는 해당 데이터를 기반으로 서버 및 애플리케이션에 미치는 영향을 확인할 수 있습니다.

모든 Azure 메트릭의 빈도는 1분이고 각 메트릭은 30일의 기록을 제공합니다. 메트릭에 대한 경고를 구성할 수 있습니다. 단계별 지침은 경고 설정 방법을 참조하세요. 다른 작업에는 자동화된 작업 설정, 고급 분석 수행 및 기록 보관이 포함됩니다. 자세한 내용은 Azure 메트릭 개요를 참조하세요.

메트릭 문제 해결

경우에 따라 Azure 메트릭 탐색기에서 차트 만들기, 사용자 지정 또는 해석에 문제가 발생할 수 있습니다. 차트에 데이터가 표시되지 않는 상황은 다양한 요인으로 인해 발생할 수 있습니다. 여기에는 Microsoft Insights 리소스 공급자가 구독에 등록되어 있지 않거나 Azure Database for MySQL - 유연한 서버에 대한 적절한 액세스 권한이 없는 경우 등이 포함될 수 있습니다. 그 밖의 가능한 요인으로는 리소스가 선택한 기간 내에 메트릭을 생성하지 않았거나 선택한 기간 범위가 30일을 초과하는 상황을 들 수 있습니다.

다음과 같은 몇 가지 이유로 인해 이 동작이 발생할 수 있습니다.

  • Microsoft.Insights 리소스 공급자가 지원되지 않음: 메트릭을 살펴보려면 Microsoft.Insights 리소스 공급자가 구독에 등록되어 있어야 합니다. Azure 리소스 공급자 및 유형에 설명된 단계에 따라 서버를 수동으로 등록합니다.
  • 리소스에 대한 액세스 권한이 부족함: 메트릭을 탐색하는 Azure Database for MySQL - 유연한 서버에’대한 충분한 권한이 있는지 확인합니다. 선택한 시간 범위 동안 리소스가 메트릭을 내보내지 않음: 차트의 시간을 더 넓은 범위로 변경합니다. Azure에서 Azure RBAC(역할 기반 액세스 제어)는 메트릭에 대한 액세스를 제어합니다. 리소스의 메트릭을 탐색하려면 모니터링 읽기 권한자, 모니터링 기여자 또는 기여자의 구성원이어야 합니다.
  • 선택한 시간 범위 동안 리소스가 메트릭을 내보내지 않음: 이는 여러 가지 이유 때문일 수 있습니다. 한 가지 가능한 요인으로는 리소스가 선택한 시간 프레임 내에 메트릭을 생성하지 않았을 수 있습니다. 차트의 시간을 더 넓은 범위로 변경하여 문제가 해결되었는지 확인합니다. 이 문제 해결에 대한 자세한 내용은 Azure Monitor 메트릭 문제 해결 가이드를 참조하세요.
  • 시간 범위가 30일을 초과함: 시간 선택의 시작 날짜와 종료 날짜 간의 차이가 30일 간격을 초과하지 않는지 확인합니다. 메트릭 문제 해결에 대한 자세한 내용은 Azure Monitor 메트릭 문제 해결 가이드를 참조하세요.
  • 파선 표시: Azure Monitor에서 파선이 있으면 알려진 시간 조직 데이터의 두 지점 사이의 데이터 간격, 즉 "null 값"이 표시됩니다. 이는 누락된 데이터 요소를 검색하는 데 도움이 되는 의도적인 디자인입니다. 차트에 파선이 표시되면 데이터가 누락되었음을 나타내며 자세한 내용은 설명서를 참조하면 됩니다.

메트릭 문제 해결에 대한 자세한 내용은 Azure Monitor 메트릭 문제 해결 가이드를 참조하세요.

참고 항목

사용되지 않는 것으로 표시된 메트릭은 Azure Portal에서 제거되도록 예약됩니다. Azure Database for MySQL 유연한 서버를 모니터링하기 위해 이러한 메트릭은 무시하는 것이 좋습니다.

메트릭 목록

다음 메트릭은 Azure Database for MySQL 유연한 서버에 사용할 수 있습니다.

메트릭 표시 이름 메트릭 단위 설명
MySQL 작동 시간 작동 시간 이 메트릭은 MySQL 서버가 실행된 시간을 나타냅니다.
호스트 CPU 백분율 cpu_percent 퍼센트 호스트 CPU 백분율은 선택한 기간 동안 서버의 모든 작업을 처리하기 위한 CPU의 총 사용률입니다. 이 메트릭에는 Azure Database for MySQL - 유연한 서버 인스턴스 및 Azure MySQL 프로세스의 워크로드가 포함됩니다. CPU 백분율이 높으면 데이터베이스 서버에 처리할 수 있는 것보다 많은 워크로드가 있는지 확인하는 데 도움이 될 수 있습니다. 이 메트릭은 모든 가상 머신의 CPU 사용률과 유사한 총 CPU 사용률과 동일합니다.
사용된 CPU 크레딧 cpu_credits_consumed Count 버스트 가능 계층 전용입니다. CPU 크레딧은 워크로드를 기반으로 계산됩니다. 자세한 내용은 B 시리즈 버스트 가능 가상 머신 크기를 참조하세요.
CPU 크레딧 남음 cpu_credits_remaining Count 버스트 가능 계층 전용입니다. 남은 CPU는 워크로드를 기반으로 계산됩니다. 자세한 내용은 B 시리즈 버스트 가능 가상 머신 크기를 참조하세요.
호스트 네트워크 입력 network_bytes_ingress 바이트 선택한 기간 동안 서버에서 들어오는 네트워크 트래픽의 총 합계입니다. 이 메트릭에는 데이터베이스로의 트래픽과 모니터링, 로그 등과 같은 Azure Database for MySQL 유연한 서버 기능으로의 트래픽이 포함됩니다.
호스트 네트워크 출력 network_bytes_egress 바이트 선택한 기간 동안 서버에서 나가는 네트워크 트래픽의 총합입니다. 이 메트릭에는 데이터베이스의 트래픽과 모니터링, 로그 등과 같은 Azure Database for MySQL 유연한 서버 기능의 트래픽이 포함됩니다.
활성 연결 active_connection Count 서버에 대한 활성 연결 수 활성 연결은 서버에 연결된 총 스레드 수이며 여기에는 azure_superuser의 스레드도 포함됩니다.
스토리지 IO 백분율 io_consumption_percent 퍼센트 선택한 기간 동안 사용 중인 IO의 백분율입니다. IO 백분율은 읽기 및 쓰기 IOPS 모두에 대한 것입니다.
스토리지 IO 수 storage_io_count Count 분당 서버에서 사용하는 총 I/O 작업 수(읽기 및 쓰기 모두)입니다.
메모리 백분율 memory_percent 퍼센트 이 메트릭은 Azure MySQL(mysqld) 서버 프로세스에서 차지하는 메모리의 비율을 나타냅니다. 이 메트릭은 Azure Database for MySQL 유연한 서버에서 사용할 수 있는 총 메모리 크기(GB)에서 계산됩니다.
총 연결 total_connections Count Azure Database for MySQL 유연한 서버 인스턴스에 대한 클라이언트 연결 수입니다. 총 연결 수는 선택한 기간 동안 TCP/IP 프로토콜을 사용하는 클라이언트의 연결 합계입니다.
중단된 연결 aborted_connections Count Azure Database for MySQL 유연한 서버 인스턴스에 연결하지 못한 총 시도 횟수(예: 잘못된 자격 증명으로 인해 연결 실패)입니다. 중단된 연결에 대한 자세한 내용은 이 설명서를 참조하세요.
쿼리 쿼리 Count 서버에서 분당 실행된 총 쿼리 수입니다. 데이터베이스 워크로드 및 Azure MySQL 프로세스에서 서버에 대한 분당 총 쿼리 수입니다.
Slow_queries slow_queries Count 선택한 시간 범위에서 서버에 대한 느린 쿼리의 총 수입니다.
Active Transactions active_transactions Count 이 메트릭은 현재 MySQL 내에서 실행 중인 총 트랜잭션 수를 나타냅니다. 활성 트랜잭션에는 시작되었지만 아직 커밋되거나 롤백되지 않은 모든 트랜잭션이 포함됩니다.

스토리지 분석 메트릭

메트릭 표시 이름 메트릭 단위 설명
스토리지 제한 storage_limit 바이트 이 서버에 대해 구성된 최대 스토리지 크기입니다.
스토리지 비율 storage_percent 퍼센트 사용 가능한 서버의 최대 스토리지에서 사용된 스토리지의 비율입니다.
사용한 스토리지 storage_used 바이트 사용 중인 스토리지의 양 서비스에서 사용되는 스토리지에는 데이터베이스 파일, 트랜잭션 로그 및 서버 로그가 포함될 수 있습니다.
사용된 데이터 스토리지 data_storage_used 바이트 데이터베이스 파일을 저장하는 데 사용된 스토리지 양입니다.
사용된 ibdata1 스토리지 ibdata1_storage_used 바이트 시스템 테이블스페이스(ibdata1) 파일을 저장하는 데 사용된 스토리지 양입니다.
사용된 Binlog 스토리지 binlog_storage_used 바이트 이진 로그 파일을 저장하는 데 사용된 스토리지 양입니다.
사용된 기타 스토리지 other_storage_used 바이트 다른 구성 요소 및 메타데이터 파일에 사용되는 스토리지 양입니다.
사용된 백업 스토리지 backup_storage_used 바이트 사용된 백업 스토리지 양.

복제 메트릭

메트릭 표시 이름 메트릭 단위 설명
복제 지연 replication_lag 복제 지연은 원본 서버에서 받은 트랜잭션을 재생할 때 복제본이 지연되는 시간(초)입니다. 이 메트릭은 "SHOW SLAVE STATUS" 명령의 "Seconds_behind_Master"에서 계산되며 복제본 서버에서만 사용할 수 있습니다. 자세한 내용은 "복제 대기 시간 모니터링"을 참조하세요.
복제본 IO 상태 replica_io_running State(상태) 복제본 IO 상태는 복제 I/O 스레드의 상태를 나타냅니다. I/O 스레드가 실행 중인 경우 메트릭 값은 1이고 그렇지 않으면 0입니다.
복제본 SQL 상태 replica_sql_running State(상태) 복제본 SQL 상태는 복제 SQL 스레드의 상태를 나타냅니다. SQL 스레드가 실행 중인 경우 메트릭 값은 1이고 그렇지 않으면 0입니다.
HA IO 상태 ha_io_running State(상태) HA IO 상태는 HA 복제 상태를 나타냅니다. I/O 스레드가 실행 중인 경우 메트릭 값은 1이고 그렇지 않으면 0입니다.
HA SQL 상태 ha_sql_running State(상태) HA SQL 상태는 HA 복제 상태를 나타냅니다. SQL 스레드가 실행 중인 경우 메트릭 값은 1이고 그렇지 않으면 0입니다.
HA 복제 지연 ha_replication_lag HA 복제 지연은 원본 서버에서 받은 트랜잭션을 재생할 때 HA 대기 서버가 지연되는 시간(초)입니다. 이 메트릭은 "SHOW SLAVE STATUS" 명령의 "Seconds_behind_Master"에서 계산되며 HA 대기 서버에서만 사용할 수 있습니다.

참고 항목

Azure Database for MySQL 유연한 서버의 읽기 복제본의 경우 MySQL 명령 "SHOW SLAVE STATUS" 또는 "SHOW REPLICA STATUS"의 Slave_IO_Running/Replica_IO_Running 값은 "NO"로 표시되며 Azure Database for MySQL 유연한 서버의 복제본 구현은 원본 서버와 통신하기 위한 연결을 설정하는 데 의존하지 않으므로 무시해야 합니다. 읽기 복제본의 I/O 스레드에 대한 실제 상태 모니터링 블레이드 아래 메트릭의 복제본 IO 상태를 참조하세요.

향상된 메트릭

DML 통계

메트릭 표시 이름 메트릭 단위 설명
Com_select Com_select Count 선택한 시간 범위에서 서버에서 실행된 select 문의 총 수입니다.
Com_update Com_update Count 선택한 시간 범위에서 서버에서 실행된 update 문의 총 수입니다.
Com_insert Com_insert Count 선택한 시간 범위에서 서버에서 실행된 insert 문의 총 수입니다.
Com_delete Com_delete Count 선택한 시간 범위에서 서버에서 실행된 delete 문의 총 수입니다.

DDL 통계

메트릭 표시 이름 메트릭 단위 설명
Com_create_db Com_create_db Count 선택한 시간 범위에서 서버에서 실행된 create database 문의 총 수입니다.
Com_drop_db Com_drop_db Count 선택한 시간 범위에서 서버에서 실행된 drop database 문의 총 수입니다.
Com_create_table Com_create_table Count 선택한 시간 범위에서 서버에서 실행된 create table 문의 총 수입니다.
Com_drop_table Com_drop_table Count 선택한 시간 범위에서 서버에서 실행된 drop table 문의 총 수입니다.
Com_Alter Com_Alter Count 선택한 시간 범위에서 서버에서 실행된 alter table 문의 총 수입니다.

Innodb 메트릭

메트릭 표시 이름 메트릭 단위 설명
InnoDB 행 잠금 시간 innodb_row_lock_time 밀리초 InnoDB 행 잠금 시간은 InnoDB 행 수준 잠금에 대한 시간(밀리초)을 측정합니다.
InnoDB 행 잠금 대기 innodb_row_lock_waits Count InnoDB 행 잠금 대기 메트릭은 쿼리가 InnoDB 행 수준 잠금을 기다려야 했던 횟수를 계산합니다.
Innodb_buffer_pool_reads Innodb_buffer_pool_reads Count InnoDB 엔진이 Innodb 버퍼 풀에서 충족할 수 없고 디스크에서 가져와야 했던 논리적 읽기의 총 수입니다.
Innodb_buffer_pool_read_requests Innodb_buffer_pool_read_requests Count Innodb 버퍼 풀에서 읽을 논리적 읽기 요청의 총 수입니다.
Innodb_buffer_pool_pages_free Innodb_buffer_pool_pages_free Count InnoDB 버퍼 풀의 사용 가능한 페이지의 총 수입니다.
Innodb_buffer_pool_pages_data Innodb_buffer_pool_pages_data Count 데이터를 포함하는 InnoDB 버퍼 풀의 총 페이지 수입니다. 이 숫자에는 더티 페이지와 클린 페이지가 모두 포함됩니다.
Innodb_buffer_pool_pages_dirty Innodb_buffer_pool_pages_dirty Count 더티 페이지를 포함하는 InnoDB 버퍼 풀의 총 페이지 수입니다.
MySQL 기록 목록 길이 trx_rseg_history_len Count 이 메트릭은 데이터베이스의 변경 횟수, 특히 이전 변경 내용을 포함하는 레코드 수를 계산합니다. 데이터 변경률과 관련되어 새 행 버전이 만들어집니다. 기록 목록 길이가 증가하면 데이터베이스의 성능에 영향을 줄 수 있습니다.
MySQL 잠금 시간 제한 lock_timeouts Count 이 메트릭은 잠금으로 인해 쿼리 시간이 초과된 횟수를 나타냅니다. 이는 일반적으로 쿼리가 innodb_lock_wait_timeout 설정보다 긴 시간 동안 다른 쿼리가 보유한 행 또는 테이블에 대한 잠금을 기다리는 경우에 발생합니다.
MySQL 잠금 교착 상태 lock_deadlock Count 이 메트릭은 선택한 기간에 Azure Database for MySQL 유연한 서버 인스턴스에서 발생한 교착 상태의 수를 나타냅니다.

서버 로그

Azure Database for MySQL 유연한 서버에서 사용자는 문제 해결 작업을 지원하기 위해 서버 로그를 구성하고 다운로드할 수 있습니다. 이 기능을 사용하도록 설정하면 Azure Database for MySQL 유연한 서버 인스턴스가 선택한 로그 형식의 이벤트 캡처를 시작하고 파일에 씁니다. 그런 다음, Azure Portal 및 Azure CLI를 사용하여 파일을 다운로드하여 작업할 수 있습니다. 서버 로그 기능은 기본적으로 사용하지 않도록 설정되어 있습니다. 서버 로그를 사용하도록 설정하는 방법에 대한 자세한 내용은 Azure Database for MySQL 유연한 서버에 대한 로그를 사용하고 다운로드하는 방법을 참조하세요.

서버 로그는 느린 쿼리 로그오류 로그를 사용하도록 설정하고 다운로드할 수 있도록 지원합니다. 데이터 기록을 분석하려면 Azure Portal에 있는 서버의 진단 설정 창에서 Log Analytics 작업 영역, Azure Storage 또는 이벤트 허브로 로그를 보내는 진단 설정을 추가합니다. 자세한 내용은 진단 설정을 참조하세요.

서버 로그 보존

Azure Database for MySQL 유연한 서버 인스턴스에 대해 로깅을 사용하도록 설정하면 로그를 만든 후 최대 7일까지 사용할 수 있습니다. 사용 가능한 로그의 전체 크기가 7GB를 초과하면 여유 공간이 생길 때까지 가장 오래된 파일이 삭제됩니다. 서버 로그에 대한 7GB 스토리지 제한은 무료로 사용할 수 있으며 확장할 수 없습니다. 로그는 24시간마다 또는 500MB마다 회전됩니다(먼저 해당되는 쪽).

다음 단계