뉴렐릭 인프라 통합 에는 향상된 Amazon RDS 데이터 수집을 위한 통합이 포함됩니다. 이는 데이터베이스에서 실행되는 운영 시스템에 대한 기본 뉴렐릭 RDS 통합 과 고대 지표를 보완합니다.
특징
이 뉴렐릭 통합을 사용하면 RDS Enhanced 모니터링에 대한 모니터링 및 공지를 할 수 있습니다. 통합 데이터와 사용하여 DB 프로세스를 모니터링하고 잠재적인 문제 지점을 식별할 수 있을 뿐만 아니라 DB를 프로파일링하여 응답과 비용을 개선하고 최적화할 수 있습니다.
향상된 모니터링 활성화
중요
이 통합을 활성화하면 Amazon CloudWatch 계정에 약간의 추가 요금이 발생합니다. 또한 Amazon의 향상된 모니터링 설명서에 설명된 몇 가지 제한 사항과 CPU 지표 데이터 수집 차이가 있습니다.
RDS Enhanced Monitoring을 활성화하기 전에 먼저 New Relic Amazon RDS 모니터링 통합 을 활성화해야 합니다. AWS 서비스를 New Relic에 연결 의 단계를 완료했는지 확인하십시오.
New Relic은 AWS Lambda를 사용하여 RDS 로그를 수집하고 RDS 인스턴스의 거의 실시간 데이터를 제공합니다. 이 기능을 AWS에서 RDS Enhanced Monitoring이라고 합니다.
RDS Enhanced Monitoring 통합을 활성화하려면 다음 단계를 따르십시오.
- RDS 강화 모니터링 활성화가 필요한 RDS 인스턴스를 지정합니다. 인스턴스를 생성하거나 수정할 때 이를 지정할 수 있습니다. Monitoring 아래에서 Enable Enhanced Monitoring Yes 로 설정합니다. 데이터 Granularity 15초로 설정하는 것이 좋습니다.
- 향상된 모니터링이 활성화되면 RDSOSMetrics이라는 스트림이 AWS CloudWatch Logs에 생성됩니다. 이 스트림을 통해 향상된 모니터링 메트릭을 사용할 수 있습니다. 다음 단계에서 람다 함수를 만들고 해당 스트림을 구독하여 데이터를 가져옵니다.
- 서버리스 저장소에서 새 AWS Lambda 함수를 생성합니다. Lambda > Create Function > Browse serverless App repository 으로 이동하여 Show apps that create custom IAM roles or resource policies 상자를 선택한 다음 NewRelic-log-ingestion검색합니다.
- 뉴렐릭 계정 으로 LICENSE_KEY환경 변수를 채웁니다.
- 모든 선택적 매개변수를 검토하고 사용 사례에 따라 조정하십시오.
- Deploy 선택하여 새 CloudFormation 스택, newrelic-log-ingestion이라는 새 함수 및 필수 역할을 생성합니다.
- newrelic-log-ingestion함수로 이동합니다.
- Lambda 함수로 로그를 스트리밍 하는 절차를 계속합니다.
팁
newrelic-log-ingestion 함수에는 AWS에서 권장하는 최소 권한이 포함된 AWSLambdaBasicExecutionRole 정책이 필요합니다. 사용자 지정 IAM 역할 이름은 설치 시 정의할 수 있습니다. 그렇지 않으면 적절한 역할이 생성되어 CAPABILITY_IAM을 승인해야 합니다.
Lambda 함수로 로그 스트리밍
RDSOSMetrics 로그 스트림을 Lambda 함수(JSON 형식)에 연결하려면:
- AWS Console > CloudWatch > Logs 에서 RDSOSMetrics로그 그룹을 선택하고 Actions > Create Lambda subscription filter 적용합니다.
- Lambda function 에 대해 newrelic-log-ingestion선택합니다.
- Log Format 드롭다운 메뉴에서 Log format 로 JSON선택합니다.
- 구독 filter name 을(를) 입력하세요.
- 하단에서 Start streaming 버튼을 클릭하여 Lambda 구독 필터를 저장합니다.
완료되면 Lambda 함수가 RDSOSMetrics 의 모든 로그 줄을 New Relic의 수집 서비스로 보냅니다.
구성 및 폴링
구성 옵션 을 사용하여 폴링 빈도를 변경하고 데이터를 필터링할 수 있습니다.
Amazon RDS Enhanced Monitoring 통합에 대한 기본 폴링 정보:
- New Relic 폴링 간격: - 평균 30초(CloudWatch Logs를 통해 수집)
- AWS Lambda를 설정할 때 구성 가능
 
- Amazon CloudWatch 데이터 간격: 1분 
데이터 찾기 및 사용
통합 데이터를 찾으려면 one.newrelic.com > All capabilities > Infrastructure > AWS 으로 이동하여 RDS > Enhanced monitoring dashboard 링크를 선택하세요.
provider 값이 RdsDbInstance 인 DatastoreSample 이벤트 유형 을 사용 하여 데이터를 쿼리하고 탐색할 수 있습니다.
데이터 사용 방법에 대한 자세한 내용은 통합 데이터 이해 및 사용 을 참조하십시오.
측정항목 데이터
New Relic은 다음과 같은 향상된 RDS 데이터를 수집합니다.
모든 DB 엔진에 대한 메트릭 데이터(MS SQL Server 제외)
| 그룹 | 메트릭 | 설명 | 
|---|---|---|
| 
 | 
 | DB 인스턴스용 데이터베이스 엔진. | 
