米发多端监控提供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}

参数:可参考上方获取单个监控项目信息中的所有字段

返回:监控项目信息