Monitor Edge Server - Preview
Edge Server 인스턴스에 대한 지표와 로그를 보고 일반적인 상태나 사용량, 성능, 오류에 대한 정보를 얻을 수 있습니다.
인스턴스를 모니터링할 수 있습니다.
Atlas UI에서
로컬 hardware 의 UI 에서
관리자 API 호출을 통해
로그를 MongoDB 컬렉션이나 외부 서비스로 전달할 수도 있습니다.
이 페이지는 Edge Server 인스턴스에 대한 지표 및 로그를 보는 방법과 사용 가능한 정보에 대한 자세한 내용을 담고 있습니다.
시작하기 전에
Atlas UI 에서 에지 서버를 관리 하려면 다음이 필요합니다.
프로젝트 소유자 권한이 있는 MongoDB Atlas 계정. 무료 계정을 등록하는 방법을 학습 보려면 Atlas 시작하기를 참조하세요.
로컬 UI는 기본적으로 활성화되어 있으며 실행 중인 Edge Server 인스턴스만 필요합니다.
신뢰할 수 없는 호스팅하다 에서는 다음 edgectl
명령을 실행 하여 로컬 UI 를 비활성화할 수 있습니다.
edgectl config --disable-local-ui=true
관리자 API로 에지 서버를 관리하려면 다음이 필요합니다.
프로젝트 소유자 권한이 있는 MongoDB Atlas 계정입니다. 무료 계정을 등록하는 방법은 Atlas 시작하기를 참조하세요.
MongoDB Atlas Admin API 공용/개인 키 쌍. API 키에는 App Services Admin API를 사용하려면 프로젝트 소유자 권한이 있어야 합니다.
앱의 ObjectId 내부 16진수 string 과 앱이 ID 포함된 Atlas 프로젝트의 프로젝트 입니다. 이를 찾는 방법을 학습 보려면 앱 메타데이터 가져오기를 참조하세요.
Edge Server 인스턴스 상태 가져오기
몇 가지 방법으로 Edge Server 인스턴스의 상태에 대한 세부 정보를 확인할 수 있습니다.
UI Edge Server 에서 인스턴스 세부 정보 보기 Atlas
로컬 UI에서 상태 세부 정보 보기
edgectl
를 사용하여 상태 확인관련 Admin API 엔드포인트에 요청하기
사용 가능한 세부 정보는 액세스하는 방법에 따라 다릅니다.
Edge Server 대시보드 에는 마지막 연결 날짜 및 시간, 해당 상태의 스냅샷 을 포함하여 각 Edge Server 인스턴스 에 대한 간략한 요약이 나열됩니다. 선택적으로 각 인스턴스 에 대한 세부 정보 또는 로그를 볼 수 있습니다.
Edge Server 대시보드 를 보려면 왼쪽 탐색 사이드바에서 Edge Server 을 선택합니다.
특정 Edge Server 인스턴스 에 대한 세부 정보를 보려면 해당 에지 Edge Server 인스턴스 에 대해 View Details 를 클릭합니다. 또는 App Logs 을(를) 클릭하여 인스턴스 와 관련된 로그를 찾아볼 수 있습니다.
Edge Server 인스턴스 를 볼 때 사용할 수 있는 정보는 인스턴스 상태 에 따라 다릅니다. 자세한 내용은 Edge Server 인스턴스 세부 정보를 참조하세요.
로컬 UI에 액세스하려면 웹 브라우저를 열고 http-port
에서 localhost
로 Go 합니다. 기본 포트의 로컬 UI에 액세스할 수 있습니다: http://localhost:80
다음 edgectl
플래그와 함께 대체 포트를 Int
로 제공하여 포트를 변경할 수 있습니다.
edgectl config --http-port=<YOUR-PORT-INT>
Edge Server 인스턴스가 실행 중일 때 다음을 사용하여 인스턴스의 상태를 볼 수 있습니다.
edgectl status
이렇게 하면 Edge Server 컨테이너의 상태에 대한 정보와 중요한 정보가 분석된 동기화 서버의 자세한 상태가 제공됩니다. 다음과 유사할 수 있습니다.
{ "mongoContainerStatus": { "message": "running" }, "mongoDBStatus": { "message": "ready" }, "syncServerContainerStatus": { "message": "running" }, "syncServerStatus": { "message": "ACTIVE" }, "syncServerDetailedStatus": { "version": "v0.22.3", "status": "ACTIVE", "cloud_connected": true, "num_local_clients": 0, "query": { "Item": "truepredicate" } } }
syncServerDetailedStatus
에는 Edge Server 인스턴스의 상태에 대한 정보가 포함되어 있습니다. 여기에는 다음과 같이 Atlas와의 연결 및 연결된 클라이언트에 대한 세부 정보가 포함됩니다.
필드 이름 | 유형 | 값 |
---|---|---|
version | 문자열 | 인스턴스가 실행 중인 Edge Server 코드의 현재 버전입니다. Edge Server 인스턴스가 사용 가능한 최신 버전보다 하나 이상의 주요 버전으로 떨어지면 Atlas 에 연결할 수 없으므로 초기화하고 업데이트해야 합니다. 자세한 내용 은 Edge Server 버전 업그레이드를 참조하세요. |
status | 문자열 | Edge Server 인스턴스의 현재 상태입니다. 가능한 값은
|
cloud_connected | 부울 | true 인 경우 Edge Server 인스턴스가 현재 Atlas 에 연결되어 있는 것입니다. false 인 경우 Edge Server 인스턴스가 Atlas 에 연결되어 있지 않습니다. 인스턴스가 Atlas에 연결되어 있지 않은 경우에도 로컬 연결을 수신하고 로컬 클라이언트와 데이터를 동기화할 수 있습니다. Atlas와 다시 연결되면 연결되지 않은 동안 변경된 데이터의 동기화를 시도합니다. |
num_local_clients | Int | 현재 를 통해 인스턴스에 연결된 Edge Server 클라이언트 Atlas Device SDK 수입니다. 여기에는 유선 프로토콜을 통한 연결은 포함 되지 않습니다 . |
query | 객체 | Edge Server 객체로 JSON 제공되는 인스턴스 동기화 쿼리입니다. 자세한 내용 은 Edge Server 의 쿼리 지정을 참조하세요. |
MongoDB Atlas 사용자 인증하기
MongoDB Atlas API 키 쌍을 사용하여 관리자 사용자 인증 엔드포인트를 호출합니다.
curl -X POST \ https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{ "username": "<Public API Key>", "apiKey": "<Private API Key>" }'
인증 이 성공하면 응답 본문에 access_token
값을 가진 JSON 객체 가 포함됩니다.
{ "access_token": "<access_token>", "refresh_token": "<refresh_token>", "user_id": "<user_id>", "device_id": "<device_id>" }
access_token
은(는) App Services Admin API 에 대한 액세스 을 부여합니다. 모든 관리자 API 요청에 대해 Authorization
헤더에 베어러 토큰으로 포함해야 합니다.
Edge Server 인스턴스 목록 가져오기
관리자 API 목록 에지 서버 엔드포인트를 호출하여 모든 에지 서버 인스턴스의 목록을 가져옵니다.
요청 에는 Authorization
관리자 API 액세스 토큰이 베어러 토큰 인 헤더가 포함되어야 합니다.
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/edge \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <AccessToken>'
요청이 성공하면 200
코드와 appId
와 연결된 각 Edge Server 인스턴스에 대한 요약 세부 정보가 포함된 객체 배열의 값을 가진 edge_servers
키가 반환됩니다.
{ "edge_servers": [ { "id": "6622b8f5118368b943d228a9", "created": "2024-04-19T08:51:00Z", "name": "Edge-Store-42", "user_id": "6622b8f5118368b943d2288a", "status": "active", "hostname": "ec2-13-58-70-88.us-east-2.compute.amazonaws.com", "last_connection": "2024-04-19T09:51:00Z" } ] }
자세한 내용을 보려면 세부 정보를 보려는 인스턴스의 id
를 찾으세요.
Edge Server 정보 엔드포인트 호출
관리자 API Edge Server 정보 가져오기 엔드포인트를 호출하여 Edge Server 인스턴스에 대한 자세한 정보를 가져옵니다.
요청에는 Authorization
관리자 API 액세스 토큰이 베어러 토큰 인 헤더가 포함되어야 합니다.
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/edge/{edgeServerId} \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <AccessToken>'
요청이 성공하면 200
코드와 인스턴스에 JSON 대한 자세한 정보가 포함된 객체가 Edge Server 반환됩니다.
{ "id": "6622b8f5118368b943d228a9", "created": "2024-04-19T08:51:00Z", "name": "Edge-Store-42", "user_id": "6622b8f5118368b943d2288a", "status": "active", "hostname": "ec2-13-58-70-88.us-east-2.compute.amazonaws.com", "last_connection": "2024-04-19T09:51:00Z", "query": { "Item": "(store_id == \"641cb3d99e425c794ef69315\")" }, "package_version": "v0.21.2", "latest_package_version": "v0.22.2", "metrics": [ { "key": "edge_host_memory_percent", "name": "Memory Usage", "category": "host", "detail": "Percentage of memory used by the edge container", "value": 15, "unit": "%" }, ...additional Edge Server metrics... ] }
이 응답 본문에 대한 자세한 내용은 API 사양을 참조하세요.
Edge Server 로그
Edge Server 는 다음 로그 유형을 사용합니다.
인증 로그: 에지 서버 인스턴스 가 Atlas 로 인증을 시도하거나 클라이언트가 에지 서버 인스턴스 로 인증을 시도하면 인증 로그 가 생성됩니다.
Device Sync 로그: Edge Server 인스턴스 가 Atlas 와 동기화되거나 Atlas Device SDK 클라이언트 가 Edge Server 와 동기화되면 Device Sync 로그 가 생성됩니다.
Edge Server 로그 액세스
관리자 API의 관리자 API App Services 로그 조회 엔드포인트를 사용하여 로그에 액세스 할 수 있습니다. Edge Server 인스턴스 user_id
와 일치하는 user_id
를 필터링합니다. 또는 UI 에서 인스턴스 세부 정보 Edge Server 를 볼 때 로그를 볼 수 있습니다.Atlas
Edge Server 로그 전달
로그를 MongoDB 컬렉션 에 저장 하거나 외부 서비스로 보내도록 로그 전달자를 구성할 수 있습니다. 자세한 내용 은 서비스에 로그 전달을 참조하세요.
Edge Server Metrics
Edge Server 인스턴스는 다음에 대한 다양한 지표를 추적합니다.
호스트 하드웨어
요청
유선 프로토콜 연결 및 해당 활동
동기화
관리자 API 의 관리자 API Edge Server 정보 가져오기 엔드포인트를 사용하여 지표 데이터에 액세스 할 수 있습니다. 또는 UI 에서 인스턴스 세부 정보 를 볼 때 이러한 지표 의 하위 Edge Server 집합을 볼 수 있습니다. Atlas
반환되는 정확한 지표는 변경될 수 있습니다.
메트릭 키 | 이름 | 카테고리 | 단위 | 설명 |
---|---|---|---|---|
edge_host_memory_percent | 메모리 사용량 | 호스트 | 백분율(%) | Edge Server 컨테이너에서 사용하는 메모리의 백분율입니다. |
edge_host_cpu_percent | CPU 사용량 | 호스트 | 백분율(%) | Edge Server 컨테이너에서 사용되는 CPU 비율입니다. |
overall_request_success | 성공한 요청 | 전체 | Int | 성공적인 요청의 총 개수입니다. |
전반적인_요청_실패 | 실패한 요청 | 전체 | Int | 실패한 총 요청 수입니다. |
Wire_protocol_request_success | 성공적인 유선 프로토콜 요청 | 유선 프로토콜 | Int | 성공적인 유선 프로토콜 요청의 총 개수입니다. |
wire_protocol_request_fail | 실패한 유선 프로토콜 요청 | 유선 프로토콜 | Int | 실패한 유선 프로토콜 요청의 총 개수입니다. |
Wire_protocol_egress_bytes | 유선 프로토콜 데이터 전송 | 유선 프로토콜 | 바이트 | 유선 프로토콜에서 반환된 총 바이트 수입니다. |
edge_wire_protocol_connection_count | 유선 프로토콜 연결 수 | 유선 프로토콜 | Int | 현재 유선 프로토콜을 사용하여 연결된 클라이언트의 총 수입니다. 이러한 연결에는 MongoDB 드라이버, MongoDB Shell, MongoDB Compass 및 유선 프로토콜 연결을 사용하는 기타 도구가 포함됩니다. |
sync_requests_success | 성공한 동기화 요청 | 동기화 | Int | 성공한 동기화 요청의 총 수입니다. |