日志管理__开发人员指南_消息服务-阿里云
MNS 的日志管理功能将用户的消息操作日志推送到指定 LoggingBucket 中。
用户在控制台上配置将日志推送到 OSS 或者 LogService,然后开启该地域队列/主题的日志管理功能,MNS 将自动推送该队列/主题消息的操作日志到指定的 LoggingBucket 中。
推送日志到LogService(必读)
- 配置方法:推送日志到LogService
- 日志查看:查看日志——LogService
- 在为LogStore创建索引时,请选择合理的数据保存时间,该属性后续只支持缩短,不支持延长;
- 如果用户将 LoggingBucket 对应的LogService 的Project、LogStore删除,或者将授予 MNS 的权限取消,日志将无法正常推送给用户;
- 日志延迟时间约5分钟;
推送日志到OSS(必读)
- 配置方法:推送日志到OSS
- 日志查看:查看日志——OSS
- 如果用户将 LoggingBucket 对应的OSS Bucket删除,或者将授予 MNS 的权限取消,日志将无法正常推送给用户;
- 日志延迟时间约15分钟;
细节分析
- 每个地域配置一个 LoggingBucket,该地域所有开通日志管理功能的队列/主题的消息操作日志均推送到该 LoggingBucket中;
- 每个队列/主题可以独立设置是否开启日志管理功能,默认不开启;
费用解析
- MNS 不针对日志管理功能收取额外费用;
- MNS 将日志推送到OSS 或者 LogService中,对应服务会根据存储空间、流量、请求数等进行收费,具体细则请参考:LogService价格总览、OSS价格总览
- 日志量的大小与用户操作 MNS 的 Qps 和操作类型有关系,此处以 SendMessage 操作、Qps 1000为例,计算每分钟的日志量:
178Byte*1000*60/1024/1024 约为 10MB
,其中178
为单条SendMessag操作的日志大小。
队列消息操作日志
队列消息操作日志是指操作队列消息所产生的日志,比如发送消息、消费消息、删除消息等操作。
一条消息操作日志中包含多个字段,每个字段都有自己的含义。
根据操作的不同,消息操作日志所包含的字段也不相同。
接下来,将分别介绍各个字段的含义和不同操作所包含的字段信息。
日志字段解析
一条消息操作日志中包含多个字段,各个字段的含义如表格所示。
字段 | 含义 |
---|---|
Time | 本次操作的发生时间 |
MessageId | 消息的 MessageId,标识本次操作处理的消息 |
QueueName | 本次操作对应的队列名称 |
AccountId | 本次操作对应队列的账号 |
RemoteAddress | 发起该操作的客户端地址 |
NextVisibleTime | 该操作执行完成后,这条消息的下次可见时间 |
ReceiptHandleInRequest | 用户执行该操作时传入的 ReceiptHandle 参数 |
ReceiptHandleInResponse | 该操作执行完成后,返回给用户的 ReceiptHandle |
各个操作的字段列表
不同操作的日志包含的字段信息各不相同,具体每个操作包含的字段请参考表格。
操作 | Time | QueueName | AccountId | MessageId | RemoteAddress | NextVisibleTime | ReceiptHandleInResponse | ReceiptHandleInRequest |
---|---|---|---|---|---|---|---|---|
SendMessage/BatchSendMessage | 有 | 有 | 有 | 有 | 有 | 有 | - | - |
PeekMessage/BatchPeekMessage | 有 | 有 | 有 | 有 | 有 | - | - | - |
ReceiveMessage/BatchReceiveMessage | 有 | 有 | 有 | 有 | 有 | 有 | 有 | - |
ChangeMessageVisibility | 有 | 有 | 有 | 有 | 有 | 有 | 有 | 有 |
DeleteMessage/BatchDeleteMessage | 有 | 有 | 有 | 有 | 有 | 有 | - | 有 |
主题消息操作日志
主题消息操作日志是指操作主题消息产生的日志,主要有两类:发布消息和推送消息。
接下来,将介绍主题消息操作日志各个字段的含义,以及不同的操作所包含的字段信息。
日志字段解析
一条消息操作日志中包含多个字段,各个字段的含义如表格所示。
字段 | 含义 |
---|---|
Time | 本次操作的发生时间 |
MessageId | 消息的 MessageId,标识本次操作处理的消息 |
TopicName | 本次操作对应的主题名称 |
SubscriptionName | 本次操作对应的订阅名称 |
AccountId | 本次操作对应主题的账号 |
RemoteAddress | 发起该操作的客户端地址 |
NotifyStatus | MNS 将消息推送给用户时,用户返回的状态码或者相应的出错信息 |
各个操作的字段列表
不同操作的日志包含的字段信息各不相同,具体每个操作包含的字段请参考表格。
操作 | Time | MessageId | TopicName | SubscriptionName | AccountId | RemoteAddress | NotifyStatus | SubscriptionName |
---|---|---|---|---|---|---|---|---|
PublishMessage | 有 | 有 | 有 | - | 有 | 有 | - | - |
Notify | 有 | 有 | 有 | 有 | 有 | - | 有 | 有 |
NotifyStatus
NotifyStatus 是推送消息日志特有的字段,该可以协助您调查MNS 推送消息到 Endpoint失败的原因。
根据不同的 NotifyStatus,您可以按照下表建议的处理方法进行处理。
错误码 | 描述 | 建议处理方法 |
---|---|---|
2xx | 消息推送成功 | 无 |
其它Http状态码 | 消息推送给用户,Endpoint 返回了非2xx的状态码 | 检查 Endpoint 端处理逻辑 |
InvalidHost | 订阅指定的 Endpoint 不合法 | 确认订阅中 Endpiont 是否真实有效,可使用curl/telnet进行确认 |
ConnectTimeout | 连接订阅指定的 Endpoint 超时 | 确认订阅中 Endpoint 当前是否可访问,可使用curl/telnet进行确认 |
ConnectFailure | 连接订阅指定的 Endpoint 失败 | 确认订阅中 Endpoint 当前是否可访问,可使用curl/telnet进行确认 |
UnknownError | 未知错误 | 请联系 MNS 技术人员支持 |
日志管理功能可以做什么?
- 消息成功发送到队列,但消费端收不到消息,消息去哪儿了?
- 消息被谁消费了、消费了几次?
- 消费端宕机了,消费失败的消息什么时候可以再次被消费?
- 消息发布到主题,Endpoint 却迟迟收不到消息?
- 想看一个月前的消息操作日志?
MNS 的日志管理功能通通满足你!!
- 将日志推送到LogService,控制台查看完整消息轨迹:查看日志——LogService
- 使用官网提供查询工具,指定相应参数即可查看消息的处理日志;日志查询命令行工具
- 登陆OSS控制台,配置LoggingBucket的LifeCycle属性,查看一年前的日志也不是问题:oss控制台
- 除了官方工具,还可以写写代码,通过 OSS 的 GetObject 接口下载日志文件,做你想做的任何事情;
最后更新:2016-11-23 17:16:04
上一篇:
事件通知__开发人员指南_消息服务-阿里云
下一篇:
邮件推送__开发人员指南_消息服务-阿里云
天粒度按流量域名排名__资源监控接口_API 手册_CDN-阿里云
弹性Web托管安装joomla,提示MB Language已被设置为默认。__产品相关问题_使用问题_弹性 Web 托管-阿里云
金融云服务器访问外网的条件__常见问题_专有网络 VPC-阿里云
停止应用__应用管理类 API_Open API 参考_企业级分布式应用服务 EDAS-阿里云
步骤 4:购买域名__搭建 WordPress 网站_建站教程_云服务器 ECS-阿里云
系统调度参数__数据开发手册_用户操作指南_大数据开发套件-阿里云
子用户已经被授权了某Bucket权限,为什么登录OSS控制台访问时提示没有操作权限___对象存储(OSS)授权问题_授权常见问题_访问控制-阿里云
哪些云服务支持RAM?__常见问题_产品使用问题_访问控制-阿里云
查询API历史版本列表__API管理相关接口_API_API 网关-阿里云
原地扩容裸盘 (Linux)__扩容磁盘概览_磁盘_用户指南_云服务器 ECS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云