配置数据获取

对于管理端API来说,对于各个模块的配置获取是批量性的获取,下面对各个模块的数据格式进行说明

服务节点配置获取

请求地址 : /tlops/service/list

请求方法 : GET/POST

{
    "code": 0,          // 请求状态码,代码不报错,一般来说返回0
    "msg": "success",   // 状态信息
    "data": {
        "tl_ops_service_list": {                            // 服务节点配置列表key
            "test": [                                       // 节点列表
                {
                    "service": "test",                      // 节点所属服务
                    "updatetime": "2022-08-11 15:15:00",    // 节点信息更新时间
                    "name": "test-node-1",                  // 节点名称
                    "id": "1011171617076035585",            // 节点id
                    "port": 9091,                           // 节点端口
                    "protocol": "http://",                  // 节点支持的协议
                    "ip": "127.0.0.1"                       // 节点ip
                },
            ]
        },
        "tl_ops_service_rule": "auto_load"
    }
}

健康检查配置获取

请求地址 : /tlops/health/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_health_options_list": [             // 健康检查配置列表key
            {
                "check_failed_max_count": 5,        // 最大失败次数
                "check_success_max_count": 2,       // 最大成功次数
                "check_content": "GET / HTTP/1.0",  // 自检内容
                "check_timeout": 1000,              // 自检超时时间
                "check_success_status": [           // 成功状态码列表
                    200
                ],
                "check_interval": 10000,            // 自检周期
                "check_service_name": "test"        // 自检服务名称
            }
        ]
    }
}

熔断限流配置获取

请求地址 : /tlops/limit/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_limit_fuse_options_list": [         // 熔断配置列表key
            {
                "service_threshold": 0.5,           // 服务熔断阈值
                "interval": 10000,                  // 熔断自检周期
                "level": "service",                 // 熔断自检层级
                "node_threshold": 0.3,              // 节点熔断阈值
                "service_name": "test",             // 熔断自检服务名称
                "recover": 15000,                   // 全熔断自恢复时间
                "depend": "token",                  // 熔断依赖算法
                "mode": "balance_fail"              // 熔断依赖数据模式
            }
        ],
        "tl_ops_limit_token_options_list": [        // 令牌桶配置列表key
            {
                "warm": 102400,                     // 令牌桶预热数量
                "rate": 1024,                       // 令牌生成速率/秒 (每秒 1KB)
                "shrink": 0.5,                      // 令牌桶缩容比例
                "block": 1024,                      // 令牌桶最小单位
                "expand": 0.5,                      // 令牌桶扩容比例
                "service_name": "test",             // 令牌桶负责的服务
                "capacity": 10485760                // 令牌桶最大容量
            }
        ],
        "tl_ops_limit_leak_options_list": [         // 漏桶配置列表key
            {
                "rate": 1024,                       // 漏生成速率/秒 (每秒 1KB)
                "shrink": 0.5,                      // 漏桶缩容比例
                "block": 1024,                      // 漏桶最小单位
                "expand": 0.5,                      // 漏桶扩容比例
                "service_name": "test",             // 漏桶负责的服务
                "capacity": 10485760                // 漏桶最大容量
            }
        ]
    }
}

数据文件列表获取

请求地址 : /tlops/store/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "api" : {                                   // 数据文件内容key
            "name": "tl-ops-balance-api.tlstore",   // 数据文件名称
            "version": 62,                          // 数据文件内容版本数
            "id": 1,                                // 数据文件id
            "size": 40072,                          // 数据文件内容大小
            "list": [                               // 数据文件内容版本列表
                {                                   // 数据文件内容详情
                    "value": "{\"point\":[],\"random\":[]}",
                    "business": "tl-ops-balance-api",
                    "time": "2022-08-11 15:14:12"
                },
            ],
        }
    }
}

负载错误内容配置获取

请求地址 : /tlops/balance/get

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "offline": {                                // 负载错误内容key
            "content": "<p> offline err </p>",      // 负载错误自定义内容
            "code": 503,                            // 负载错误自定义错误码
            "content_type": "text/html"             // 负载错误自定义内容格式
        },
    }
}

负载API规则配置获取

请求地址 : /tlops/balance/api/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_balance_api_rule": "point",                 // 当前选中模式
        "tl_ops_balance_api_list": {                        // 规则列表key
            "point": [                                      // 指定模式规则列表
                {
                    "id": "1012923972696031233",            // 规则id
                    "updatetime": "2022-08-16 11:18:14",    // 规则更新时间
                    "host": "localhost",                    // 规则生效域名
                    "service": "test",                      // 规则转发到的服务
                    "rewrite_url": "",                      // 规则重写uri地址
                    "node": 1,                              // 规则转发到服务下的节点索引
                    "url": "/online/*"                      // 规则匹配正则
                }
            ],
            "random": []                                    // 随机模式规则列表 (相比于point少了一个node索引)
        },
    }
}

负载COOKIE规则配置获取

