Full Time Diagnostic Data Capture
MongoDB 엔지니어가 서버 동작을 분석 할 수 있도록 mongod
및 mongos
프로세스에는 FTDC(풀타임 진단 데이터 캡처) 메커니즘이 포함되어 있습니다. FTDC는 기본값 활성화되어 있습니다. 배포 디버깅에서 중요한 역할을 하기 때문에 FTDC 스레드 실패는 치명적이며 상위 mongod
또는 mongos
프로세스 를 중지시킵니다.
행동
참고
Windows의 FTDC 사용자 권한
Windows에서 디스크, CPU, 메모리 등의 시스템 데이터를 수집하려면 FTDC가 다음 그룹의 Microsoft 액세스 권한을 요구합니다.
성능 모니터 사용자
Performance Log Users
mongod
및 mongos
를 실행 하는 사용자가 관리자가 아닌 경우 이러한 그룹에 추가하여 FTDC 데이터를 로그 합니다. 자세한 내용은 여기에서 Microsoft 설명서 를 참조하세요. .
FTDC는 다음 명령으로 생성된 통계를 주기적으로 수집합니다.
local.oplog.rs
collection에 대한collStats
(mongod
만 해당)connPoolStats
(mongos
만 해당)
호스트 운영 체제에 따라 진단 데이터에는 다음 사용률 통계 중 하나 이상이 포함될 수 있습니다.
CPU 사용률
메모리 효율성
성능과 관련된 디스크 사용률입니다. FTDC에는 저장 용량과 관련된 데이터가 포함되지 않습니다.
네트워크 성능 통계 FTDC는 메타데이터만 캡처하며 네트워크 패킷을 캡처하거나 검사하지 않습니다.
참고
FTDC는 파일 회전 또는 시작 시 다음 명령으로 생성된 통계를 수집합니다.
FTDC 데이터 파일
mongod
프로세스는 storage.dbPath
인스턴스 아래의 diagnostic.data
디렉토리에 FTDC 데이터 파일을 저장합니다. 모든 진단 데이터 파일은 이 디렉터리에 저장됩니다. 예를 들어 /data/db
의 dbPath
경우, 진단 데이터 디렉토리는 /data/db/diagnostic.data
가 됩니다.
mongos
프로세스는 systemLog.path
로그 경로 설정을 기준으로 진단 디렉토리에 FTDC 데이터 파일을 저장합니다. MongoDB는 로그 경로의 파일 확장자를 자르고 diagnostic.data
를 나머지 이름에 연결합니다. 예를 들어 path
설정이 /var/log/mongodb/mongos.log
인 경우 진단 데이터 디렉토리는 /var/log/mongodb/mongos.diagnostic.data
가 됩니다.
FTDC 개인정보 보호
FTDC 데이터 파일은 압축되어 있어 사람이 읽을 수 없습니다. 이 파일은 MongoDB 데이터 파일과 동일한 파일 액세스 권한을 상속받습니다. FTDC 데이터 파일에 액세스할 수 있는 사용자만 FTDC 데이터를 전송할 수 있습니다.
MongoDB 엔지니어는 시스템 소유자나 연산자의 명시적인 허가와 지원 없이는 FTDC 데이터에 액세스할 수 없습니다.
다음 정보는 FTDC 데이터에 절대 포함되지 않습니다.
쿼리, 쿼리 조건자 또는 쿼리 결과의 샘플
최종 사용자 컬렉션 또는 인덱스에서 샘플로 가져온 데이터
시스템 또는 MongoDB 사용자 자격증명 또는 보안 인증서
FTDC 데이터에는 호스트 이름, 운영 체제 정보, mongod
또는 mongos
를 시작하는 데 사용된 옵션 또는 설정과 같은 특정 호스트 머신 정보가 포함되어 있습니다. 이 정보는 일부 조직 또는 규제 기관에서 보호되거나 기밀로 간주될 수 있지만 일반적으로 개인 식별 정보(PII)로 간주되지 않습니다. 이러한 필드가 보호, 기밀 또는 PII 데이터로 구성된 클러스터의 경우 FTDC 데이터를 전송하기 전에 MongoDB 엔지니어에게 알려 적절한 보안 조치를 조정하세요.
세부 정보
FTDC 소스 코드는 MongoDB Github 리포지토리에서 확인할 수 있습니다. ftdc_system_stats_*.ccp
파일은 캡처한 시스템별 진단 데이터를 구체적으로 정의합니다.
FTDC 기본값
FTDC는 다음과 같은 기본값으로 실행됩니다.
1초마다 데이터 캡처
최대 200MB
diagnostic.data
폴더 크기
이러한 기본값은 성능이나 스토리지 크기에 미치는 영향을 최소화하면서 MongoDB 엔지니어에게 유용한 데이터를 제공하도록 설계되었습니다. 이러한 값은 MongoDB 엔지니어가 특정 진단 목적을 위해 요청한 경우에만 수정이 필요합니다.
FTDC 비활성화
FTDC를 비활성화하려면 mongod
또는 mongos
를 구성 파일의 setParameter
설정에서 diagnosticDataCollectionEnabled: false
옵션으로 시작하세요:
setParameter: diagnosticDataCollectionEnabled: false
FTDC를 비활성화하면 MongoDB 엔지니어의 지원을 받아 문제를 분석하거나 디버깅할 때 필요한 시간이나 리소스가 증가할 수 있습니다. MongoDB 지원에 대한 자세한 내용은 MongoDB 지원 시작하기를 참조하세요.