호스트, 프로세스, 시스템 측정값 가져오기
- Cloud Manager 에 대한 프로그래밍 방식의 액세스 를 위한 OAuth 2.0 인증 은 Preview 기능 으로 제공됩니다.
- 기능 및 해당 설명서는 미리 보기 기간에 언제든지 변경될 수 있습니다. OAuth 2.0 인증 을 사용하려면 Cloud Manager 공개 API 에 대한 요청에 사용할서비스 계정을 만듭니다.
호스트 측정은 MongoDB 프로세스 상태에 대한 데이터를 제공합니다. 모니터링은 MongoDB serverStatus 및 dbStats 명령을 통해 호스트 측정값을 수집합니다.
시스템 및 프로세스 측정은 MongoDB를 실행하는 호스트의 CPU 사용량에 대한 데이터를 제공합니다. Automation은 이러한 측정값을 수집합니다. 시스템 및 프로세스 측정에는 Cloud Manager 자동화가 필요합니다.
이 엔드포인트는 이러한 측정 유형을 반환합니다.
참고
일부 메트릭 계열을 계산하기 위해 Cloud Manager는 인접한 두 points 사이의 비율을 취합니다. 이러한 메트릭 계열의 경우, Cloud Manager는 쿼리 시간 범위에서 첫 번째 데이터 점에 대한 비율을 계산할 수 없기 때문에 첫 번째 데이터 점은 null 값을 갖습니다.
기본 URL: https://cloud.mongodb.com/api/public/v1.0
Resource
GET /groups/{PROJECT-ID}/hosts/{HOST-ID}/measurements?granularity={ISO-8601-PERIOD}&period={ISO-8601-PERIOD}
요청 경로 매개변수
이름 | 유형 | 설명 |
---|---|---|
프로젝트 ID | 문자열 | 호스트를 소유한 프로젝트 의 고유 식별자입니다. |
HOST-ID | 문자열 | MongoDB 프로세스를 제공하는 호스트의 고유 식별자입니다. |
요청 쿼리 매개변수
고유 쿼리 매개변수
이 엔드포인트는 반환된 측정값을 필터링하기 위해 다음 쿼리 매개변수를 허용합니다.
이름 | 유형 | 설명 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
granularity Required | 문자열 | ISO 기간 8601 측정 데이터 포인트 사이의 간격을 지정하는 표기법입니다. 측정 단위는 다음 표기법을 사용하여 일, 시간, 분, 초 및 밀리초로 표현할 수 있습니다.
예를 들면 다음과 같습니다.
| ||||||||
period | 문자열 | ISO 기간 8601 측정값을 검색하기 위해 과거로 얼마나 되돌아가는지를 지정하는 표기법입니다. 예를 예시, 지난 36 시간을 요청 하려면 쿼리 매개변수 | ||||||||
시작하기 | 문자열 | ISO 의 타임스탬프 측정값을 검색할 기간의 시작에 대한UTC의 날짜 및 시간 8601 형식입니다. start 를 지정하는 경우 end 도 지정해야 하며 period 은 지정할 수 없습니다. | ||||||||
end | 문자열 | ISO 8601 의 타임스탬프 측정값을 검색할 기간의 마지막 날짜에 대한 UTC 의 날짜 및 시간 형식입니다. end 를 지정하는 경우 start 도 지정해야 하며 period 는 지정할 수 없습니다. | ||||||||
m | 문자열 | 반환할 측정값입니다.
예를 들면 다음과 같습니다.
호스트에 유효한 측정값을 지정해야 합니다. 지정된 측정값이 유효하지 않은 경우 Cloud Manager는 오류를 반환합니다. 사용 가능한 측정값은 측정 유형을 참조하세요. |
참고
각 측정 요청에는 period
쿼리 매개변수 또는 start
및 end
쿼리 매개변수가 모두 포함되어야 합니다.
일반 쿼리 매개변수
이 엔드포인트는 또한 단일 응답을 반환하는 모든 엔드포인트에 공통된 쿼리 매개변수를 허용합니다.
이름 | 유형 | 설명 | 기본값 | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | integer | 페이지 번호(1-인덱스 기준)입니다. | 1 | ||||||
itemsPerPage | integer | 페이지당 반환할 항목 수. 최대 500개까지 가능합니다. | 100 | ||||||
pretty | 부울 | 응답 본문이 프리티 프린트 형식이어야 하는지 여부를 나타냅니다. | false | ||||||
envelope | 부울 | 응답을 엔벨로프에 래핑할지 여부를 나타냅니다. 일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 하나의 결과를 반환하는 엔드포인트의 경우 응답 본문에는 다음이 포함됩니다.
결과 목록을 반환하는 엔드포인트의 경우 | none |
요청 본문 매개변수
이 엔드포인트는 HTTP 요청 본문 매개변수를 사용하지 않습니다.
응답
이름 | 유형 | 설명 |
---|---|---|
databaseName | 문자열 | 측정값이 적용되는 데이터베이스입니다. 데이터베이스 측정 값 가져오기에 대해서만 채워집니다. |
end | 문자열 | ISO 8601 의 타임스탬프 반환된 측정값이 포함하는 기간의 마지막 날짜에 대해 UTC 의 날짜 및 시간 형식입니다. |
세분성 | 문자열 | ISO 기간 8601 각 데이터 포인트가 포함하는 간격의 크기를 지정하는 표기법입니다. 예를 예시 |
groupId | 문자열 | 호스트를 소유한 프로젝트의 고유 식별자입니다. |
hostId | 문자열 | 측정값이 속한 호스트의 고유 식별자입니다. |
측정값 | 객체 배열 | 이 배열의 각 객체는 측정값과 해당 측정값에 대한 데이터 점을 나타냅니다. |
measures.dataPoints | 객체 배열 | 각 객체는 단일 데이터 점을 나타냅니다. 특정 시점에 사용할 수 있는 데이터 점이 없는 경우 이 value 는 null 로 설정됩니다. |
measures.dataPoints.timestamp | 문자열 | ISO 8601 의 타임스탬프 이 데이터 포인트가 나타내는 시간 간격의 시작 부분에 대한 UTC 의 날짜 및 시간 형식입니다. |
measures.dataPoints.value | float | 이 데이터 점의 값입니다. |
measures.name | 문자열 | 측정값의 이름입니다. 허용되는 값은 측정 유형 페이지에 나와 있습니다. |
measures.units | 문자열 | 이 측정값을 수량화하는 방법입니다. 허용되는 단위는 다음과 같습니다.
|
partitionName | 문자열 | MongoDB 프로세스 데이터베이스를 저장하는 디스크 파티션의 이름입니다. 디스크 파티션 측정 값 가져오기에 대해서만 채워집니다. |
processId | 문자열 | MongoDB 프로세스의 FQDN 및 포트입니다. |
시작하기 | 문자열 | ISO 8601 의 타임스탬프 반환된 측정값이 포함하는 기간의 시작 부분에 대해 UTC 의 날짜 및 시간 형식입니다. |
요청 예시
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --include \ --request GET "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/hosts/{HOST-ID}/measurements?granularity={TIME-INCREMENT}&period={PERIOD}&pretty=true"
응답 예시
응답 헤더
401 Unauthorized Content-Type: application/json;charset=ISO-8859-1 Date: {dateInUnixFormat} WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false Content-Length: {requestLengthInBytes} Connection: keep-alive
200 OK Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
응답 본문
{ "end": "2022-05-12T18:28:19Z", "granularity": "{TIME-INCREMENT}", "groupId": "{PROJECT-ID}", "hostId": "{HOST-ID}", "links": [ ], "measurements": [{ "dataPoints": [{ "timestamp" : "2022-05-12T18:28:10Z", "value": 5.0 }], "name": "CONNECTIONS", "units": "SCALAR" }, { "dataPoints": [{ "timestamp": "2022-05-12T18:28:10Z", "value": 15.699934824278714 }], "name": "NETWORK_BYTES_IN", "units": "BYTES_PER_SECOND" }, . . . , { "dataPoints": [], "name": "SYSTEM_NORMALIZED_CPU_SOFTIRQ", "units": "PERCENT" }, { "dataPoints": [], "name": "SYSTEM_NORMALIZED_CPU_GUEST", "units": "PERCENT" }, { "dataPoints": [], "name": "SYSTEM_NORMALIZED_CPU_STEAL", "units": "PERCENT" }], "processId": "{MONGODB-PROCESS-FQDN}:{PORT}", "start": "2022-05-12T18:28:10Z" }