웹사이트 검색

Grafana 대시보드로 MySQL 서버 활동을 모니터링하는 방법


Grafana는 그래픽 대시보드에서 메트릭을 시각화할 수 있는 인기 있는 오픈 소스 관찰 솔루션입니다. Grafana에는 시계열 데이터베이스, 검색 엔진 및 개별 애플리케이션을 포함하여 다양한 데이터 소스를 선택할 수 있는 커넥터가 있습니다. 이 기사에서는 Grafana를 사용하여 공식 Grafana Cloud 통합을 사용하여 MySQL 데이터베이스 서버에 대한 간단한 모니터링을 설정하는 방법을 배웁니다.

시작하기

Grafana는 자체 하드웨어에서 자체 호스팅하거나 Grafana Cloud라는 관리형 SaaS 플랫폼으로 사용할 수 있습니다. 이 자습서에서는 데이터 원본에 연결하고 가장 일반적인 지표에 대해 사전 구축된 대시보드 레이아웃을 제공하는 빠른 시작 통합을 지원하기 때문에 Grafana Cloud를 사용하고 있습니다.

시작하려면 Grafana 계정에 로그인하세요. 새로운 Grafana Cloud 계정을 무료로 생성하여 최대 10,000개의 지표 시리즈와 50GB의 로그를 저장할 수 있습니다.

MySQL 통합 추가

왼쪽 사이드바의 번개 아이콘에서 액세스하는 통합 및 연결 페이지로 이동하여 계정에 MySQL 통합을 추가할 수 있습니다. 화면 상단의 검색창에 mysql을 입력합니다.

MySQL이라는 두 개의 결과가 표시되어야 합니다. 통합으로 표시된 것을 선택하십시오. 통합에는 간소화된 구성 환경과 주요 서버 통계를 모니터링하기 위한 사전 구축된 대시보드 레이아웃이 포함됩니다. 대체 옵션인 데이터 원본을 사용하려면 수동으로 서버에 연결하고 메트릭을 추출하고 대시보드를 조합해야 합니다.

다음 화면에서는 MySQL 서버를 호스팅하는 시스템의 운영 체제와 프로세서 아키텍처를 선택하라는 메시지가 표시됩니다. 시스템에 맞게 드롭다운 메뉴 옵션을 조정합니다. 적절한 Grafana 에이전트 설치 지침을 보려면 파란색 통합 설치 버튼을 누르십시오.

Grafana 에이전트 설치

Grafana 에이전트는 시스템에서 메트릭을 수집하기 위해 시스템 서비스로 실행되는 유틸리티입니다. 대시보드에 표시될 Grafana 계정으로 데이터를 전송합니다. 에이전트는 Prometheus 데이터 수집기의 축소 버전입니다.

MySQL 통합 화면에 표시된 스크립트를 실행하면 Grafana Agent를 다운로드하고 Grafana Cloud 계정으로 구성하고 MySQL 모니터링을 설정합니다. 기본 설정을 사용하는 경우 60초마다 데이터가 수집됩니다.

표시된 스크립트를 복사하여 MySQL 데이터베이스를 호스팅하는 서버에서 실행합니다. 스크립트가 바이너리를 다운로드하고 구성 파일을 검색할 때 몇 줄의 출력이 표시됩니다.

계속하기 전에 Grafana 에이전트 서비스가 성공적으로 시작되었는지 확인하십시오.

