控制台点点点管一台机器还行,管理十来台就费劲了。雨云提供的 API 让你能用脚本操作云资源——查实例状态、拉监控数据、批量启停,全写成代码交给 crontab 跑。本文以 Python 为例讲怎么调。
一、准备工作:API 密钥
先在雨云控制台生成 AccessKey(AK/SK),不同平台的叫法可能略有差异——API Key、Secret Key、Token 等。拿到后在脚本目录下建一个 .env 文件存放:
RAINYUN_AK=你的AccessKey RAINYUN_SK=你的SecretKey
永远不要把 AK/SK 写进代码或提交到 git。把 .env 加入 .gitignore。
二、Python 调 API 基础封装
import requests
import hmac, hashlib, time, os
from dotenv import load_dotenv
load_dotenv()
AK = os.getenv('RAINYUN_AK')
SK = os.getenv('RAINYUN_SK')
BASE_URL = 'https://api.rainyun.com'
def sign_request(method, path, body=''):
ts = str(int(time.time()))
msg = f"{method}n{path}n{ts}n{body}"
sig = hmac.new(SK.encode(), msg.encode(), hashlib.sha256).hexdigest()
return {
'X-RY-AccessKey': AK,
'X-RY-Timestamp': ts,
'X-RY-Signature': sig
}
def get_instances():
path = '/v1/instances'
headers = sign_request('GET', path)
resp = requests.get(f'{BASE_URL}{path}', headers=headers)
return resp.json()上面是 API 签名通用模式——各家云厂商签法大同小异,核心是 timestamp + 请求路径 + 密钥做 HMAC,防重放和篡改。具体的 API 端点和签名算法以雨云官方文档为准。
三、常用 API 场景
查所有实例状态
遍历实例列表,滤出状态异常的(非 running),汇总成一句话推送到企业微信。每天跑一次,机器挂了早知道。
拉监控数据
拉 CPU/内存/带宽/磁盘 IO 等指标,写入本地文件或推给 Prometheus pushgateway。不用在每台机器上装 exporter 也能拿到基础指标。
按标签批量操作
如果实例打了标签(如 env=dev / env=prod),按标签筛选后对一组机器统一执行操作。比如每晚 10 点批量关 dev 标签的机器,省电费。
四、自动化巡检脚本示例
#!/usr/bin/env python3
import requests
# ... 签名函数如上
def daily_check():
instances = get_instances()
bad = [i for i in instances if i['status'] != 'running']
if bad:
msg = "【雨云告警】以下实例异常:n"
msg += "n".join([f"{i['name']} ({i['id']}): {i['status']}" for i in bad])
send_to_wechat(msg)
print(f"巡检完成,共 {len(instances)} 台实例,{len(bad)} 台异常")
if __name__ == '__main__':
daily_check()
丢进 crontab:0 9 * * * python3 /opt/scripts/rainyun_check.py,每天 9 点跑一次。
五、API 调用的几个坑
- 频率限制:API 一般有 QPS 限额,for 循环里不加 sleep 可能部分请求被拒;
- 分页:查实例列表默认一页 20 条,机器多了要循环翻页把数据拉全;
- 幂等操作:创建实例类操作注意幂等性,脚本跑两遍别创建出两台一样的机器;
- 错误处理:网络超时、API 返回 5xx 要做重试和降级,别一个超时脚本直接挂。
六、雨云部署建议
雨云新购用优惠码 admin01 走专属入口 https://www.jiyueip.com/link/5617 五折。巡检脚本可以跑在任何一台能联网的机器上,不一定要在雨云服务器上跑。配合前面的 Prometheus 监控、Shell 自动化运维、frp 内网穿透,就形成一套完整的自动化管理闭环。
常见问题
关于雨云 API 和自动化管理的高频疑问,下面一并解答。






