采集不到SLB实例访问日志
概述
本文主要介绍采集不到SLB实例访问日志的排查步骤。
详细信息
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
检查是否为SLB实例开通了访问日志功能
每个SLB实例都需要单独设置访问日志,开通后产生的访问日志将实时写入日志服务。
- 登录SLB控制台,在左侧导航栏中单击日志管理>访问日志,在访问日志(7层)页面中,确认存在指定的SLB实例。
- 确认SLB实例对应的SLS日志存储一列中的日志保存位置正确。
说明:SLS日志存储列显示的是日志服务Project和Logstore,请在对应的位置查看是否存在SLB日志。
检查RAM授权是否正确
若您使用的是子用户,在SLB实例开通访问日志功能时,系统会指引您完成RAM角色授权,成功授权后才能开通访问日志功能。如果RAM角色没有正常创建或创建后被删除,都会导致日志采集后无法投递到日志服务的Logstore。
- 登录RAM控制台,在RAM角色管理页面查找是否存在AliyunLogArchiveRole。
- 如果AliyunLogArchiveRole不存在,请使用主账号登录阿里云控制台,并单击快速授权链接,完成授权所需要的RAM角色创建。
- 如果AliyunLogArchiveRole存在,请单击该角色名称,再单击权限策略名称,查看策略内容是否正确。默认的授权策略如下所示,如果您的策略与默认策略不相同,可能之前修改过授权策略,请将授权策略改为默认的授权策略。
{
"Version":"1",
"Statement":[
{
"Action":[
"log:PostLogStoreLogs"
],
"Resource":"*",
"Effect":"Allow"
}
]
}
检查是否产生日志
如果在日志服务控制台没有查看到SLB访问日志,可能是由于SLB实例没有日志产生。可能的原因如下所示:
- 当前实例未配置七层监听:
日志服务目前只支持SLB七层监听的实例开通访问日志功能,暂不支持四层实例的日志采集。常见的七层监听协议有HTTP和HTTPS,详细说明请参见监听介绍。 - 日志服务不会采集开通访问日志功能之前的历史日志:
开通SLB实例的访问日志功能之后,日志功能从开通时间开始采集日志。 - 指定实例没有访问请求:
使用访问日志功能后,必须访问七层监听的SLB实例,才会产生访问日志。
适用于
- 日志服务
- 负载均衡SLB