这些 API 调用与管理控制台节点交互。
管理控制台的 Rest API
- 1: MC-User-ApiKey
- 2: GET alerts
- 3: GET mcTimeInfo
- 4: 阈值类别筛选器
- 5: 数据库名称类别筛选器
- 6: 将子类别筛选器与类别筛选器组合起来
1 - MC-User-ApiKey
MC-User-ApiKey 是特定于用户的密钥,与管理控制台结合使用。用户必须拥有 MC-User-ApiKey 才能使用 Rest API 与 MC 交互。所有具有 None 以外的其他角色的用户都将自动收到 MC-User-ApiKey。
此密钥可通过 API 向用户授予他们已通过 MC 角色获取的相同权限。若要与 MC 交互,用户应在 API 的请求标头中传递该密钥。
查看 MC-User-ApiKey
如果您是数据库管理员,则可以查看所有用户的 MC-User-ApiKey。各个用户可以查看各自的密钥。
-
连接到 MC,然后转到“MC 设置 (MC Settings)”>“用户管理 (User Management)”。
-
选择要查看的用户,然后单击“编辑 (Edit)”。该用户的密钥将显示在“用户 API 密钥 (User API Key)”字段中。
2 - GET alerts
返回 MC 警报及其当前状态和数据库属性的列表。
资源 URL
https://<MC_NODE>:5450/webui/api/alerts
认证
请求头中需要包含 MC-User-Apikey。
筛选器参数
示例请求
使用 cURL 请求警报
以下示例显示了如何使用 cURL 请求警报。在此示例中,limit
参数设置为“2”,而 types
参数设置为 info
和 notice
:
curl -H "MC-User-ApiKey: ValidUserKey" https://<MC_NODE>:5450/webui/api/alerts?limit=2&types=info,notice
响应:
[
{
"alerts":[
{
"id":5502,
"markedRead":false,
"eventTypeCode":0,
"create_time":"2016-02-02 05:12:10.0",
"updated_time":"2016-02-02 15:50:20.511",
"severity":"warning",
"status":1,
"nodeName":"v_vmart_node0001",
"databaseName":"VMart",
"databaseId":1,
"clusterName":"1449695416208_cluster",
"description":"Warning: Low disk space detected (73% in use)",
"summary":"Low Disk Space",
"internal":false,
"count":3830
},
{
"id":5501,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2016-02-02 05:12:02.31",
"updated_time":"2016-02-02 05:12:02.31",
"severity":"notice",
"status":1,
"databaseName":"VMart",
"databaseId":1,
"clusterName":"1449695416208_cluster",
"description":"Analyze Workload operation started on Database",
"summary":"Analyze Workload operation started on Database",
"internal":false,
"count":1
}
],
"total_alerts":190,
"request_query":"limit=2",
"request_time":"2016-02-02 15:50:26 -0500"
}
]
请求某个时间范围内的警报
以下示例显示了多种方法,您可以使用这些方法请求与以上示例相同但处于指定时间范围的警报。
使用 time_from
和 time_to
参数请求处于特定时间范围的警报:
curl -H "MC-User-ApiKey: ValidUserKey" https://<MC_NODE>:5450/webui/api/alerts?types=info,notice&time_from=2016-01-01T12:12&time_to=2016-02-01T12:12
使用 time_from
参数请求从特定开始时间到当前时间的警报:
curl -H "MC-User-ApiKey: ValidUserKey" https://<MC_NODE>:5450/webui/api/alerts?types=info,notice&time_from=2016-01-01T12:12
使用 time_to
参数请求到特定终点为止的警报:如果使用 time_to
参数但不使用 time_from
参数,则 time_from
参数默认设置为 MC 所包含的最旧警报:
curl -H "MC-User-ApiKey: ValidUserKey" https://<MC_NODE>:5450/webui/api/alerts?types=info,notice&time_to=2016-01-01T12:12
3 - GET mcTimeInfo
返回 MC 服务器的当前时间和该 MC 服务器所位于的时区。
资源 URL
https://<MC_NODE>:5450/webui/api/mcTimeInfo
认证
请求头中需要包含 MC-User-Apikey。
参数
无。
示例请求
以下示例显示了如何使用 cURL 请求 MC 时间信息:
curl -H "MC-User-ApiKey: ValidUserKey" https://<MC_NODE>:5450/webui/api/mcTimeInfo
响应:
{"mc_current_time":"Tue, 2000-01-01 01:02:03 -0500","mc_timezone":"US/Eastern"}
4 - 阈值类别筛选器
返回与 MC 中的阈值设置相关的警报的列表。
资源 URL
https://<MC_NODE>:5450/webui/api/alerts?category=thresholds
认证
请求头中需要包含 MC-User-Apikey。
示例请求
以下示例显示了如何使用 cURL 请求有关阈值的警报:
curl -H "MC-User-ApiKey: ValidUserKey" https://<MC_NODE>:5450/webui/api/alerts?category=thresholds
响应:
[
{
"alerts":[
{
"id":33,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-10 10:28:41.332",
"updated_time":"2015-11-10 10:28:41.332",
"severity":"warning",
"status":1,
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":" Database: mydb Lower than threshold Node Disk I/O 10 % v_mydb_node0002 ;1.6% v_mydb_node0002 ;1.4% v_mydb_node0002 ;2.3% v_mydb_node0002 ;1.13% v_mydb_node0002 ;1.39% v_mydb_node0001 ;3.78% v_mydb_node0003 ;1.79% ",
"summary":"Threshold : Node Disk I/O < 10 %",
"internal":false,
"count":1
},
{
"id":32,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-10 10:28:40.975",
"updated_time":"2015-11-10 10:28:40.975",
"severity":"warning",
"status":1,
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":" Database: mydb Lower than threshold Node Memory 10 % v_mydb_node0002 ;5.47% v_mydb_node0002 ;5.47% v_mydb_node0002 ;5.47% v_mydb_node0002 ;5.47% v_mydb_node0002 ;5.48% v_mydb_node0003 ;4.53% ",
"summary":"Threshold : Node Memory < 10 %",
"internal":false,
"count":1
},
{
"id":31,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-10 10:28:40.044",
"updated_time":"2015-11-10 10:28:40.044",
"severity":"warning",
"status":1,
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":" Database: mydb Lower than threshold Node CPU 10 % v_mydb_node0002 ;1.4% v_mydb_node0002 ;1.64% v_mydb_node0002 ;1.45% v_mydb_node0002 ;2.49% ",
"summary":"Threshold : Node CPU < 10 %",
"internal":false,
"count":1
},
{
"id":30,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-10 10:28:34.562",
"updated_time":"2015-11-10 10:28:34.562",
"severity":"warning",
"status":1,
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":" Database: mydb Exceed threshold Node Disk Usage 60 % v_mydb_node0001 ;86.41% ",
"summary":"Threshold : Node Disk Usage > 60 %",
"internal":false,
"count":1
}
],
"total_alerts":4,
"request_query":"category=thresholds",
"request_time":"2015-11-10 10:29:17.129"
}
]
另请参阅
5 - 数据库名称类别筛选器
返回有关特定数据库的 MC 警报的列表。
资源 URL
https://<MC_NODE>:5450/webui/api/alerts?db_name=
认证
请求头中需要包含 MC-User-Apikey。
示例请求
以下示例显示了如何使用 cURL 查看有关特定数据库的警报:
curl -H "MC-User-ApiKey: ValidUserKey" https://<MC_NODE>:5450/webui/api/alerts?db_name="mydb"
响应:
[
{
"alerts":[
{
"id":9,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-05 15:10:53.391",
"updated_time":"2015-11-05 15:10:53.391",
"severity":"notice",
"status":1,
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":"Workload analyzed successfully",
"summary":"Analyze Workload operation has succeeded on Database",
"internal":false,
"count":1
},
{
"id":8,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-05 15:10:31.16",
"updated_time":"2015-11-05 15:10:31.16",
"severity":"notice",
"status":1,
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":"Analyze Workload operation started on Database",
"summary":"Analyze Workload operation started on Database",
"internal":false,
"count":1
},
{
"id":7,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-05 00:15:00.204",
"updated_time":"2015-11-05 00:15:00.204",
"severity":"alert",
"status":1,
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":"Workload analyzed successfully",
"summary":"Analyze Workload operation has succeeded on Database",
"internal":false,
"count":1
},
{
"id":6,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-04 15:14:59.344",
"updated_time":"2015-11-04 15:14:59.344",
"severity":"notice",
"status":1,
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":"Workload analyzed successfully",
"summary":"Analyze Workload operation has succeeded on Database",
"internal":false,
"count":1
},
{
"id":5,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-04 15:14:38.925",
"updated_time":"2015-11-04 15:14:38.925",
"severity":"notice",
"status":1,
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":"Analyze Workload operation started on Database",
"summary":"Analyze Workload operation started on Database",
"internal":false,
"count":1
},
{
"id":4,
"markedRead":false,
"eventTypeCode":0,
"create_time":"2015-11-04 15:14:33.0",
"updated_time":"2015-11-05 16:26:17.978",
"severity":"notice",
"status":1,
"nodeName":"v_mydb_node0001",
"databaseName":"lmydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":"Workload analyzed successfully",
"summary":"Analyze Workload operation has succeeded on Database",
"internal":false,
"count":1
},
{
"id":3,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-04 15:14:32.806",
"updated_time":"2015-11-04 15:14:32.806",
"severity":"info",
"status":1,
"hostIp":"10.20.100.64",
"nodeName":"v_mydb_node0003",
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":"Agent status is UP on IP 127.0.0.1",
"summary":"Agent status is UP on IP 127.0.0.1",
"internal":false,
"count":1
},
{
"id":2,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-04 15:14:32.541",
"updated_time":"2015-11-04 15:14:32.541",
"severity":"info",
"status":1,
"hostIp":"10.20.100.63",
"nodeName":"v_mydb_node0002",
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":"Agent status is UP on IP 127.0.0.1",
"summary":"Agent status is UP on IP 127.0.0.1",
"internal":false,
"count":1
},
{
"id":1,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-04 15:14:32.364",
"updated_time":"2015-11-04 15:14:32.364",
"severity":"info",
"status":1,
"hostIp":"10.20.100.62",
"nodeName":"v_mydb_node0001",
"databaseName":"mydb",
"databaseId":1,
"clusterName":"1446668057043_cluster",
"description":"Agent status is UP on IP 127.0.0.1",
"summary":"Agent status is UP on IP 127.0.0.1",
"internal":false,
"count":1
}
],
"total_alerts":9,
"request_query":"db_name=mydb",
"request_time":"2015-11-05 16:26:21.679"
}
]
6 - 将子类别筛选器与类别筛选器组合起来
您可以将类别筛选器与子类别筛选器结合使用,以获取在 MC 中设置的特定阈值的警报消息。还可以使用子类别筛选器,以获取有关数据库中特定资源池的警报。
子类别筛选器
可以将以下子类别筛选器与类别筛选器结合使用。子类别筛选器区分大小写,并且必须是小写。
特定于资源池的子类别筛选器
若要检索特定资源池的警报,您可以将子类别筛选器与以下类别筛选器结合使用:
-
thresholds
-
rp_name
如果使用这些子类别筛选器但不使用 RP_NAME
筛选器,查询将检索数据库中所有资源池的警报。
认证
请求头中需要包含 MC-User-Apikey。
示例请求
将阈值类别筛选器与子类别筛选器结合使用
以下示例显示了如何将 cURL 与阈值类别筛选器和子类别筛选器结合使用以获取警报。您可应用以下筛选器:
-
THRESHOLDS
-
THRESHOLD_NODE_CPU
curl -H "MC-User-ApiKey: ValidUserKey" https://<MC_NODE>:5450/webui/api/alerts?category=thresholds&subcategory=threshold_node_cpu
响应:
[
{
"alerts":[
{
"id":11749,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-05 11:04:43.997",
"updated_time":"2015-11-05 11:04:43.997",
"severity":"warning",
"status":1,
"databaseName":"mydb",
"databaseId":105,
"clusterName":"1443122180317_cluster",
"description":" Database: mydb Lower than threshold Node CPU 10 % v_mydb_node0002 ;1.03% v_mydb_node0003 ;0.9% v_mydb_node0001 ;1.36% ",
"summary":"Threshold : Node CPU < 10 %",
"internal":false,
"count":1
},
{
"id":11744,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-05 10:59:46.107",
"updated_time":"2015-11-05 10:59:46.107",
"severity":"warning",
"status":1,
"databaseName":"mydb2",
"databaseId":106,
"clusterName":"1443552354071_cluster",
"description":" Database: mydb2 Lower than threshold Node CPU 10 % v_mydb2_node0002 ;0.83% v_mydb2_node0001 ;1.14% ",
"summary":"Threshold : Node CPU < 10 %",
"internal":false,
"count":1
}
],
"total_alerts":2,
"request_query":"category=thresholds&subcategory=threshold_node_cpu",
"request_time":"2015-11-05 11:05:28.116"
}
]
请求有关特定资源池的警报
以下示例显示了如何使用 cURL 请求有关特定资源池的警报。资源池的名称是 resourcepool1
。您可应用以下筛选器:
-
THRESHOLDS
-
RP_NAME
-
THRESHOLD_RP_QUERY_RUN_TIME
curl -H "MC-User-ApiKey: ValidUserKey" https://<MC_NODE>:5450/webui/api/alerts?category=thresholds&subcategory=threshold_rp_query_run_time&rp_name=resourcepool1
响应:
[
{
"alerts":[
{
"id":6525,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-05 14:25:36.797",
"updated_time":"2015-11-05 14:25:36.797",
"severity":"warning",
"status":1,
"databaseName":"mydb",
"databaseId":106,
"clusterName":"1443552354071_cluster",
"description":" Resource Pool: resourcepool1 Threshold Name: Ended Query with Run Time Exceeding Limit Time Interval: 14:20:36 to 14:25:36 Threshold Value: 0 min(s) Actual Value: 2186 query(s) ",
"summary":"Resource Pool: resourcepool1; Threshold : Ended Query with Run Time Exceeding Limit > 0 min(s)",
"internal":false,
"count":1
},
{
"id":6517,
"markedRead":false,
"eventTypeCode":2,
"create_time":"2015-11-05 14:20:39.541",
"updated_time":"2015-11-05 14:20:39.541",
"severity":"warning",
"status":1,
"databaseName":"mydb",
"databaseId":106,
"clusterName":"1443552354071_cluster",
"description":" Resource Pool: resourcepool1 Threshold Name: Ended Query with Run Time Exceeding Limit Time Interval: 14:15:39 to 14:20:39 Threshold Value: 0 min(s) Actual Value: 2259 query(s) ",
"summary":"Resource Pool: resourcepool1; Threshold : Ended Query with Run Time Exceeding Limit > 0 min(s)",
"internal":false,
"count":1
}
],
"total_alerts":14,
"request_query":"category=thresholds&subcategory=threshold_rp_query_run_time&rp_name=resourcepool1",
"request_time":"2015-11-05 11:07:43.988"
}
]