機能の概要
このAPIは、指定されたOB Cloudデータベースインスタンスおよびテナント内のすべてのセッションの統計情報を照会し、SQL IDごとにグループ化して集計するために使用されます。このAPIを利用することで、アクティブセッション数やユーザーの出所など、さまざまなSQL文の実行状況を分析し、パフォーマンス監視や問題の調査に役立てることができます。
呼び出しの説明
インターフェース制約
呼び出し元はマルチクラウドAPIにアクセスするためのキーを保有している必要があります。AccessKey IDとAccessKey Secretの取得方法の詳細については、アクセスキーの管理をご参照ください。
リクエストパス
GET /api/v2/instances/{instanceId}/tenants/{tenantId}/sessions/groupBySqlId
リクエストパラメータ
パスパラメータ
パラメータ名 |
型 |
必須 |
説明 |
サンプル値 |
|---|---|---|---|---|
| instanceId | string | はい | OB CloudデータベースインスタンスID。 | obcluster-***** |
| tenantId | string | はい | テナントID。 | t4louaeei**** |
クエリパラメータ
パラメータ名 |
型 |
必須 |
説明 |
サンプル値 |
|---|---|---|---|---|
| requestId | string | はい | リクエストID。このリクエストの追跡に使用されます。 | dc302d76-66b5-48d8-ab53-a035******** |
| status | string | いいえ | セッションのステータスフィルター条件。 | なし |
| sqlText | string | いいえ | SQL文のテキスト。あいまい一致に使用されます。 | SELECT * FROM users WHERE id = 1 |
| clientIp | string | いいえ | クライアントIPアドレス。特定のクライアントからのセッションをフィルタリングするために使用されます。 | なし |
| serverIp | string | いいえ | サーバーIPアドレス。特定のサーバー上で実行されているセッションをフィルタリングするために使用されます。 | なし |
| users | string | いいえ | ユーザー名。特定のユーザーのセッションをフィルタリングするために使用されます。 | なし |
| sortField | string | いいえ | 結果を返すフィールドのソートフィールドを指定します。 | なし |
| sortOrder | string | いいえ | ソート順序を指定します。ASC(昇順)またはDESC(降順)が選択可能です。 |
なし |
| mergeDynamicSql | boolean | いいえ | 動的SQLをマージするかどうか。trueに設定すると、パラメータ化されたSQLがマージ統計に含まれます。 |
なし |
実行結果
パラメータ名 |
型 |
説明 |
|---|---|---|
| requestId | string | リクエストID。リクエストパラメータのrequestIdと一致します。 |
| data | array | SQL IDごとにグループ化されたセッション統計情報のリストです。 |
| data[].sqlId | string | SQL文の一意の識別子IDです。 |
| data[].sqlText | string | SQL文のテキスト内容です。 |
| data[].sessionCount | integer | そのSQLを実行したアクティブセッション数です。 |
| data[].userCount | integer | そのSQLを実行したユーザー数です。 |
| data[].clientIpCount | integer | そのSQLを実行した異なるクライアントIPアドレスの数です。 |
| data[].serverIpCount | integer | そのSQLを実行した異なるサーバーIPアドレスの数です。 |
| server | string | リクエストを処理したサーバーアドレスです。 |
例
リクエスト例
curl -X GET \
-H "Content-Type: application/json" \
-u '<Your AK:SK>' \
"https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/tenants/{tenantId}/sessions/groupBySqlId?requestId={requestId}"
実行結果例
{
"requestId": "{requestId}",
"data": [
{
"sqlId": "xxxxxx",
"sqlText": "SELECT * FROM t1 WHERE id = ?",
"sessionCount": 5,
"userCount": 3,
"clientIpCount": 2,
"serverIpCount": 1
},
{
"sqlId": "yyyyyy",
"sqlText": "UPDATE t2 SET name = ? WHERE id = ?",
"sessionCount": 2,
"userCount": 1,
"clientIpCount": 1,
"serverIpCount": 1
}
],
"server": "xxx.xxx.x.xxx:xxxx"
}