日志导出工具可将保存在对象存储OSS消息服务MNS的日志导出到日志服务SLS进行查询和分析。本文介绍如何在Windows系统使用日志导出工具。

版本说明

此工具适用于Python 2.6和2.7版本,Windows和Linux平台均可使用。

  • 版本:Version 1.0.0
  • 更新日期:2016-04-20
  • 功能更新:支持将队列或主题的操作日志从对象存储OSS导出到阿里云日志服务SLS进行查询和分析。

前提条件

  • 开通日志服务并创建日志项目和日志仓库。具体操作,请参见准备工作概述
  • 配置索引。具体操作,请参见配置索引

准备工作

  1. 安装Python以及pip工具。
    1. 登录Python官网下载2.7版本Python安装包。下载完成后,将Python安装至D:\Python27目录。
      注意 D:\Python27仅为示例。请以实际环境为准。
    2. 将Python安装目录D:\Python2配置到环境变量。
    3. 登录pip官网下载pip-8.1.2.tar.gz文件,下载完毕之后解压缩。
    4. 进入Windows命令行cmd(Windows7及以上版本可以使用Windows PowerShell ISE界面),进入到pip的解压缩目录,执行以下命令。
      python setup.py install
    5. 将Python的Scripts目录D:\Python27\Scripts配置到环境变量。
  2. 安装protobuf和simplejson组件。
    1. 执行以下命令安装protobuf。
      pip install protobuf
    2. 执行以下命令安装requests。
      pip install requests
    3. 执行以下命令安装simplejson。
      pip install simplejson

导出日志

此工具无需安装,下载工具包后,解压进入mnslog_export目录。工具下载地址,请参见Version 1.0.0

  • 执行以下命令导出日志:
    python2.7 mnslog_export.py --access_id=xxx --access_key=xxx --oss_host=xxx --log_bucket=xxx --sls_project=xxx --sls_logstore=xxx --sls_host=xxx --queue_name=xxx
  • 参数解析
    参数名 解析
    access_id AccessKey ID,在RAM控制台创建。获取方式,请参见获取AccessKey
    access_key AccessKey Secret,在RAM控制台创建。获取方式,请参见获取AccessKey
    oss_host 对象存储OSS的接入地址,格式为oss-<regionid>.aliyuncs.com
    log_bucket 保存消息服务MNS日志的Bucket名称。
    start_time 导出日志的起始时间。例如202103270102,表示从2021年03月27号01点02分的日志开始。
    end_time 导出日志的截至时间,不包含该时间。例如202103270302,表示到2021年03月27号03点02分截止。
    sls_host 日志服务SLS的接入地址,格式为<regionid>.sls.aliyun.com
    sls_project 导入日志的日志项目名称。
    sls_logstore 导入日志的日志仓库名称。
    queue_name 导入日志的队列名称,queue_nametopic_name同时只能选择一个。
    topic_name 导入日志的主题名称,queue_nametopic_name同时只能选择一个。
说明
  • 日志服务SLS只支持导入7天内的日志,如果start_time距离当前时间大于7天,工具提示失败。
  • 运行mnslog_export.py成功上传日志到日志服务SLS之后,建议您等待60s之后再进入日志服务控制台进行查询检索,否则可能会出现新上传的数据无法检索显示的情况。

查询日志

将日志从对象存储OSS导出至日志服务SLS等待60s后,即可在日志服务控制台进行日志查询。

  1. 登录日志服务控制台
  2. 在Project列表区域,单击目标Project。
  3. 日志存储 > 日志库页签中,单击目标Logstore。
  4. 单击目标Logstore右侧的日志服务-更多图标,然后单击查询分析
  5. 在日志查询页面,选择查询的时间范围,单击查询/分析将展示时间范围内所有日志。
  6. 单击某个MessageId,即可搜索包含该MessageId的所有日志。