Monitor Edge Server - Preview
Edge Server インスタンスのメトリクスとログを表示して、一般的なヘルス ステータス、または使用状況、パフォーマンス、エラーに関する情報を取得できます。
インスタンスを監視できます。
Atlas UI 内
ローカル ハードウェア上の UI 内
管理 API 呼び出しによる
MongoDB コレクションまたは外部サービスにログを転送することもできます。
このページには、Edge Server インスタンスのメトリクスとログを表示する方法と、利用可能な情報についての詳細が含まれています。
始める前に
Atlas UI で Edge Server を管理するには、次のものが必要です。
プロジェクト所有者の権限を持つ MongoDB Atlas アカウント。 無料アカウントの登録方法については、「 Atlasを使い始める 」を参照してください。
ローカル UI はデフォルトで有効になっており、実行中の Edge Server インスタンスのみが必要です。
信頼されていないホストでは、次の edgectl
コマンドを実行してローカル UI を無効にできます。
edgectl config --disable-local-ui=true
Admin API を使用して Edge Server を管理するには、次のものが必要です。
プロジェクト所有者の権限を持つ MongoDB Atlas アカウント。 無料アカウントのサインアップ方法については、「 Atlas の使用 」を参照してください。
MongoDB Atlas Admin APIの公開キーと秘密キーのペア。 App Services Admin API を操作するには、API キーにプロジェクト オーナーの権限が必要です。
アプリの内部 ObjectId 16x string と、アプリを含む Atlas プロジェクトのプロジェクト ID。 これらを見つける方法については、 「 アプリのメタデータを取得する 」を参照してください。
Edge Server インスタンスのステータスを取得する
Edge Server インスタンスのステータスの詳細を取得するには、次の方法があります。
Atlas UI での Edge Server インスタンスの詳細の表示
ローカル UI でステータスの詳細を表示する
ステータスを確認するには
edgectl
を使用します関連する管理 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 コンテナの状態に関する情報と、重要な情報の内訳の Sync サーバーの詳細なステータスが提供されます。 次のようになります。
{ "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 インスタンスが利用可能な最新バージョンより 1 つ以上前のメジャー バージョンより遅れている場合は、Atlas に接続できなくなるため、消去して更新する必要があります。 詳細については、「 Edge Server バージョンのアップグレード 」を参照してください。 |
status | 文字列 | Edge Server インスタンスの現在のステータス。 指定できる値は、
|
cloud_connected | ブール値 | true の場合、Edge Server インスタンスは現在 Atlas に接続されています。 false の場合、Edge Server インスタンスは Atlas に接続されていません。 インスタンスが Atlas に接続されていない場合でも、ローカル接続は引き続き受信し、ローカル クライアントとデータを同期できます。 Atlas と再接続すると、接続されていない間に変更されたデータの同期が試行されます。 |
num_local_clients | Int | 現在 Atlas Device SDK を介して Edge Server インスタンスに現在接続されているクライアントの数。 これにはワイヤプロトコルを介した接続は含まれません。 |
query | オブジェクト | JSON オブジェクトとして表示される Edge Server インスタンス同期クエリ。 詳細については、「 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
ヘッダーに Bearer トークンとして含める必要があります。
Edge Server インスタンスの一覧を取得する
すべての Edge Server インスタンスのリストを取得するには、 Admin API List Edge Serverエンドポイントを呼び出します。
Authorization
リクエストには、管理 API アクセス トークンが Bearer トークン として返される ヘッダーが含まれている必要があります。
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 情報エンドポイントの呼び出し
Edge Server インスタンスに関する詳細情報を取得するには、 「Admin API Get Edge Server 情報エンドポイント」を呼び出します。
Authorization
リクエストには、管理 API アクセス トークンが Bearer トークン として返される ヘッダーが含まれている必要があります。
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
コードと、Edge Server インスタンスに関する詳細情報を含む JSON オブジェクトが返されます。
{ "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 は、次のログタイプを使用します。
認証ログ: Edge Server インスタンスが Atlas で認証を試みる場合、またはクライアントが Edge Server インスタンスで認証を試みると、認証ログが生成されます。
Device Sync ログ: Edge Server インスタンスが Atlas と同期するか、Atlas Device SDK クライアントが Edge Server と同期すると、Device Sync ログが生成されます。
Edge Server ログにアクセス
App Services ログには、 Admin APIのAdmin API Retry App Services ログエンドポイント を使用してアクセスできます。 Edge Server インスタンスuser_id
に一致するuser_id
をフィルタリングします。 または、Atlas UI でEdge Server インスタンスの詳細を表示するときにログを表示できます。
Edge Server ログの転送
ログを MongoDB コレクションに保存したり、外部サービスに送信したりするようにログフォワーダーを構成できます。 詳細については、「 サービスへのログの転送 」を参照してください。
Edge Server Metrics
Edge Server インスタンスは、次に関するさまざまなメトリクスを追跡します。
ホスト ハードウェア
リクエスト
ワイヤプロトコルの接続とそのアクティビティ
同期
メトリクス データには、Admin API のAdmin API Get Edge Server 情報エンドポイント を使用してアクセスできます。 または、Atlas UI でEdge Server インスタンスの詳細を表示するときに、これらのメトリクスのサブセットを表示できます。
返される正確なメトリクスは変更される場合があります。
メトリクスキー | 名前 | カテゴリ | 単位 | 説明 |
---|---|---|---|---|
Edge_host_memory_percent | メモリ使用量 | Host | 割合(%) | Edge Server コンテナによって使用されるメモリの割合。 |
Edge_host_CPU_percent | CPU 使用率 | Host | 割合(%) | Edge Server コンテナによって使用される CPU の割合。 |
total_request_success | 成功したリクエスト | 全体 | Int | 成功したリクエストの合計数。 |
total_request_fail | 失敗したリクエスト | 全体 | Int | 失敗したリクエストの合計数。 |
wire_protocol_request_success | 成功したワイヤプロトコルリクエスト | ワイヤプロトコル | Int | 成功した ワイヤプロトコル リクエストの合計数。 |
wire_protocol_request_fail | 失敗したワイヤプロトコルリクエスト | ワイヤプロトコル | Int | 失敗した ワイヤプロトコル リクエストの合計数。 |
wire_protocol_egress_bytes | ワイヤプロトコルによるデータ転送 | ワイヤプロトコル | バイト | ワイヤプロトコルによって返された合計バイト数。 |
Edge_wire_protocol_ connection_count | ワイヤプロトコル接続数 | ワイヤプロトコル | Int | The total number of clients currently connected using the Wire Protocol. これらの接続には、MongoDB ドライバー、MongoDB Shell、MongoDB Compass、および ワイヤプロトコル 接続を使用するその他のツールが含まれます。 |
sync_requests_success | 成功した同期リクエスト | 同期 | Int | 成功した同期リクエストの合計数。 |