$ sudo systemctl status grafana-agent.service
● grafana-agent.service - Monitoring system and forwarder
     Loaded: loaded (/lib/systemd/system/grafana-agent.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-08-13 17:39:03 UTC; 39s ago
       Docs: https://grafana.com/docs/agent/latest/

Grafana Cloud 계정에서 테스트 통합 버튼을 눌러 모든 것이 사용할 준비가 되었는지 확인하세요. 에이전트는 Grafana에 데이터를 공급해야 합니다.

이제 대시보드 보기를 눌러 통합에 포함된 시각화와 상호 작용을 시작할 수 있습니다.

대시보드 탐색

MySQL 통합은 MySQL 개요 및 MySQL 로그라는 두 개의 대시보드와 함께 제공됩니다. 개요 대시보드는 가동 시간, 초당 쿼리, 활성 연결, 쿼리, 정렬 및 네트워크 활동을 포함하여 MySQL 서버 작업의 모든 측면을 다루는 그래프를 제공합니다. 이러한 메트릭을 활용하여 MySQL 성능을 조사하고 최적화 기회를 식별할 수 있습니다.

로그 보기는 MySQL 서버 인스턴스에서 작성한 로그 파일의 피드를 제공합니다. 통합은 /var/log/mysql 디렉터리 내에서 로그를 자동으로 수집합니다. 대시보드에는 기록된 로그 줄 수의 그래프가 포함되며 심각도 수준 및 오류 코드로 분류됩니다.

오른쪽 상단의 설정 아이콘을 클릭하고 편집 가능 버튼을 눌러 대시보드를 사용자 정의할 수 있습니다. 이렇게 하면 설정 화면의 다른 컨트롤을 사용하여 대시보드 구성을 변경할 수 있습니다. 또한 대시보드에 표시된 그래픽 패널을 추가하고 편집할 수 있습니다.

Grafana 에이전트 MySQL 서버 인증

직면할 수 있는 문제 중 하나는 Grafana 에이전트가 데이터베이스에 액세스하는 데 사용하는 MySQL 사용자 계정과 관련이 있습니다. 에이전트는 기본적으로 root를 사용하도록 구성됩니다. 서버에서 MySQL 루트 로그인이 비활성화되어 있거나 특정 데이터베이스에 대한 루트 연결을 차단한 경우에는 작동하지 않습니다.

Grafana 전용 MySQL 사용자를 생성하여 보안을 개선하고 제어권을 되찾을 수 있습니다. MySQL 셸에서 다음 명령을 실행하여 사용자와 암호를 추가한 다음 데이터에 액세스할 수 있는 권한을 부여합니다.

> CREATE USER 'grafana'@'localhost' IDENTIFIED BY '<your-password>';
> GRANT ALL PRIVILEGES ON *.* TO 'grafana'@'localhost';
> FLUSH PRIVILEGES;

*.*에 대한 권한 부여를 통해 사용자는 모든 스키마에서 서버의 모든 테이블에 액세스할 수 있습니다. GRANT 문을 변경하여 Grafana의 권한을 제한하거나 특정 스키마 및 테이블에 대한 상호 작용을 제한할 수 있습니다. 그러나 통합은 MySQL 시스템 테이블을 포함하는 상승된 권한에서 가장 잘 작동합니다. 이를 통해 가장 포괄적인 메트릭 선택을 수집할 수 있습니다.

사용자를 생성한 후 Grafana 에이전트 구성 파일을 편집하여 자격 증명으로 인증합니다. /etc/grafana-agent.yaml에서 찾을 수 있습니다. 다음 섹션을 찾습니다.

integrations:
  mysqld_exporter:
    data_source_name: root@(localhost:3306)/

data_source_name 필드는 MySQL 서버 주소와 사용자 자격 증명을 정의합니다. 새 계정을 참조하도록 수정하십시오.

data_source_name: grafana:<your-password>@(localhost:3306)/

변경 사항을 적용하려면 Grafana Agent 서비스를 다시 시작하십시오.

$ sudo service grafana-agent restart

요약

Grafana의 내장 MySQL 통합은 데이터베이스 서버의 성능을 모니터링하는 편리한 방법을 제공합니다. 포함된 대시보드 레이아웃은 오류 로그를 집계하고 일반적으로 측정되는 모든 메트릭을 그래프로 표시하여 리소스 사용률 및 쿼리 활동을 지속적으로 파악합니다.

이 데이터를 정기적으로 모니터링하면 새로운 성능 추세를 파악하고 문제가 되기 전에 이상 현상을 해결하는 데 도움이 될 수 있습니다. 이러한 지표를 수동으로 기록하고 검색하는 것은 번거로운 반면 Grafana 대시보드는 한 화면에서 모든 것을 제공하여 효율적인 분석을 용이하게 합니다.


판권 소유. © Linux-Console.net • 2019-2024