米发多端监控提供API来新增、修改、删除和查询监控。
在集成API前,请务必阅读 米发API地址及公共参数
获取单个监控项目信息
主动查询指定监控ID监控状态,适用于已存在监控项目,主动查询URL的状态。
请求:GET /monitor/{id}
参数:不需要
接口返回字段:
{
"data": {
"id": 监控项目ID,
"host": 同步的域名转发记录(如果有),
"monitoring_name": 监控项目名称,
"urls": 监控的URL列表,数组[],
"urls_valid": 当前可用的URL列表,数组[],
"urls_invalid": 当前不可用的URL列表,数组[],
"urls_invalid_on_monitors": 各个监控模块的不可用URL列表,
"monitoring_urls_amount_in_healthy": 健康时监控的URL数量,
"monitoring_config": 监控的配置,
"notify_config": 告警配置,
"enabled": 是否启用,
"next_run_times": 各个模块的下次派发任务时间,
"extra": 额外信息,
"create_time": 监控项目创建时间,
"update_time": 监控项目更新时间
}
}
返回示例:
{
"data": {
"id": "0ef4c572-40c9-482c-92d2-3cb3cc067523",
"host": "jiankong.test.mfpad.com",
"monitoring_name": "jiankong.test.mfpad.com",
"urls": [
"http://www.gc788.com/i1",
"http://www.gc788.com/i2",
"http://www.gc788.com/i5"
],
"urls_valid": [
"http://www.gc788.com/i1",
"http://www.gc788.com/i2",
"http://www.gc788.com/i5"
],
"urls_invalid": [
"https://page.mfpad.com/"
],
"urls_invalid_on_monitors": {
"CnHttpMonitor": [],
"GlobalHttpMonitor": [
"https://page.mfpad.com/"
]
},
"monitoring_urls_amount_in_healthy": 3,
"monitoring_config": {
"interval": 3,
"monitoring_name": "",
"monitoring_urls": 1,
"monitors": [
"CnHttpMonitor",
"GlobalHttpMonitor"
],
"CnHttpMonitor": {
"timeout": 5500,
"interval": 0
},
"GlobalHttpMonitor": {
"timeout": 9000,
"interval": 0
}
},
"notify_config": {
"api": {
"endpoint": ""
}
},
"enabled": 1,
"next_run_times": {
"CnHttpMonitor": "2019-10-15 05:02:57",
"GlobalHttpMonitor": "2019-10-15 05:02:27"
},
"extra": {
"monitoring_urls_added_by_this_request": [],
"monitoring_urls_deleted_by_this_request": []
},
"create_time": "2019-10-06 01:52:32",
"update_time": "2019-10-15 15:48:15"
}
}
查询获取所有监控列表及状态
请求: GET /monitor
返回字段:
{
"data": [
{
单个监控项目字段(详见上方监控信息字段)
},
{
单个监控项目字段(详见上方监控信息字段)
},
......
],
"meta": {
"pagination": 分页信息
}
}
查询并更新
主动查询指定监控ID监控状态并更新监控URL列表,适用于已存在监控项目,主动轮询查询URL的状态,如果提供的URL列表与系统中监控不一致,则自动更新系统,新的URL将在更新后被监控。
请求:POST /monitor/{id}/checkAndUpdate
参数:url_list[] URL列表数组,url格式:http(s)://www.abc.com/
返回示例:
{
"data": {
字段均与上面监控项目字段相同,其中额外信息会有不同
"extra": {
"monitoring_urls_added_by_this_request": 当前请求新增的监控URL列表,
"monitoring_urls_deleted_by_this_request": 当前请求删除的监控URL列表,
}
}
}
修改
修改一个监控项目
请求:PUT /monitor/{id}
参数:可参考上方获取单个监控项目信息中的所有字段
返回:监控项目信息