mysql-otel Helm 차트를 사용하여 Kubernetes에서 MySQL 모니터링을 설치하고 구성할 수 있습니다. 선택적으로, 차트는 모니터링 사용자를 생성하는 설정 작업을 실행할 수도 있습니다.
가이드 설치
대신 뉴렐릭 UI를 통해 설치하려면 one.newrelic.com > Integrations & Agents > MySQL (Database 360) (으)로 이동하십시오. 이 페이지는 수동 설치만 다룹니다.
중요
차트는 네트워크를 통해 원격으로 MySQL에 도달하는 Kubernetes 배포로 수집기를 배포합니다. 결과적으로 항상 TCP를 통해 연결되며(Unix-socket 모니터링은 지원되지 않음), MySQL 메트릭만 보고합니다(MySQL이 실행되는 머신에 대한 호스트 또는 인프라 메트릭은 없음). mysql.*을(를) 사용하여 릴리스당 하나의 MySQL 인스턴스를 모니터하며, 단일 릴리스에서 여러 인스턴스를 모니터하려면 대신 mysqlMulti.*을(를) 사용하십시오(아래의 단일 릴리스에서 여러 인스턴스 모니터 참조).
전제 조건
유효한 뉴렐릭 라이선스 키.
MySQL 5.7 이상.
Helm 3.0 이상 및 쿠버네티스 클러스터에 액세스하도록 구성된
kubectl.쿠버네티스 클러스터에서 MySQL 호스트(또는 RDS 엔드포인트) 및 포트로의 네트워크 연결:
- 자체 호스팅: MySQL 호스트로 라우팅되는 경로(VPN, 피어링 또는 공유 네트워크), 호스트명인 경우 DNS 확인이 필요하며, MySQL 측 방화벽은 연결의 실제 소스 IP(파드 IP 자체가 아니라 NAT 게이트웨이일 수 있음)를 허용해야 합니다.
- AWS RDS: VPC 피어링, 트랜짓 게이트웨이 또는 RDS 인스턴스와의 공유 VPC 배치, 그리고 RDS 보안 그룹은 클러스터의 이그레스 소스에서 MySQL 포트(기본값
3306)를 허용해야 합니다.
이미 생성한 모니터링 사용자이거나, 차트의 설정 작업에서 사용자를 생성할 수 있도록 하는 MySQL 관리자 자격 증명입니다. 아래의 모니터링 자격 증명 구성을 참조하십시오.
네임스페이스를 생성하십시오.
설치할 네임스페이스를 생성하십시오. helm install --create-namespace은(는) 최종 설치 단계에서만 네임스페이스를 생성하므로, 다음 단계에서 시크릿을 생성하기 전에 해당 네임스페이스가 존재해야 합니다:
$kubectl create namespace newrelic팁
아래의 모든 명령어에서 -n을(를) 전달할 필요가 없도록 현재 kubectl 컨텍스트의 기본 네임스페이스로 설정하십시오:
$kubectl config set-context --current --namespace=newrelic모니터링 자격 증명 구성
차트의 설정 작업이 MySQL 모니터링 사용자를 생성하도록 할지, 그렇지 않다면 자격 증명을 어떻게 제공할지 결정하십시오:
Helm 값을 설정하십시오.
환경에 맞게 mysql.topology을(를) 설정하십시오:
값 | 설명 |
|---|---|
| 네트워크를 통해 연결되는 자체 호스팅 MySQL. |
| AWS RDS의 MySQL 또는 Aurora. |
이전 단계에서 선택한 자격 증명 방법과 일치하는 values.yaml을(를) 사용하십시오:
매개변수 | 설명 |
|---|---|
| 귀하의 뉴렐릭 라이선스 키입니다. |
| 해당 리전의 OTLP/gRPC 엔드포인트, 스킴이 없는 순수 |
| 클러스터에서 도달할 수 있는 MySQL 호스트(또는 RDS 엔드포인트) 및 포트입니다. |
| 선택 사항입니다. 모니터링을 하나의 데이터베이스로 제한하십시오. 모든 데이터베이스를 모니터하려면 비워 두십시오. |
| 선택 사항입니다. 차트는 |
| 설정 작업에서 사용되는 |
| 선택 사항입니다. 또한 대기 시간 데이터에 필요한 |
팁
mysql.collectionInterval, mysql.explainMode, statementEvents/querySampleCollection/topQueryCollection 블록 및 additionalReceiverConfig 이스케이프 해치를 포함하여 사용 가능한 모든 설정 옵션은 차트의 values.yaml을 참조하십시오.
(선택 사항) 하나의 릴리스에서 여러 인스턴스 모니터
mysql.* 대신, 단일 릴리스의 단일 수집기 파드에서 여러 MySQL 인스턴스(자체 호스팅 또는 RDS)를 모니터하도록 mysqlMulti.enabled: true을(를) 설정하십시오. 두 모드는 상호 배타적입니다. 동일한 릴리스에서 mysql.server 및 mysqlMulti.enabled: true을(를) 설정하지 마십시오.
다중 인스턴스 모드에는 일반 사용자 이름/비밀번호 경로가 없습니다: 모든 인스턴스에는 모니터링 자격 증명이 있는 자체 Kubernetes 시크릿이 필요합니다. 설정 작업에서 각 모니터링 사용자를 생성하도록 할지 여부도 결정하십시오:
매개변수 | 설명 |
|---|---|
|
|
|
|
| 모니터할 인스턴스 목록입니다. 각 항목에는 고유한 |
팁
스크랩 설정(수집 간격, TLS, 명령문 이벤트, 쿼리 샘플 수집, 상위 쿼리 수집)은 mysqlMulti.databases의 모든 인스턴스에 동일하게 적용됩니다. 인스턴스별 재정의는 없습니다. 달라야 하는 항목에는 additionalReceiverConfig을(를) 사용하십시오. 설정 작업은 릴리스당 한 번이 아니라 인스턴스(<release>-setup-<name>)당 한 번 실행됩니다.
Helm 차트를 설치하세요
뉴클릭 Helm 다음을 추가하세요.
bash$helm repo add newrelic https://helm-charts.newrelic.com$helm repo updatevalues.yaml파일을 사용하여 차트를 설치하십시오:bash$helm upgrade --install mysql-otel newrelic/mysql-otel \>-n newrelic \>--create-namespace \>-f values.yaml
설치를 확인하십시오
설정 작업이 완료되었고(활성화된 경우) 수집기 파드가 실행 중인지 확인하십시오:
bash$kubectl get jobs,pods -n newrelic --watch데이터가 수신되는지 확인하려면 쿼리 빌더에서 이 쿼리를 실행하십시오:
SELECT count(*) FROM MetricWHERE metricName LIKE 'mysql.%'AND instrumentation.provider = 'opentelemetry'SINCE 10 minutes ago
데이터 찾기 및 사용
데이터가 수집되면 뉴렐릭 UI를 통해 포괄적인 MySQL 데이터베이스 모니터링에 액세스할 수 있습니다.
뉴렐릭에서 MySQL 데이터베이스 엔티티를 찾으려면 다음을 수행하십시오:
- one.newrelic.com > All capabilities > Databases 으)로 이동합니다.
- Entity type 드롭다운 메뉴에서 MySQL instance을(를) 선택한 다음 Apply을(를) 클릭합니다.
- 엔티티 목록에서 MySQL 데이터베이스를 선택하십시오.