用途:诊断阿里云负载均衡(CLB/ALB/NLB)健康检查问题,例如健康检查失败、后端服务器不健康、监听健康检查配置,以及哪些后端被探测、为何失败。
主要能力:按实例 ID 前缀路由产品(lb- 为 CLB,alb- 为 ALB,nlb- 为 NLB),加载对应指南;按顺序只读执行查询:STS GetCallerIdentity 确认身份,实例属性枚举监听,逐监听读取健康检查配置(HTTP/HTTPS 另读转发规则),逐服务器组读取后端成员,逐监听合并后端探测状态;ALB/NLB 额外查询 VPC DescribeVSwitches 获取 vSwitch 网段,CLB 跳过。最终产出表格化报告并附每个后端的自检命令。
使用方式:前置条件是安装 aliyun CLI 3.x 及 slb、alb、nlb、vpc 插件,凭证由 CLI 默认凭证链自动解析,不显式读取或传入 AK/SK/STS。三个脚本参数一致:--load-balancer-id 必填,--region 可选(依次从环境变量、~/.aliyun/config.json 当前 profile 回退),--format 可选 json 或 markdown(默认 markdown),--output 可选报告路径(默认 stdout),--listener-protocols 与 --listener-ports 可选过滤。示例:python3 scripts/diagnose_clb.py --load-balancer-id lb-xxx --region cn-hangzhou --output output/lb-xxx-healthcheck.md。
限制:严格只读,仅允许 Describe*/List*/Get* 查询,绝不执行 Update/Delete/Modify/Create/Set 等变更操作;无法修复配置,只报告发现与建议。查询权限被拒或单个实体失败会记录到优雅降级日志并继续运行。报告写入文件,对话中只给文件链接和一条关键结论;面向客户的脚本只放在对话正文,不写入报告文件。若缺失实例 ID 或地域,脚本会尝试自动补全并必须显式声明来源,否则需向用户询问。具体 API 字段、RAM 权限与产品差异见各产品参考文档;资料未提供的定价信息本处暂未提供。