느린 쿼리 반환

얻다 /api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs

Performance Advisor와 쿼리 프로파일러가 식별한 느린 쿼리에 대한 로그 줄을 반환합니다. Performance Advisor는 MongoDB가 느리다고 판단한 쿼리를 모니터링하고 쿼리 성능을 향상시키기 위해 새 인덱스를 추천합니다. MongoDB Cloud는 클러스터의 평균 작업 시간을 기준으로 느린 쿼리에 대한 임곗값을 설정합니다. 이를 통해 워크로드 관련 추천이 활성화됩니다. 이 리소스를 사용하려면, 요청하는 서비스 계정 또는 API 키에 프로젝트 데이터 액세스 역할이나 프로젝트 가시성 뷰어 역할이 있어야 합니다.

경로 매개변수

  • groupId 문자열 필수 사항

    프로젝트 식별하는 고유한 24-16진수 문자열입니다. 인증된 사용자가 액세스 할 수 있는 모든 프로젝트를 조회 하려면 /groups 엔드포인트를 사용합니다.

    참고: 그룹과 프로젝트는 동의어입니다. 그룹 ID는 프로젝트 ID와 동일합니다. 기존 그룹의 경우, 그룹/프로젝트 ID는 동일하게 유지됩니다. 리소스 및 해당 엔드포인트는 그룹이라는 용어를 사용합니다.

    형식은 ^([a-f0-9]{24})$ 패턴 과 일치해야 합니다.

  • processId 문자열 필수 사항

    MongoDB 프로세스를 제공하는 호스트와 포트의 조합입니다. 호스트는 MongoDB 프로세스(mongod 또는 mongos)를 실행하는 호스트의 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소여야 합니다. 포트는 MongoDB 프로세스가 요청을 수신하는 IANA 포트여야 합니다.

    형식은 ^([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-f]{1,4}\:){7}([0-9a-f]{1,4})|(([a-z0-9]+\.){1,10}[a-z]+)?(\:[0-9]{4,5})$ 패턴 과 일치해야 합니다.

쿼리 매개변수

  • envelope 부울

    애플리케이션이 응답을 envelope JSON 객체로 래핑할지 여부를 나타내는 플래그입니다. 일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 envelope=true를 설정합니다. 결과 목록을 반환하는 엔드포인트는 결과 객체를 엔벨로프로 사용합니다. 애플리케이션은 응답 본문에 상태 매개변수를 추가합니다.

    기본값은 false 입니다.

  • pretty 부울

    응답 본문이 프리티프린트 형식이어야 하는지 여부를 나타내는 플래그입니다.

    기본값은 false 입니다.

    Prettyprint
  • 기간 integer(int64)

    쿼리가 cluster의 관리형 네임스페이스 중에서 느린 쿼리를 찾는 동안 표현된 시간입니다. 이 매개변수는 해당 값을 밀리초 단위로 표현합니다.

    • 이후 매개변수를 지정하지 않으면 엔드포인트는 현재 시간 이전의 기간을 포함하는 데이터를 반환합니다.
    • 기간 또는 이후 매개변수를 모두 지정하지 않으면 엔드포인트는 이전 24시간 동안의 데이터를 반환합니다.
  • namespaces array[string]

    느린 쿼리를 조회할 네임스페이스입니다. 네임스페이스는 데이터베이스 한 개와 .: <database>.<collection>(으)로 작성된 컬렉션 리소스 한 개로 구성됩니다. 여러 네임스페이스를 포함하려면 각 네임스페이스 사이에 앰퍼샌드(&)로 구분하여 매개변수를 여러 번 전달합니다. 모든 네임스페이스에 대한 결과를 반환하려면 이 매개변수를 생략합니다.

  • nLogs integer(int64)

    반환할 로그의 최대 줄 수입니다.

    최소값은 0, 최대값은 20000입니다. 기본값은 20000입니다.

  • 이후 integer(int64)

    쿼리가 느린 쿼리를 조회하는 날짜 및 시간입니다. 이 매개 변수는 해당 값을 유닉스 시간 이후 경과된 밀리초 단위로 표현합니다.

    • 기간 매개변수를 지정하지 않으면 엔드포인트는 이후 값과 현재 시간을 포함하는 데이터를 반환합니다.
    • 기간 또는 이후 매개변수를 모두 지정하지 않으면 엔드포인트는 이전 24시간 동안의 데이터를 반환합니다.

    최소값은 1199145600000입니다.

  • includeMetrics 부울

    느린 쿼리 로그 에서 추출한 지표 별도의 필드로 포함할지 여부입니다.

    기본값은 false 입니다.

  • includeReplicaState 부울

    느린 쿼리 로그 별도의 필드 로 생성될 때 호스팅하다 의 복제본 상태 포함할지 여부입니다.

    기본값은 false 입니다.

  • includeOpType 부울

    느린 쿼리 로그 에서 추출한 작업 유형(읽기/ 쓰기 (write) /명령)을 별도의 필드 로 포함할지 여부입니다.

    기본값은 false 입니다.

