메인 콘텐츠로 건너뛰기
MongoDB 데이터베이스를 연결하면 Tony (Database Engineer)가 쿼리를 분석하고, 성능을 최적화하며, 데이터베이스 상태를 모니터링할 수 있습니다.

지원 플랫폼

플랫폼지원
자체 호스팅 MongoDB4.x, 5.x, 6.x, 7.x
MongoDB Atlas전체 버전

사전 요구사항

  • 네트워크를 통해 CloudThinker에서 접근 가능한 MongoDB 인스턴스 또는 Atlas 클러스터.
  • 전용 데이터베이스 사용자를 생성하고 역할을 할당할 관리자 접근.
  • 자격증명이 포함된 MongoDB 연결 문자열.

설정

MongoDB 플랫폼을 선택하여 구체적인 연결 방법을 확인하세요.
1

관리자로 연결

관리자 권한으로 Mongo 셸(mongosh)을 사용하여 MongoDB 인스턴스에 연결하세요.<admin-user>, <admin-password>, <your-host>를 실제 자격증명으로 교체하세요. /admin 데이터베이스가 필요합니다.
mongosh "mongodb://<admin-user>:<admin-password>@<your-host>:27017/admin"
2

admin 데이터베이스로 전환

사용자가 생성되는 admin 데이터베이스에 있는지 확인하세요:
use admin
3

읽기 전용 사용자 생성

표준 MongoDB 내장 역할을 사용하여 CloudThinker 전용 사용자를 생성하세요:
db.createUser({
  user: "<cloudthinker_user>",
  pwd: "<secure-password>",
  roles: [
    { role: "readAnyDatabase", db: "admin" },
    { role: "clusterMonitor", db: "admin" }
  ]
})
성능 메트릭 분석을 위해 clusterMonitor 역할이 권장됩니다.
4

네트워크 접근 설정

CloudThinker가 데이터베이스에 접근할 수 있는지 확인하세요:
  • CloudThinker IP를 방화벽 또는 보안 그룹에 추가
  • mongod.conf에서 MongoDB가 접근 가능한 IP 주소에 바인딩되어 있는지 확인
5

CloudThinker에 연결 추가

Connections → MongoDB로 이동하여 연결 문자열을 붙여넣으세요:
mongodb://<cloudthinker_user>:<secure-password>@<your-host>:27017/admin?tls=true&appName=CloudThinker
배포 환경에서 TLS 암호화를 강제하는 경우 tls=true를 포함하세요. Connect를 클릭하세요. 성공하면 CloudThinker가 Connected 상태를 표시합니다.

연결 세부 정보

필드설명예시
Connection string자격증명을 포함한 전체 MongoDB URImongodb+srv://user:pass@host/admin?tls=true
TLS/SSL연결에 TLS 강제 — URI에서 tls=true 사용true
Read preference읽기 작업을 라우팅할 노드primary
Connection timeout연결 대기 시간 (초)10

필요 권한

역할용도
readAnyDatabase모든 컬렉션의 쿼리 및 인덱스 사용량 분석
clusterMonitor성능 메트릭을 위한 serverStatus, replSetGetStatus 및 기타 진단 명령 접근
전체 쿼리 분석 및 클러스터 상태 모니터링을 활성화하려면 두 역할을 모두 할당하세요. CloudThinker 사용자에게 절대 쓰기 또는 관리자 역할을 부여하지 마세요.

에이전트 기능

연결이 완료되면 Tony가 할 수 있는 작업:
기능설명
쿼리 분석느린 쿼리 식별, explain()으로 실행 계획 분석
인덱스 권고누락된 인덱스 찾기, 미사용 인덱스 식별
성능 메트릭연결, 메모리 사용량, 복제 지연 모니터링

연결 확인

@tony #report list all MongoDB databases and summarize their collection counts

예시 프롬프트

@tony #report analyze slow queries on the production MongoDB instance
@tony #recommend find missing indexes on the users collection
@tony #report check replication lag on the secondary nodes

문제 해결

  • 사용자 이름과 비밀번호가 올바른지 확인하세요
  • 사용자가 admin 데이터베이스에 생성되어 있는지 확인하거나 연결 문자열에 ?authSource=admin을 추가하세요
  • Atlas의 경우: Database Access에서 올바른 권한으로 사용자가 생성되었는지 확인하세요
  • CloudThinker IP가 Atlas 네트워크 접근 목록 또는 방화벽에 추가되어 있는지 확인하세요
  • 로컬 MongoDB의 경우: mongod.confbindIp127.0.0.1만으로 설정되어 있지 않은지 확인하세요
  • Tony가 serverStatusreplSetGetStatus를 실행하려면 clusterMonitor 역할이 필요합니다
  • admin 데이터베이스의 CloudThinker 사용자에게 clusterMonitor 역할을 추가하고 재연결하세요

보안

  • 최소 권한 — 에이전트가 사용 사례에 필요한 권한만 부여하세요. 읽기 전용으로 시작한 후 필요에 따라 확장하세요.
  • 기본 읽기 전용 — 에이전트가 이 연결을 통해 변경 작업을 수행하게 할 것이 아니라면 읽기 전용 자격증명을 사용하세요.
  • 자격증명 교체 — 정기 일정에 따라 키와 토큰을 교체하세요. 연결을 업데이트하면 CloudThinker가 새 값을 자동으로 반영합니다.
  • 오프보딩 시 취소 — 연결을 삭제하거나 팀원이 퇴사할 때 프로바이더에서 자격증명을 제거하세요.
  • TLS 필수 — 전송 중 데이터를 암호화하려면 항상 연결 문자열에 tls=true를 사용하세요.
  • 최소 역할readAnyDatabaseclusterMonitor만 부여하고 쓰기 또는 관리자 역할은 절대 부여하지 마세요.

관련 항목

Tony 에이전트

데이터베이스 중심 최적화 에이전트
https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/postgresql.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=8bb2ac033d0a2ccbef51154a76e1e819

PostgreSQL 연결

PostgreSQL 데이터베이스 설정 방법