请求地址 : /tlops/balance/cookie/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_balance_cookie_rule": "point",              // 当前选中模式
        "tl_ops_balance_cookie_list": {                     // 规则列表key
            "point": [                                      // 指定模式规则列表
                {
                    "id": "1015832846214250497",            // 规则id
                    "updatetime": "2022-08-24 11:57:03",    // 规则更新时间
                    "host": "localhost",                    // 规则生效域名
                    "node": 0,                              // 规则转发到服务下的节点索引
                    "service": "test",                      // 规则转发到的服务
                    "key": "iamtsm",                        // 规则匹配名称
                    "value": [                              // 规则匹配值列表
                        "666"
                    ],
                }
            ],
            "random": []                                    // 随机模式规则列表 (相比于point少了一个node索引)
        },
    }
}

负载请求头规则配置获取

请求地址 : /tlops/balance/header/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_balance_header_rule": "point",              // 当前选中模式
        "tl_ops_balance_header_list": {                     // 规则列表key
            "point": [                                      // 指定模式规则列表
                {
                    "id": "1015834324085653505",            // 规则id
                    "updatetime": "2022-08-24 12:02:56",    // 规则更新时间
                    "host": "localhost",                    // 规则生效域名
                    "node": 0,                              // 规则转发到服务下的节点索引
                    "service": "test",                      // 规则转发到的服务
                    "key": "iamtsm",                        // 规则匹配名称
                    "value": [                              // 规则匹配值列表
                        "test"
                    ],
                }
            ],
            "random": []                                    // 随机模式规则列表 (相比于point少了一个node索引)
        },
    }
}

负载请求参数规则配置获取

请求地址 : /tlops/balance/param/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_balance_param_rule": "point",               // 当前选中模式
        "tl_ops_balance_param_list": {                      // 规则列表key
            "point": [                                      // 指定模式规则列表
                {
                    "id": "1015833876272398337",            // 规则id
                    "updatetime": "2022-08-24 12:01:09",    // 规则更新时间
                    "host": "localhost",                    // 规则生效域名
                    "node": 0,                              // 规则转发到服务下的节点索引
                    "service": "test",                      // 规则转发到的服务
                    "key": "iamtsm",                        // 规则匹配名称
                    "value": [                              // 规则匹配值列表
                        "111"
                    ],
                }
            ],
            "random": []                                    // 随机模式规则列表 (相比于point少了一个node索引)
        },
    }
}

WAF错误内容配置获取

请求地址 : /tlops/waf/get

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "waf_ip": {                             // WAF错误内容key
            "content_type": "text/html",        // WAF错误内容格式
            "code": 503,                        // WAF自定义错误码
            "content": "<p> waf_ip err </p>"    // WAF自定义错误内容
        },
    },
}

WAF-API规则配置获取

请求地址 : /tlops/waf/api/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_waf_api_open": true,                    // 当前策略是否开启
        "tl_ops_waf_api_scope": "global",               // 当前策略作用域
        "tl_ops_waf_api_list": [                        // 规则列表key
            {
                "id": "1015860313415106561",            // 规则id
                "service": "test",                      // 规则生效的服务
                "node": 0,                              // 规则生效服务的节点索引
                "value": "java\\.lang",                 // 规则匹配正则
                "updatetime": "2022-08-24 13:46:12",    // 规则更新时间
                "white": false,                         // 规则是否为白名单
                "host": "localhost"                     // 规则生效的域名
            }
        ],
    },
}

WAF-IP规则配置获取

请求地址 : /tlops/waf/ip/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_waf_ip_open": true,                     // 当前策略是否开启
        "tl_ops_waf_ip_scope": "global",                // 当前策略作用域
        "tl_ops_waf_ip_list": [                         // 规则列表key
            {
                "id": "994878242991521808",             // 规则id
                "service": "test",                      // 规则生效的服务
                "node": 0,                              // 规则生效服务的节点索引
                "value": "127.0.0.1",                   // 规则匹配正则
                "updatetime": "2022-08-24 13:46:12",    // 规则更新时间
                "white": true,                          // 规则是否为白名单
                "host": "localhost"                     // 规则生效的域名
            }
        ],
    },
}

WAF-CC规则配置获取

请求地址 : /tlops/waf/cc/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_waf_cc_open": true,                     // 当前策略是否开启
        "tl_ops_waf_cc_scope": "global",                // 当前策略作用域
        "tl_ops_waf_cc_list": [                         // 规则列表key
            {
                "id": "994878242991521808",             // 规则id
                "service": "test",                      // 规则生效的服务
                "node": 0,                              // 规则生效服务的节点索引
                "count": 100,                           // 周期内触发次数
                "time": 10,                             // 周期时间
                "updatetime": "2022-08-24 13:46:12",    // 规则更新时间
                "host": "localhost"                     // 规则生效的域名
            }
        ],
    },
}

WAF-COOKIE规则配置获取