| 
 | DB 인스턴스 식별자입니다. | |
| 
 | 로그 스트림 식별자로도 사용되는 DB 인스턴스에 대한 지역 고유의 변경할 수 없는 식별자입니다. | |
| 
 | DB 인스턴스의 가상 CPU 수입니다. | |
| 
 | 측정항목을 가져온 시간입니다. | |
| 
 | DB 인스턴스가 활성화된 시간입니다. | |
| 
 | OS 메트릭의 스트림 JSON 형식 버전입니다. | |
| 
 | 
 | 게스트 프로그램에서 사용 중인 CPU의 백분율입니다. | 
| 
 | 유휴 상태인 CPU의 백분율입니다. | |
| 
 | 소프트웨어 인터럽트에서 사용 중인 CPU의 백분율입니다. | |
| 
 | 가장 낮은 우선 순위로 실행되는 프로그램에서 사용 중인 CPU의 백분율입니다. | |
| 
 | 다른 가상 머신에서 사용 중인 CPU의 백분율입니다. | |
| 
 | 커널에서 사용 중인 CPU의 백분율입니다. | |
| 
 | 사용 중인 CPU의 총 백분율입니다. 이 값은 nice 값을 제외합니다. | |
| 
 | 사용자 프로그램에서 사용 중인 CPU의 백분율입니다. | |
| 
 | I/O 액세스를 기다리는 동안 사용되지 않은 CPU의 백분율입니다. | |
| 
 | 
 | I/O 장치의 대기열에서 대기 중인 요청 수입니다. | 
| 
 | 평균 요청 크기(KB)입니다. | |
| 
 | 대기열 시간 및 서비스 시간을 포함하여 요청에 응답하는 데 필요한 시간(밀리초)입니다. | |
| 
 | 사용 중인 디스크 장치의 식별자입니다. | |
| 
 | 초당 읽기 작업 수입니다. | |
| 
 | 읽은 총 킬로바이트 수입니다. | |
| 
 | 초당 읽은 킬로바이트 수입니다. | |
| 
 | 초당 대기열에 있는 병합된 읽기 요청 수입니다. | |
| 
 | 초당 I/O 트랜잭션 수입니다. | |
| 
 | 요청이 발행된 CPU 시간의 백분율입니다. | |
| 
 | 초당 쓰기 작업 수입니다. | |
| 
 | 작성된 총 킬로바이트 수입니다. | |
| 
 | 초당 작성된 킬로바이트 수입니다. | |
| 
 | 초당 대기 중인 병합된 쓰기 요청 수입니다. | |
| 
 | 
 | 파일 시스템에 대해 생성할 수 있는 최대 파일 수입니다. | 
| 
 | 파일 시스템에 사용할 수 있는 총 디스크 공간(KB)입니다. | |
| 
 | 파일 시스템의 파일이 사용하는 디스크 공간의 양(KB)입니다. | |
| 
 | 사용 중인 사용 가능한 파일의 백분율입니다. | |
| 
 | 파일 시스템의 파일 수입니다. | |
| 
 | 사용 중인 파일 시스템 디스크 공간의 백분율입니다. | |
| 
 | 
 | 지난 15분 동안 CPU 시간을 요청하는 프로세스 수입니다. | 
| 
 | 지난 5분 동안 CPU 시간을 요청하는 프로세스 수입니다. | |
| 
 | 마지막 1분 동안 CPU 시간을 요청하는 프로세스의 수입니다. | |
| 
 | 
 | 할당된 메모리의 양(KB)입니다. | 
| 
 | 저장 장치에 쓰기 전에 I/O 요청을 버퍼링하는 데 사용되는 메모리 양(KB)입니다. | |
| 
 | 파일 시스템 기반 I/O 캐싱에 사용되는 메모리 양입니다. | |
| 
 | 수정되었지만 스토리지의 관련 데이터 블록에 기록되지 않은 RAM의 메모리 페이지 양(KB)입니다. | |
| 
 | 할당되지 않은 메모리의 양(KB)입니다. | |
| 
 | 무료 거대한 페이지의 수입니다. 거대한 페이지는 Linux 커널의 기능입니다. | |
| 
 | 커밋된 거대한 페이지의 수입니다. | |
| 
 | 각 방대한 페이지 단위의 크기(KB)입니다. | |
| 
 | 전체에서 사용 가능한 잉여 거대한 페이지 수입니다. | |
| 
 | 시스템의 총 방대한 페이지 수입니다. | |
| 
 | 가장 적게 사용된 메모리 페이지의 양(KB)입니다. | |
| 
 | 프로세스 주소 공간 내부에 매핑된 메모리인 파일 시스템 콘텐츠의 총량(KB)입니다. | |
