openapi 环境问题排查
紧急问题
默认组织没有配额?
遗留问题
openapi出错后,如何速得到请求数据。给下一层提供排查依据。
openapi 没有打印请求返回?通过查询网关日志可以看到请求返回数据
biz order 没有映射日志目录
公用信息
常用命令
sz 下载文件
rz 上传文件
docker exec -it 应用名 /bin/bash
docker inspect 应用名 获取应用信息
输出指定时间的日志:docker logs --since xx 服务容器名称>>xxx.log
进入容器:docker exec -it name|id /bin/bash
登录环境
1.
2.
总体执行流程:
xx.xx.xx.xx->tiaobanji->sudo su - root -> ssh -p10000 secure@xx.xx.xx.xx
e.g. 11.11.11.111->tiaobanji->sudo su - root -> ssh -p10000 secure@22.22.22.22
1)向日葵登录后,打开 xshell 工具:选中已经配置的 xx.xx.xx.xx 机子,打开新会话出现弹框直接点击"确认"按钮;
2)连接跳板机:输入"tiaobanji"进入到跳板机;
3)授权:sudo su - root;
4)连接到真正部署服务器:ssh -p10000 secure@xx.xx.xx.xx
请求
网关
1、根据调用方请求过来的数据和签名构造
构造所需重要参数截图如下:
通过截图中数据构造get请求如下:
curl 'http://127.0.0.1:9195/v4/vpc/query-security-groups?regionID=cn-ah-fys2-hybrid-industry&vpcID=vpc-hjoi68h1dw&ctUserId=508' --header 'Hybrid-Authorization: 1B1B38E6C08F43478E2E58B1FF1E86A9 Header=ctUserId;ctyun-hybrid-request-id;hybrid-date Signature=5KBemKhTizMhu9B/Bf7P8DdoSlbM2CUrq0yitkp7AvA=' --header 'hybrid-date:20230911T151901Z' --header 'ctyun-hybrid-request-id:0662baed339981f7bc783058ae5805c6' --header 'ctUserId: 508'
curl -X POST -H 'Content-Type: application/json' -H 'Hybrid-Authorization:2828760c-80cb-4abf-85fe-2fefc707d3e3 Header=ctyun-hybrid-request-id;hybrid-date Signature=Lgs2U8ffJ7AAIw4VyQtKqSyp8DZV9CnsQ/TNjWIJ3vc=' -H 'ctUserId:508' -H 'ctyun-hybrid-request-id:xe149zD58b49' -H 'hybrid-date:20230718T093957Z' -d '{"regionID": "cn-ah-hf39-hybrid-citycloud"}' http://127.0.0.1:9195/v4/ecs/instance-list
查看日志
网关的日志目录已经从容器映射出来,所以可以直接在日志目录查看。
网关日志目录:/data/shenyu-service/shenyu-gateway/logs
网关后台日志目录:/data/shenyu-service/shenyu-gateway/logs
根据
/data/shenyu/docker-compose.yml
文件日志目录已经从容器映射出来,网关后台对应映射关系:"/data/shenyu-service/shenyu-admin/:/var/www/shenyu/shenyu-admin/" , 网关映射关系:"/data/shenyu-service/shenyu-gateway/:/var/www/shenyu/shenyu-gateway/"约束:docker部署环境
biz日志目录:/data/java-service/business/
1、查看镜像元数据
docker inspect name|id
e.g. docker inspect business
2、找到外部目录与docker容器关联目录
步骤1执行完为json文件,查看key=config的json对象中key=WorkingDir的值,即为对应的容器工作空间
e.g. [{
"Config": {
"WorkingDir": "/var/www/business"
}
}]
3、进入容器
docker exec -it name|id /bin/bash
e.g. docker exec -it business /bin/bash
order日志目录:/data/java-service/order
order docker内日志:/var/www/logs/cloud-order/cloud-order.log
临时关闭签名
例: curl --location --request POST 'http://203.193.231.238:12315/v4/ecs/type-list'
--header 'User-Agent: Apifox/1.0.0 (https://www.apifox.cn)'
--header 'Content-Type: application/json'
--data-raw '{
"ctUserId":xxx
"regionID": "xxx",
"azName": "xxx"
}'
常见问题
网关网络超时
原因:发现是biz服务配置的hycloud地址错误,导致请求超时。
解决:修改配置hycloud地址,重启biz服务。
/v4/region/get-products 产品接口出错
错误提示:500 Internal Server Error
定位方式:查看网关日志,判定非网关错误;查看order日志,发现该接口NPE错误
错误产生原因:定位到NPE错误具体代码行,发现数据库中必需产品数据为空
解决方式:进行云盘产销品相关配置
/v4/region/check-demand 资源池产品可售查询
错误产生原因:一级组织默认没有配额
解决方式:管理员账号登录,进行配额配置
/v4/image/list 查询镜像列表
错误产生原因:混合云visibility字段和公有云传值存在差异
公有云传值为数字:0/1/2
混合云传值为字符串:private/public/shared
解决方式:修改代码,兼容公有云传值
/v4/vpce/create-endpoint-service-whitelist 添加终端节点服务白名单
错误产生原因:云管系统开启了邮箱加密,导致传入email字段的明文邮箱地址在py侧无法匹配
解决方式:传入email明文调用upms接口获取到accountId,将accountId值set进account字段传给py