全部产品

采集不到SLB实例访问日志

KB: 101144

 · 

更新时间:2021-06-02 10:19

概述

本文主要介绍采集不到SLB实例访问日志的排查步骤。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

检查是否为SLB实例开通了访问日志功能

每个SLB实例都需要单独设置访问日志,开通后产生的访问日志将实时写入日志服务。

  1. 登录SLB控制台,在左侧导航栏中单击日志管理>访问日志,在访问日志(7层)页面中,确认存在指定的SLB实例。
  2. 确认SLB实例对应的SLS日志存储一列中的日志保存位置正确。
    说明:SLS日志存储列显示的是日志服务Project和Logstore,请在对应的位置查看是否存在SLB日志。

检查RAM授权是否正确

若您使用的是子用户,在SLB实例开通访问日志功能时,系统会指引您完成RAM角色授权,成功授权后才能开通访问日志功能。如果RAM角色没有正常创建或创建后被删除,都会导致日志采集后无法投递到日志服务的Logstore。

  1. 登录RAM控制台,在RAM角色管理页面查找是否存在AliyunLogArchiveRole。
  2. 如果AliyunLogArchiveRole不存在,请使用主账号登录阿里云控制台,并单击快速授权链接,完成授权所需要的RAM角色创建。
  3. 如果AliyunLogArchiveRole存在,请单击该角色名称,再单击权限策略名称,查看策略内容是否正确。默认的授权策略如下所示,如果您的策略与默认策略不相同,可能之前修改过授权策略,请将授权策略改为默认的授权策略。
    {
        "Version":"1",
        "Statement":[
            {
                "Action":[
                    "log:PostLogStoreLogs"
                ],
                "Resource":"*",
                "Effect":"Allow"
            }
        ]
    }

检查是否产生日志

如果在日志服务控制台没有查看到SLB访问日志,可能是由于SLB实例没有日志产生。可能的原因如下所示:

  • 当前实例未配置七层监听:
    日志服务目前只支持SLB七层监听的实例开通访问日志功能,暂不支持四层实例的日志采集。常见的七层监听协议有HTTP和HTTPS,详细说明请参见监听介绍
  • 日志服务不会采集开通访问日志功能之前的历史日志:
    开通SLB实例的访问日志功能之后,日志功能从开通时间开始采集日志。
  • 指定实例没有访问请求:
    使用访问日志功能后,必须访问七层监听的SLB实例,才会产生访问日志。

适用于

  • 日志服务
  • 负载均衡SLB