Atlas 플랫폼 활동을 검토하려면 로그를 사용하세요.
Atlas 로깅을 위한 기능
감사 로그에 액세스
다음 감사 활동을 위해 Atlas CLI, Atlas 관리 API 또는 Atlas UI를 사용할 수 있습니다.
여러 사용자가 포함된 배포에서 감사 로그를 조회하고 다운로드하여 시스템 이벤트 조치를 추적할 수 있습니다. Atlas 관리자는 사용자 지정 감사 필터를 구성하여 감사할 조치, 데이터베이스 사용자, Atlas 역할 및 LDAP 그룹을 선택할 수 있습니다.
MongoDB 로그 보기 및 다운로드하여 들어오는 연결, 명령 실행, 발생한 문제 등 배포서버의 로그 이벤트를 추적하세요. 일반적으로 로그 메시지는 문제 진단, 배포서버 모니터링 및 성능 조정에 유용하게 사용됩니다.
Project Activity Feed 및 Organization Activity Feed에서 프로젝트와 조직의 이벤트를 확인할 수 있습니다. 이러한 활동 피드에는 조직 또는 프로젝트 수준의 모든 이벤트가 나열되며, 이는 Atlas 액세스, 경고 구성과 모니터링, 결제 등과 관련된 변경 사항을 포함합니다.
사용자가 클러스터에서 수행한 데이터베이스 인증 시도를 액세스 로그에서 확인할 수 있습니다. 이 기능은 Atlas UI의 Database access history에서 제공합니다. Atlas는 성공 및 실패한 인증 시도를 모두 기록하며, 각 시도의 타임스탬프와 인증을 시도한 사용자를 포함합니다.
감사 로그에 대한 프로그래밍 방식 접근
기본 제공 통합 외의 도구와 연동하려면 다음 프로그래밍 도구로 로그를 조회하고 JSON 형식의 결과를 외부 도구에 연결하는 방식을 권장합니다.
AWS S3 버킷으로 로그를 지속적으로 전송하려면 푸시 기반 로그 내보내기를 위한 Atlas 관리 API 엔드포인트를 사용하세요.
배포서버 로그와 프로젝트 이벤트 목록을 조회하려면 모니터링 및 로그 및 프로젝트 및 조직 이벤트용 Atlas 관리 API 엔드포인트를 사용하세요.
배포서버 로그를 조회하려면 Atlas CLI에서 atlas deployment logs 명령을 사용하세요.
Atlas 로깅 권장 사항
다음 권장사항은 모든 배포서버 패러다임에 적용됩니다.
전체 감사를 수행하려면 감사 로그, MongoDB 로그 메시지 및 프로젝트 및 조직 활동 피드를 조합하여 사용할 수 있습니다.
기본적으로 감사 로그 메시지는 MongoDB에서 설계한 mongo schema 형식으로 반환됩니다. mongo 스키마를 따르는 감사 로그 메시지에는 항상 다음 정보가 포함됩니다.
조치 유형(
atype)타임스탬프
클라이언트 연결 ID (UUID)
클라이언트 IP 주소와 포트 번호
수신 연결 IP 주소 및 포트 번호
사용자 이름(들)
사용자 인증 데이터베이스(들)
사용자 역할
사용자 역할 데이터베이스
param문서, 이벤트에 대한 구체적인 세부 정보가 포함됨결과 값 또는 오류 코드
감사 작업 유형, 관련 param 세부 정보 및 result 값의 전체 목록은 mongo 스키마 감사 메시지 문서를 참조하세요.
자동화 예시: Atlas 로깅
팁
모든 필러에 권장 사항을 시행하다 하는 Terraform 예시는 Github 에서 다음 예시 중 하나를 참조하세요.
다음 예시는 Atlas 자동화 도구를 사용하여 로그를 조회하고 다운로드하며 감사를 구성하는 방법을 보여줍니다.
다음 예시 외에도 HashiCorp Terraform과 Atlas 푸시 기반 로그 내보내기를 사용하여 Amazon S3 로그 관리를 간소화하는 방법에 대한 블로그 게시물을 참조하세요.
로그를 조회하고 다운로드할 수 있습니다. 알림을 검색할 수도 있습니다.
로그를 검색하면 실시간으로 현재 로그 파일을 보고 액세스할 수 있습니다.
로그를 다운로드하면 나중에 분석하거나 보관할 수 있도록 MongoDB Atlas에서 로그 보관 파일을 만들 수 있습니다.
로그 조회
클러스터의 활동을 실시간으로 모니터링 및 분석하거나, 현재 로그의 문제를 해결하려면 로그를 조회하세요.
클러스터의 각 mongod 및 mongos 인스턴스는 자체 MongoDB 로그와 감시 로그 메시지를 출력하며 다른 인스턴스와 내용이 다를 수 있습니다. Atlas CLI에서 atlas deployment logs 명령어를 사용하여 이러한 로그 메시지를 확인할 수 있습니다.
클러스터의 mongod 인스턴스 감사 로그 항목을 조회하려면 mongod 호스트명을 입력하고 감사 로그 파일 이름으로 mongodb-audit-log.gz를 지정하세요.
atlas deployments logs --output json --type atlas --hostname cluster0-shard-00-00.a1b2c.mongodb.net --name mongodb-audit-log.gz
샤드 클러스터의 mongos 인스턴스의 감사 로그 항목을 조회하려면 mongos 호스트 이름을 제공하고 감사 로그 파일 이름으로 mongos-audit-log.gz를 지정하세요.
atlas deployments logs --output json --type atlas --hostname cluster0-shard-00-00.a1b2c.mongodb.net --name mongos-audit-log.gz
MongoDB 로그 메시지를 조회하려면 mongod 또는 mongos 인스턴스의 호스트 이름을 제공하고 로그 파일 이름을 각각 mongodb.gz 또는 mongos.gz로 지정하세요.
atlas deployments logs --output json --type atlas --hostname cluster0-shard-00-00.a1b2c.mongodb.net --name mongodb.gz
노드 또는 클러스터의 액세스 로그를 보려면 atlas accessLogs list 명령을 사용할 수도 있습니다. 액세스 로그는 지정한 노드 또는 클러스터를 대상으로 한 모든 인증 요청이 JSON 형식으로 정리된 목록입니다.
액세스 로그를 조회하려면 atlas accessLogs list 명령을 실행하고 대상 노드 또는 클러스터의 호스트 이름이나 클러스터 이름을 지정하세요.
atlas accessLogs list --output json --clusterName Cluster0
로그 다운로드
로그를 다운로드하여 과거 로그를 집중적으로 분석하거나 감사 또는 성능 분석, 혹은 보관 목적으로 사용할 수 있습니다.
클러스터 내 각 mongod 및 mongos 인스턴스는 다른 인스턴스와는 내용이 다를 수 있는 자체 MongoDB 로그 및 감사 로그를 가집니다. 애플리케이션 관점에서는 mongod 또는 mongos 인스턴스는 다른 MongoDB 인스턴스와 동일하게 동작하지만 각 인스턴스의 로그에는 MongoDB에서의 역할에 따라 고유한 정보가 담겨 있습니다.
mongod의 로그에는 데이터 요청, 데이터 액세스 정보 및 MongoDB의 배경 관리 작업이 포함되어 있습니다.mongos로그에는 샤드된 클러스터의 샤드로 라우팅되는 쿼리 및 쓰기 작업에 대한 정보가 포함되어 있습니다.
Atlas CLI의 atlas logs download 명령을 사용하면 각 로그를 압축 파일로 다운로드할 수 있습니다.
클러스터 내 mongod 인스턴스의 감사 로그를 다운로드하려면 mongod 호스트 이름과 감사 로그 파일 이름인 mongodb-auditlog.gz를 인수로 제공하세요. 이 파일의 이름은 예시로 사용된 것이며 다른 이름을 사용할 수도 있습니다.
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongodb-audit-log.gz
샤딩된 클러스터 배포에서 mongos 인스턴스의 감사 로그를 다운로드하려면 mongos의 호스트 이름과 감사 로그 파일 이름인 mongos-auditlog.gz를 인수로 제공합니다. 이 파일의 이름은 예시로 사용된 것이며 다른 이름을 사용할 수도 있습니다.
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongos-audit-log.gz
mongod 또는 mongos 인스턴스의 MongoDB 로그를 다운로드하려면 해당 인스턴스의 호스트 이름과 로그 파일명인 mongodb.gz 또는 mongos.gz를 인수로 제공합니다.
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongodb.gz
모든 프로젝트 경고 조회
다음 Atlas CLI 명령을 사용하여 프로젝트나 조직의 이벤트로 인해 발생한 경고를 반환할 수 있습니다. Atlas는 기본적으로 Replica set has no primary와 User joined the project와 같은 알림을 제공합니다. 이러한 이벤트는 프로젝트 또는 조직 내에서 발생하는 주요 활동과 변경 사항(주요 데이터베이스, 결제, 보안 활동 또는 상태 변경 포함)을 기록합니다.
프로젝트와 조직에 대한 경고 발생 이벤트를 맞춤 설정하려면 경고 설정 구성을 참조하세요.
프로젝트 또는 조직의 모든 로그 이벤트 조회
다음 Atlas CLI 명령을 사용하여 Project Activity Feed 또는 Organization Activity Feed에서 프로젝트나 조직의 이벤트를 조회할 수 있습니다.
조직의 모든 이벤트를 조회하려면 atlas events organizations list 명령을 사용하고 조직 ID를 지정하세요. 다음 명령은 ID가 5dd5a6b6f10fab1d71a58495인 조직의 이벤트를 JSON 형식의 목록으로 반환합니다.
atlas events organizations list --orgId 5dd5a6b6f10fab1d71a58495 --output json
프로젝트의 모든 이벤트를 조회하려면 atlas events projects list 명령을 사용하고 프로젝트 ID를 지정하세요. 다음 명령은 ID가 64ac57bfe9810c0263e9d655인 프로젝트의 이벤트를 JSON 형식의 목록으로 반환합니다.
atlas events organizations list --orgId 5dd5a6b6f10fab1d71a58495 --output json
전체 클러스터의 모든 쿼리 로그 다운로드
전체 클러스터의 쿼리 로그를 다운로드하려면 필요한 권한을 확보한 뒤 Atlas UI에서 클러스터를 선택하고 Online Archive를 클릭한 뒤 다음을 실행하세요.
<cluster-name>_cluster_archive_<start-date>_<end-date>_queries.log.gz
로그 조회
Terraform으로는 로그를 조회 할 수 없습니다. 대신 다음 Atlas 관리 API 엔드포인트를 사용하세요.
액세스 추적 관리자 API 사용하여 클러스터 이름 또는 호스트 이름으로 식별되는 데이터베이스에 대한 모든 인증 시도에 대한 액세스 로그를 반환합니다.
Monitoring 및 Logs API를 사용하여 지정된 호스트에 대한 로그 메시지가 포함된 압축된 로그 파일을 조회합니다.