응답

  • 200 application/vnd.atlas.2023-01-01+json

    확인

    응답 속성 숨기기 응답 속성 표시 객체
    • 느린 쿼리 배열[객체]

      Performance Advisor 지정된 임계값보다 실행하는 데 시간이 오래 걸리는 작업의 목록입니다.

      Performance Advisor 감지한 하나의 느린 쿼리 에 대한 세부 정보입니다.

      slowQuery 속성 숨기기 slowQuery 속성 표시 객체
      • 라인 문자열

        이 느린 쿼리 와 관련된 MongoDB 로그 의 텍스트입니다.

      • 지표 객체

        느린 쿼리 로그 의 지표.

        지표 속성 숨기기 지표 속성 표시 객체
        • docsEximated integer(int64)

          작업을 수행하기 위해 MongoDB가 스캔한 collection의 문서 수입니다.

        • docsExaminedReturnedRatio number(double)

          반환된 문서 대비 검사된 문서의 비율입니다.

        • docsReturned integer(int64)

          작업에서 반환된 문서 수입니다.

        • fromUserConnection 부울

          이 부울은 서버 쿼리 소스를 서버가 아닌 것으로 식별할 수 있을 때 참이 됩니다. 이 필드 MDB 8.0+에서만 사용할 수 있습니다.

        • hasIndexCoverage 부울

          쿼리 인덱스 커버리지가 있는지 여부를 나타냅니다.

        • hasSort 부울

          이 부울은 쿼리 인덱스 의 순서를 사용하여 요청된 정렬된 결과를 반환할 수 없는 경우 참이 됩니다. 즉, MongoDB 커서 로부터 문서를 받은 후 문서를 정렬해야 합니다.

        • 키 검사됨 integer(int64)

          MongoDB가 작업을 수행하기 위해 스캔한 인덱스 키의 수입니다.

        • 키 검사 반환율 number(double)

          반환된 문서 대비 검사한 키의 비율입니다.

        • numYields integer(int64)

          다른 작업을 완료하기 위해 작업을 양보한 횟수입니다.

        • operationExecutionTime integer(int64)

          쿼리 의 총 실행 시간(밀리초)입니다.

        • responseLength integer(int64)

          작업 결과 문서 의 길이(바이트)입니다.

      • namespace 문자열

        지정된 호스팅하다 의 네임스페이스 를 식별하는 사람이 읽을 수 있는 레이블입니다. 리소스 이 매개변수 값을 <database>.<collection>로 표현합니다.

      • opType 문자열

        이 느린 쿼리 로그 와 연결된 작업 유형(읽기/ 쓰기 (write) /명령)입니다.

      • replicaState 문자열

        이 느린 쿼리 로그 와 관련된 복제본 상태 .

  • 401 application/json

    승인되지 않았습니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

  • 403 application/json

    Forbidden.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

  • 404 application/json

    찾을 수 없습니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

  • 429 application/json

    요청이 너무 많습니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

  • 500 application/json

    내부 서버 오류입니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • badRequestDetail 객체

      요청 세부 정보가 잘못되었습니다.

      badRequestDetail 속성 숨기기 badRequestDetail 속성 표시 객체
      • 필드 배열[객체]

        클라이언트 요청 의 모든 위반 사항을 설명합니다.

        필드 속성 숨기기 필드 속성 표시 객체
        • description 문자열 필수 사항

          요청 요소가 잘못된 이유에 대한 설명입니다.

        • 필드 문자열 필수 사항

          요청 본문의 필드 로 연결되는 경로입니다.

    • 세부 정보 문자열

      각 오류 유형을 유발하는 특정 조건 또는 이유를 설명합니다.

    • 오류 integer(int32) 필수 사항

      이 오류와 함께 HTTP 상태 코드가 반환되었습니다.

      외부 문서
    • 오류 코드 문자열 필수 사항

      이 오류와 함께 반환된 애플리케이션 오류 코드입니다.

    • 매개변수 배열[객체]

      오류에 대한 자세한 정보를 제공하는 데 사용된 매개변수입니다.

    • 이유 문자열

      이 오류와 함께 반환된 애플리케이션 오류 메시지입니다.

GET / API/ Atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs
atlas api performanceAdvisor listGroupProcessPerformanceAdvisorSlowQueryLogs --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20250312001/admin"
)

func main() {
	ctx := context.Background()
	clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
	clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")

	// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
	client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))

	if err != nil {
		log.Fatalf("Error: %v", err)
	}

	params = &sdk.ListGroupProcessPerformanceAdvisorSlowQueryLogsApiParams{}
	sdkResp, httpResp, err := client.PerformanceAdvisorApi.
		ListGroupProcessPerformanceAdvisorSlowQueryLogsWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2025-03-12+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2025-03-12+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs?pretty=true"
응답 예시(200)
{
  "slowQueries": [
    {
      "line": "string",
      "metrics": {
        "docsExamined": 42,
        "docsExaminedReturnedRatio": 42.0,
        "docsReturned": 42,
        "fromUserConnection": true,
        "hasIndexCoverage": true,
        "hasSort": true,
        "keysExamined": 42,
        "keysExaminedReturnedRatio": 42.0,
        "numYields": 42,
        "operationExecutionTime": 42,
        "responseLength": 42
      },
      "namespace": "string",
      "opType": "string",
      "replicaState": "string"
    }
  ]
}
응답 예시(401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
응답 예시(403)
{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
응답 예시(404)
{
  "error": 404,
  "detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
  "reason": "Not Found",
  "errorCode": "RESOURCE_NOT_FOUND"
}
응답 예시(429)
{
  "error": 429,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Too Many Requests",
  "errorCode": "RATE_LIMITED"
}
응답 예시(500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}