MSE微服务引擎 业务日志有报这个错误,是啥原因呢?用得MSE
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的错误信息和知识库中的相关资料,以下是可能导致MSE微服务引擎业务日志报错的原因及解决方案:
如果您的业务日志中出现与日志投递相关的错误,可能是由于子账号权限不足导致的。需要确保子账号具备以下权限: - log:CloseProductDataCollection
- log:OpenProductDataCollection
- log:GetProductDataCollection
- ram:PassRole
- ram:CreateServiceLinkedRole
解决方法: 为子账号授予以下权限策略:
{
"Version": "1",
"Statement": [
{
"Action": [
"log:CloseProductDataCollection",
"log:OpenProductDataCollection",
"log:GetProductDataCollection"
],
"Resource": [
"acs:mse:*:*:instance/*",
"acs:log:*:*:project/*/logstore/mse_*"
],
"Effect": "Allow"
},
{
"Action": "ram:PassRole",
"Resource": "acs:ram::*:role/aliyunserviceroleforslsaudit",
"Effect": "Allow"
},
{
"Action": "ram:CreateServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "audit.log.aliyuncs.com"
}
}
}
]
}
重要提示: 确保权限策略已正确绑定到子账号,并验证权限是否生效。
如果日志中出现Response_Flag
字段值为UPE
,表示上游响应存在HTTP协议错误。这种情况通常由以下原因引起: - 后端服务返回的响应头中包含重复的Transfer-Encoding
字段。 - 上游服务未按照HTTP协议规范返回响应。
解决方法: - 检查后端服务的响应头,确保没有重复的Transfer-Encoding
字段。 - 验证后端服务是否符合HTTP协议规范,尤其是响应头和响应体的格式。
如果日志中显示Response_Flag
字段值为NR
,表示给定请求未配置路由。这可能是因为: - 请求路径未匹配到任何路由规则。 - 路由规则配置错误或缺失。
解决方法: - 检查网关的路由配置,确保请求路径与路由规则匹配。 - 如果使用了mse-ingress-controller
,请注意它仅用于创建云原生网关,流量入口应通过网关的SLB访问,而不是直接访问mse-ingress-controller
的Pod。
如果日志中显示MSE无相关应用实例信息,或者实例数为0,可能是以下原因导致的: - 应用框架版本不支持(例如Spring Cloud Edgware之前的版本)。 - 探针未正常挂载。 - 微服务治理未在命名空间中开启。
解决方法: 1. 检查应用框架版本: - 确保Spring Cloud应用版本为Edgware或更高版本。 2. 检查探针挂载情况: - 在问题应用终端执行以下脚本进行诊断: bash wget -O - https://edas-public.oss-cn-hangzhou.aliyuncs.com/oneAgent/service_metadata_diagnosis.sh | sh -s
- 如果未显示Java Agent版本号信息,说明探针未正常挂载,请检查命名空间是否已开启微服务治理。 3. 提交工单: - 如果上述方法无法解决问题,请提交工单并提供以下信息: - 用户ID - 地域(如上海) - 产品类型(如MSE或EDAS) - 应用启动日志 - 脚本诊断结果
Nacos控制台404错误: 如果访问IP:8848/nacos
时出现404错误,可能是因为MSE Nacos 1.1.3版本不支持nacos-console
模块。建议将Nacos实例升级至1.2.1版本。
客户端TIME_WAIT堆积: 如果客户端出现大量TIME_WAIT
连接,建议将短连接替换为长连接,并调整TCP内核参数。
请根据日志中的具体错误信息(如Response_Flag
值或其他报错内容)定位问题,并参考上述解决方案逐一排查。如果问题仍未解决,请提供更多详细日志信息以便进一步分析。