| 
 | 페이지 테이블에서 사용하는 메모리 양(KB)입니다. | |
| 
 | 재사용 가능한 커널 데이터 구조의 양(KB)입니다. | |
| 
 | 총 메모리 양(KB)입니다. | |
| 
 | 킬로바이트의 양입니다. | |
| 
 | 
 | 초당 수신된 바이트 수입니다. | 
| 
 | 초당 업로드된 바이트 수입니다. | |
| 
 | 
 | 프로세스에서 사용하는 CPU의 백분율입니다. | 
| 
 | 프로세스에 할당된 RAM의 양(KB)입니다. | |
| 
 | 프로세스에서 사용하는 메모리 양(KB)입니다. | |
| 
 | 프로세스의 이름입니다. | |
| 
 | 
 | 캐시 메모리로 사용되는 스왑 메모리의 양(KB)입니다. | 
| 
 | 사용 가능한 총 스왑 메모리 양(KB)입니다. | |
| 
 | 사용 가능한 총 스왑 메모리 양(KB)입니다. | |
| 
 | 
 | 차단된 작업의 수입니다. | 
| 
 | 실행 중인 작업의 수입니다. | |
| 
 | 잠자는 작업의 수입니다. | |
| 
 | 중지된 작업의 수입니다. | |
| 
 | 총 작업 수입니다. | |
| 
 | 활성 상위 작업과 함께 비활성 상태인 하위 작업의 수입니다. | 
MS SQL용 메트릭 데이터
| 그룹 | 메트릭 | 설명 | 
|---|---|---|
| 
 | 
 | 디스크의 총 공간(KB)입니다. | 
| 
 | 디스크에서 사용된 공간의 양(KB)입니다. | |
| 
 | 디스크에서 사용된 공간의 백분율입니다. | |
| 
 | 디스크에서 사용 가능한 공간(KB)입니다. | |
| 
 | 디스크에서 사용 가능한 공간의 백분율입니다. | |
| 
 | 초당 읽기 작업 수 | |
| 
 | 초당 읽은 바이트 수입니다. | |
| 
 | 초당 쓰기 작업 수입니다. | |
| 
 | 초당 기록된 바이트의 양입니다. | |
| 
 | 
 | 사용 중인 페이지 파일 지원 가상 주소 공간의 양, 즉 현재 커밋 요금입니다. 이 값은 주 메모리(RAM)와 디스크(페이지 파일)로 구성됩니다. | 
| 
 | commitTotKb 지표에 대해 가능한 최대 값입니다. 이 값은 현재 페이지 파일 크기에 페이징할 수 없는 영역에 할당된 RAM을 제외하고 페이징 가능한 콘텐츠에 사용할 수 있는 실제 메모리의 합계입니다. | |
| 
 | 운영 체제가 마지막으로 시작된 이후로 commitTotKb 메트릭의 가장 큰 값입니다. | |
| 
 | 페이징된 커널 풀과 페이징되지 않은 커널 풀의 메모리 합계(KB)입니다. | |
| 
 | 페이징된 커널 풀의 메모리 양(KB)입니다. | |
| 
 | 페이징되지 않은 커널 풀의 메모리 양(KB)입니다. | |
| 
 | 페이지 크기(바이트)입니다. | |
| 
 | 물리적 메모리의 양(KB)입니다. | |
| 
 | 사용 가능한 물리적 메모리의 양(KB)입니다. | |
| 
 | Microsoft SQL Server에 커밋된 메모리 양(KB)입니다. | |
| 
 | 시스템 캐시 메모리의 양(KB)입니다. | |
| 
 | 
 | 초당 수신된 바이트 수입니다. | 
| 
 | 초당 보낸 바이트 수입니다. | |
| 
 | 
 | 프로세스에서 사용하는 CPU의 백분율입니다. | 
| 
 | 프로세스에서 사용하는 메모리 양(KB)입니다. | |
| 
 | 프로세스의 이름입니다. | |
| 
 | 개인 작업 세트의 메모리 양과 프로세스에서 사용 중이고 다른 프로세스와 공유할 수 있는 메모리 양(KB)입니다. | |
| 
 | 프로세스에서 사용 중이지만 다른 프로세스와 공유할 수 없는 메모리 양(KB)입니다. | |
| 
 | 프로세스에서 사용 중이고 다른 프로세스와 공유할 수 있는 메모리 양(KB)입니다. | |
| 
 | 프로세스가 사용 중인 가상 주소 공간의 양(KB)입니다. 가상 주소 공간의 사용이 반드시 디스크 또는 주 메모리 페이지의 해당 사용을 의미하는 것은 아닙니다. | |
| 
 | 
 | 시스템에서 사용 중인 핸들 수입니다. | 
| 
 | 시스템에서 실행 중인 프로세스의 수입니다. | |
| 
 | 시스템에서 실행 중인 스레드 수입니다. | 
정의
| 용어 | 설명 | 
|---|---|
| 이벤트 유형 | 
 | 
| 공급자 | 
 | 
| 프로세스 | Enhanced Monitoring을 사용하면 RDS 인스턴스와 연결된 다음 프로세스를 모니터링할 수 있습니다. : 
 |