运维提高效率小技巧:Claudecode写了这个阿里云SLB 权重调整工具,再也不用每次一个一个点开LB、点开服务器组调整权重了
目的先行:我为什么要写这么一个自动化工具
说实话,现在的我是一点也离不开AI了,自从开始研究AIOps后,以往日常工作中,重复的事情,无异议的事情,浪费时间的事情,现在只要一看到,我就会先思考怎么做成自动,怎么可以提高我的个人效率,当然,也想过帮同事提效,不过最主要的还是想把自己的时间腾出来,才可能有精力帮助别人。
言归正传,那我做这个“SLB 权重调整工具”的初衷是什么呢
这就要从一项日常工作说起:“配合研发上下线服务”,
- ①就是将需要上线的服务所在监听的权重改为0;
- ②研发通过发版平台将代码发布到服务器上;
- ③验证测试无误后,再讲对应权重改为100;

【图1】
【图2】
用过阿里云负载的伙伴们都知道,默认服务器组修改权重,直接生效。
不过“虚拟服务器组”则不然,改完权重需要保存,才生效,这还不算完,改完权重,界面会直接跳转到“虚拟服务器组”界面,这是就要手动翻找刚才“虚拟服务器组”,点击进去,等待下一步操作,说实话,就是这一步让我烦不胜烦。
【图3】
【图4】
可能很多运维大佬会觉得:就这?
对,就这,操作不难,但是心烦,所以,忍无可忍,我就写了这么一个工具,下面,简单介绍下它的功能。
AutoOps — SLB 权重调整工具
一键调整阿里云 SLB 后端服务器权重,用于服务上下线操作。
直接本地浏览器操作,不用登录云平台,只需要知道负载IP、端口,然后“点、点、点”,就可以了
原发已发布到github,有需自取哈:
Github-AutoOps-SLB源码
一、功能
当前版本大概有这么4个功能
- 搜索负载均衡 — 按名称 / ID / IP 搜索
- 查看后端服务器 — 展示实例 ID、私网 IP、端口、类型、当前权重
- 调整权重 — 0(下线)/ 100(上线),含变更预览和确认
- 安全约束 — 只调权重,其他操作不写不改

二、使用方式
cd AutoOps
python -m venv .venv
source .venv/Scripts/activate # Windows Git Bash
# 或 .venv\Scripts\activate # Windows CMD
pip install -r requirements.txt
python main.py
# 浏览器打开 http://localhost:10000
操作流程
1. 输入 LB 名称/ID/IP + 端口 → 搜索
2. 勾选要操作的服务器 + 选目标权重
3. 预览变更 → 确认执行



三、原理
通过阿里云 SLB API 查询监听器和后端服务器关联,支持四种协议:
| 协议 | 查询 API |
|---|---|
| HTTP | DescribeLoadBalancerHTTPListenerAttribute |
| HTTPS | DescribeLoadBalancerHTTPSListenerAttribute |
| TCP | DescribeLoadBalancerTCPListenerAttribute |
| UDP | DescribeLoadBalancerUDPListenerAttribute |
服务器检索优先级:
1. ListenerPortAndProtocol 的 VServerGroupId
2. 协议专属 ListenerAttribute API 补查
3. 转发规则 DescribeRules
4. 默认服务器组(兜底)
四、项目结构
AutoOps/
├── main.py # FastAPI 服务入口
├── config.py # 配置加载
├── aliyun_slb.py # SLB API 封装
├── templates/
│ ├── base.html # 基础模板
│ ├── index.html # 主页
│ └── partials/ # HTMX 分部模板
├── static/style.css # 深色主题样式
├── requirements.txt
├── README.md
└── .env.example
五、配置
凭证从项目根目录的 .env 文件读取:
这个env的目录自定义即可
ALIBABA_ACCESS_WRITE_KEY=xxx # 读写密钥,用于调整权重
ALIBABA_SECRET_WRITE_KEY=xxx
ALIBABA_REGION=cn-beijing
参考 .env.example 复制创建。也可同时在 .env 中配置只读密钥(ALIBABA_ACCESS_KEY)供其他工具使用。
六、安全说明
- 只封装
SetBackendServers/SetVServerGroupAttribute两个写操作 - 执行前必有变更预览 + 用户确认弹窗
- 服务仅绑定 127.0.0.1(本地访问)
请不要以此视为定论,这只是我的个人经验,如需实践使用,请现在测试环境验证无误再对生产环境操作
愿AI为每一个岗位所用
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)