请求地址 : /tlops/waf/cookie/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_waf_cookie_open": true,                 // 当前策略是否开启
        "tl_ops_waf_cookie_scope": "global",            // 当前策略作用域
        "tl_ops_waf_cookie_list": [                     // 规则列表key
            {
                "id": "994878242991521808",             // 规则id
                "service": "test",                      // 规则生效的服务
                "node": 0,                              // 规则生效服务的节点索引
                "value": "select.+(from|limit)",        // 规则匹配正则
                "updatetime": "2022-08-24 13:46:12",    // 规则更新时间
                "white": true,                          // 规则是否为白名单
                "host": "localhost"                     // 规则生效的域名
            }
        ],
    },
}

WAF-请求头规则配置获取

请求地址 : /tlops/waf/header/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_waf_header_open": true,                 // 当前策略是否开启
        "tl_ops_waf_header_scope": "global",            // 当前策略作用域
        "tl_ops_waf_header_list": [                     // 规则列表key
            {
                "id": "994878242991521808",             // 规则id
                "service": "test",                      // 规则生效的服务
                "node": 0,                              // 规则生效服务的节点索引
                "value": "select.+(from|limit)",        // 规则匹配正则
                "updatetime": "2022-08-24 13:46:12",    // 规则更新时间
                "white": true,                          // 规则是否为白名单
                "host": "localhost",                    // 规则生效的域名
                "keys": [                               // 请求头匹配的key列表
                    "Accept",
                    "Accept-Encoding",
                    "Host",
                    "Referer",
                    "User-Agent"
                ],
            }
        ],
    },
}

WAF-请求参数规则配置获取

请求地址 : /tlops/waf/param/list

请求方法 : GET/POST

{
    "code": 0,
    "msg": "success",
    "data": {
        "tl_ops_waf_param_open": true,                  // 当前策略是否开启
        "tl_ops_waf_param_scope": "global",             // 当前策略作用域
        "tl_ops_waf_param_list": [                      // 规则列表key
            {
                "id": "994877491502268432",             // 规则id
                "service": "test",                      // 规则生效的服务
                "node": 0,                              // 规则生效服务的节点索引
                "value": "select.+(from|limit)",        // 规则匹配正则
                "updatetime": "2022-08-24 13:46:12",    // 规则更新时间
                "white": true,                          // 规则是否为白名单
                "host": "localhost",                    // 规则生效的域名
            }
        ],
    },
}

负载API维度统计详情获取

请求地址 : /tlops/balance/count/api/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : "/api/test/*",                  // 统计的规则内容
            "count_list" : [                            // 计数列表
                {
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}

负载Cookie维度统计详情获取

请求地址 : /tlops/balance/count/cookie/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : {                               // 统计的规则内容
                "key" : "name",
                "value" : "iamtsm"
            },
            "count_list" : [                            // 计数列表
                {
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}

负载Body维度统计详情获取

请求地址 : /tlops/balance/count/body/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : "test",                         // 统计的规则内容
            "count_list" : [                            // 计数列表
                {       
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}

负载Header维度统计详情获取

请求地址 : /tlops/balance/count/header/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : {                               // 统计的规则内容
                "key" : "name",
                "value" : "iamtsm"
            },
            "count_list" : [                            // 计数列表
                {
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}

负载Param维度统计详情获取

请求地址 : /tlops/balance/count/param/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : {                               // 统计的规则内容
                "key" : "name",
                "value" : "iamtsm"
            },
            "count_list" : [                            // 计数列表
                {
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}

WAF-API维度统计详情获取

请求地址 : /tlops/waf/count/api/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : "/test/api/*",                  // 统计的规则内容
            "count_list" : [                            // 计数列表
                {
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}

WAF-IP维度统计详情获取

请求地址 : /tlops/waf/count/ip/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : "127.0.0.1",                    // 统计的规则内容
            "count_list" : [                            // 计数列表
                {
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}

WAF-CC维度统计详情获取

请求地址 : /tlops/waf/count/cc/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : {                               // 统计的规则内容
                "time" : 10,
                "count" : 100
            },
            "count_list" : [                            // 计数列表
                {
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}

WAF-Cookie维度统计详情获取

请求地址 : /tlops/waf/count/cookie/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : "name",                         // 统计的规则内容
            "count_list" : [                            // 计数列表
                {
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}

WAF-Header维度统计详情获取

请求地址 : /tlops/waf/count/header/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : {                               // 统计的规则内容
                "key" : "name", 
                "value" : "test"
            },
            "count_list" : [                            // 计数列表
                {
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}

WAF-Param维度统计详情获取

请求地址 : /tlops/waf/count/param/list

请求方法 : GET/POST


{
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id" : "1",                                 // 统计的规则id
            "service_name" : "test",                    // 统计的服务
            "node_id" : 0,                              // 统计的节点
            "content" : "name=test",                    // 统计的规则内容
            "count_list" : [                            // 计数列表
                {
                    "2022-08-16 11:20:26": 3,
                }
            ]
        }
    ]
}