配置数据修改

对于管理端API来说,对于各个模块的配置修改/添加大部分都是批量性的操作,下面对各个模块的数据格式进行说明

服务节点配置修改/添加

请求地址 : /tlops/service/set

请求方法 : POST

请求参数类型 : application/json

{
    "new_service_name": "iamtsm-test",                  // 新增的服务名称
    "has_new_service_name": true,                       // 当前修改是否有新增的服务
    "tl_ops_service_rule": "auto_load",                 // 服务自检模式 -- 暂不支持修改
    "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
            }
        ]
    },
}

健康检查配置修改/添加

请求地址 : /tlops/health/set

请求方法 : POST

请求参数类型 : application/json

{
    "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, 201
            ],
            "check_interval": 10000,            // 自检周期
            "check_service_name": "test"        // 自检服务名称
        }
    ]
}

熔断限流配置修改/添加

请求地址 : /tlops/limit/set

请求方法 : POST

请求参数类型 : application/json

{
    "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/balance/set

请求方法 : POST

请求参数类型 : application/json

// 修改了什么就传什么

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

负载API规则配置修改/添加

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

请求方法 : POST

请求参数类型 : application/json

{
    "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/set

请求方法 : POST

请求参数类型 : application/json

{
    "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/set

请求方法 : POST

请求参数类型 : application/json

{
    "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/set

请求方法 : POST

请求参数类型 : application/json

{
    "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/set

请求方法 : POST

请求参数类型 : application/json

// 修改了什么就传什么

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

WAF-API规则配置修改/添加

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

请求方法 : POST

请求参数类型 : application/json

{
    "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/set

请求方法 : POST

请求参数类型 : application/json

{
    "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/set

请求方法 : POST

请求参数类型 : application/json

{
    "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/set

请求方法 : POST

请求参数类型 : application/json

{
    "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/set

请求方法 : POST

请求参数类型 : application/json

{
    "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/set

请求方法 : POST

请求参数类型 : application/json

{
    "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",                    // 规则生效的域名
        }
    ],
}