轻量消息队列(原 MNS)日志推送到日志服务后,可进行实时查询,本文介绍实时查询的常用场景及操作步骤,您也可以通过多个关键字组合方式实现更加复杂的查询。
前提条件
已采集轻量消息队列(原 MNS)日志。具体操作,请参见轻量消息队列(原 MNS)日志。
已配置索引。具体操作,请参见创建索引。
背景信息
轻量消息队列(原 MNS)日志包括队列消息操作日志和主题消息操作日志,日志内容包含消息生命周期的所有信息,例如时间、客户端、操作等。您可以通过实时查询、实时计算和离线计算三种方式对日志进行分析计算。
实时查询:在日志服务控制台上进行实时查询,例如:查询消息轨迹、写入量、删除量等。
实时计算:使用Spark、Storm、StreamCompute、Consumer Library等方式对轻量消息队列(原 MNS)日志进行实时计算。例如:计算某个队列中,Top 10消息的产生者和消费者;计算生产和消费的速度,确认是否均衡;计算某些消费者的处理延时,确认是否存在瓶颈等。
离线计算:使用MaxCompute、E-MapReduce、Hive进行长时间跨度的计算,例如:计算最近一周内消息从发布到被消费的平均延迟。
查询队列消息的消息轨迹
登录日志服务控制台。
在Project列表区域,单击目标Project。
在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。
输入查询语句,然后单击最近15分钟,设置查询的时间范围。
本案例要查询队列消息的消息轨迹,即输入队列名称和消息ID,格式为$QueueName and $MessageId,例如log and EED287A265726135146E6A9CADC880FA。
查询结果如下所示,记录了某条消息从发送到接收的过程。
查询队列消息发送量
登录日志服务控制台。
在Project列表区域,单击目标Project。
在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。
输入查询语句,然后单击最近15分钟,设置查询的时间范围。
本案例要查询队列消息发送量,即输入队列名称和发送操作,查询语句格式为$QueueName and (SendMessage or BatchSendMessage),例如log and (SendMessage or BatchSendMessage)。
查询结果如下所示,当前查询时段内,生产者向log队列发送了3条队列消息。
查询队列消息消费量
登录日志服务控制台。
在Project列表区域,单击目标Project。
在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。
输入查询语句,然后单击最近15分钟,设置查询的时间范围。
本案例要查询队列消息消费量,即输入队列名称和消费操作,查询语句格式为$QueueName and (ReceiveMessage or BatchReceiveMessage),例如log and (ReceiveMessage or BatchReceiveMessage)。
查询结果如下所示,当前查询时段内,log队列中有12条消息被消费。
查询队列消息删除量
登录日志服务控制台。
在Project列表区域,单击目标Project。
在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。
输入查询语句,然后单击最近15分钟,设置查询的时间范围。
本案例要查询队列消息删除量,即输入队列名称和删除操作,查询语句格式为$QueueName and (DeleteMessage or BatchDeleteMessage),例如log and (DeleteMessage or BatchDeleteMessage)。
查询结果如下所示,当前查询时段内,61条log队列消息被删除。
查询主题消息的消息轨迹
登录日志服务控制台。
在Project列表区域,单击目标Project。
在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。
输入查询语句,然后单击最近15分钟,设置查询的时间范围。
本案例要查询主题消息的消息轨迹,即输入主题名称和MessageId,查询语句格式为$TopicName and $MessageId,例如logtest and 8798453B65727FC6433E6AB4F746D4CE。
查询结果如下图所示,记录了某条消息从发送到通知的过程。
查询主题消息发布量
登录日志服务控制台。
在Project列表区域,单击目标Project。
在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。
输入查询语句,然后单击最近15分钟,设置查询的时间范围。
本案例要查询主题消息发布量,即输入主题名称和发布操作,查询语句格式为$TopicName and PublishMessage,例如logtest and PublishMessage。
查询结果如下图所示,当前查询时段内,生产者向logtest主题发布了3条消息。
查询某个客户端消息处理量
登录日志服务控制台。
在Project列表区域,单击目标Project。
在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。
输入查询语句,然后单击最近15分钟,设置查询的时间范围。
本案例要查询某个客户端消息处理量,即输入客户端IP地址,查询语句格式为$ClientIP,例如10.10.10.0。
如果您要查询某个客户端的某类操作日志,可使用多个关键字组合方式,例如$ClientIP and (SendMessage or BatchSendMessage)。
查询结果如下图所示,当前查询时段内,该客户端处理了66条消息。