Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Full Time Diagnostic Data Capture

MongoDB 엔지니어가 서버 동작을 분석 할 수 있도록 mongodmongos 프로세스에는 FTDC(풀타임 진단 데이터 캡처) 메커니즘이 포함되어 있습니다. FTDC는 기본값 활성화되어 있습니다. 배포 디버깅에서 중요한 역할을 하기 때문에 FTDC 스레드 실패는 치명적이며 상위 mongod 또는 mongos 프로세스 를 중지시킵니다.

참고

Windows의 FTDC 사용자 권한

Windows에서 디스크, CPU, 메모리 등의 시스템 데이터를 수집하려면 FTDC가 다음 그룹의 Microsoft 액세스 권한을 요구합니다.

  • 성능 모니터 사용자

  • Performance Log Users

mongodmongos 를 실행 사용자가 관리자가 아닌 경우 이러한 그룹에 추가하여 FTDC 데이터를 로그 . 자세한 내용은 Microsoft 설명서를 참조하세요.

FTDC는 다음 명령으로 생성된 통계를 주기적으로 수집합니다.

호스트 운영 체제에 따라 진단 데이터에는 다음 사용률 통계 중 하나 이상이 포함될 수 있습니다.

  • CPU 사용률

  • 메모리 효율성

  • 성능과 관련된 디스크 사용률입니다. FTDC에는 저장 용량과 관련된 데이터가 포함되지 않습니다.

  • 네트워크 성능 통계 FTDC는 메타데이터만 캡처하며 네트워크 패킷을 캡처하거나 검사하지 않습니다.

참고

mongod 프로세스가 컨테이너에서 실행되는 경우 FTDC는 호스트 운영 체제 대신 컨테이너 관점에서 사용률 통계를 보고합니다. 예를 들어 mongod 가 RAM 제한이 설정된 컨테이너에서 실행되는 경우 FTDC는 호스트 운영 체제의 RAM 제한이 아닌 컨테이너의 RAM 제한의 메모리 사용량을 계산합니다.

FTDC는 파일 회전 또는 시작 시 다음 명령으로 생성된 통계를 수집합니다.

mongod 프로세스는 storage.dbPath 인스턴스 아래의 diagnostic.data 디렉토리에 FTDC 데이터 파일을 저장합니다. 모든 진단 데이터 파일은 이 디렉터리에 저장됩니다. 예를 들어 /data/dbdbPath 경우, 진단 데이터 디렉토리는 /data/db/diagnostic.data가 됩니다.

mongos프로세스는 systemLog.path 로그 경로 설정을 기준으로 진단 디렉토리에 FTDC 데이터 파일을 저장합니다. MongoDB는 로그 경로의 파일 확장자를 자르고 diagnostic.data를 나머지 이름에 연결합니다. 예를 들어 path 설정이 /var/log/mongodb/mongos.log인 경우 진단 데이터 디렉토리는 /var/log/mongodb/mongos.diagnostic.data가 됩니다.

FTDC 데이터 파일은 압축되어 있어 사람이 읽을 수 없습니다. 이 파일은 MongoDB 데이터 파일과 동일한 파일 액세스 권한을 상속받습니다. FTDC 데이터 파일에 액세스할 수 있는 사용자만 FTDC 데이터를 전송할 수 있습니다.

MongoDB 엔지니어는 시스템 소유자나 연산자의 명시적인 허가와 지원 없이는 FTDC 데이터에 액세스할 수 없습니다.

다음 정보는 FTDC 데이터에 절대 포함되지 않습니다.

  • 쿼리, 쿼리 조건자 또는 쿼리 결과의 샘플

  • 최종 사용자 컬렉션 또는 인덱스에서 샘플로 가져온 데이터

  • 시스템 또는 MongoDB 사용자 자격증명 또는 보안 인증서

FTDC 데이터에는 호스트 이름, 운영 체제 정보, mongod 또는 mongos를 시작하는 데 사용된 옵션 또는 설정과 같은 특정 호스팅하다 시스템 정보가 포함되어 있습니다. 이 정보는 일부 조직 또는 규제 기관에서 보호되거나 기밀로 간주될 수 있습니다. 이러한 필드가 보호, 기밀 또는 PII 데이터로 구성된 클러스터의 경우 FTDC 데이터를 전송하기 전에 MongoDB 엔지니어에게 알려 적절한 보안 조치를 조정하세요.

FTDC 소스 코드는 MongoDB Github 리포지토리에서 확인할 수 있습니다. ftdc_system_stats_*.ccp 파일은 캡처한 시스템별 진단 데이터를 구체적으로 정의합니다.

FTDC는 다음과 같은 기본값으로 실행됩니다.

  • 1초마다 데이터 캡처

  • 250 MB 최대 diagnostic.data 폴더 크기( 샤딩된 클러스터의 경우 500 MB).

    버전 8.0.10에서 변경됨: 기본값이 200 MB에서 증가했습니다( 샤딩된 클러스터의 경우 400 MB).

이러한 기본값은 성능이나 저장 크기에 영향 최소화하면서 MongoDB 엔지니어에게 유용한 데이터를 제공합니다. 특정 진단 목적으로 MongoDB 엔지니어가 요청하는 경우에만 이 값을 수정합니다.

중요

MongoDB 폴더가 크기 제한에 도달하면 이전 데이터를 덮어씁니다. 중요한 진단 정보를 보존하려면 사고 발생 시점의 diagnostic.data 디렉토리 캡처합니다. MongoDB FTDC 데이터를 삭제하면 더 이상 진단 분석에 사용할 수 없습니다.

MongoDB 로컬 호스팅하다 에만 FTDC 데이터를 저장합니다. OTel 또는 기타 로그 전달 파이프라인에서 전달한 FTDC 데이터는 진단 목적으로 사용할 수 없습니다.

Terraform과 같은 자동화 도구 또는 임시 저장 를 사용하는 온프레미스 환경에서는 호스팅하다 종료되거나 재구축될 때 FTDC 데이터가 손실됩니다. 진단 조사를 위한 FTDC 데이터의 가용성을 높이려면 다음 조치 중 하나 또는 둘 다를 고려합니다.

  • 영구 저장 에 diagnostic.data 디렉토리 저장합니다.

  • diagnostic.data 디렉토리 영구 외부 위치 에 주기적으로 복사합니다.

MongoDB 엔지니어는 정확한 진단을 위해 FTDC 데이터에 의존합니다.

경고

프로덕션 환경에는 권장되지 않습니다.

FTDC를 비활성화하려면 mongod 또는 mongos를 구성 파일의 setParameter 설정에서 diagnosticDataCollectionEnabled: false 옵션으로 시작하세요:

setParameter:
diagnosticDataCollectionEnabled: false

FTDC를 비활성화하면 MongoDB 엔지니어의 지원을 받아 문제를 분석하거나 디버깅할 때 필요한 시간이나 리소스가 증가할 수 있습니다. MongoDB 지원에 대한 자세한 내용은 MongoDB 지원 시작하기를 참조하세요.

돌아가기

로그 파일 회전

이 페이지의 내용