1.背景
1.1 日志审计
日志审计服务App是阿里云日志服务SLS(Simple Log Service)旗下的一款产品,它在继承了日志服务SLS的全部功能以外,还有强大的多账号管理及跨地域采集功能,支持通过资源目录(Resource Directory)的方式有组织性地统一地管理和记录多账号下云产品实例的日志信息,可以便于用户进行统一分析,问题排查,回溯复盘等操作。日志审计APP可以自动化、中心化地采集云产品日志并进行审计,其服务覆盖基础(操作审计、k8s)、存储(OSS、NAS)、网络(SLB、API网关、VPC)、数据库(RDS、PolarDB-X1.0,PolarDB)、安全(WAF、DDOS、SAS、CPS)等产品,还支持审计所需的存储、查询及信息汇总等功能。
1.2 ALB访问日志
应用型负载均衡ALB(Application Load Balancer)是阿里云推出的专门面向HTTP、HTTPS和QUIC等应用层负载场景的负载均衡服务,具备超强弹性及大规模应用层流量处理能力。ALB具备处理复杂业务路由的能力,与云原生相关服务深度集成,是阿里云官方提供的云原生Ingress网关。
您可以通过ALB访问日志分析用户行为、了解用户的地域分布、排查问题等。相较于ALB日志中心,日志审计支持自动化地采集ALB实例的访问日志,如果有实例更新,将会自动化跟进其访问日志的采集,并支持采集策略配置使得可以对采集对象进行精细过滤和控制。同时日志审计还可以还具备强大的多账号管理能力,并且可以通过数据加工将多地域下的采集实例汇总到中心Project下的alb_log中,方便用户进行中心化分析。
2 开启ALB访问日志采集
2.1. 开启自动采集
2.2 多账号及跨域、自动采集能力
2.2.1 多账号汇总
日志审计对资源目录和自定义鉴权的支持使得其天然具备同时采集多账号下的ALB访问日志信息的能力,下图是同时采集多个账号下访问日志的一个示例。
2.2.2 多地域与中心化
在日志审计下开启ALB访问日志采集之后,如果开启中心化,日志审计将自动将多账号、多地域下的流日志通过数据加工汇总到是sls下名为slsaudit-center-${center_account}-${region} 的project的alb_log中。如果不开启中心化功能,则对于不同地域的ALB访问日志将自动采集到对应region的对应project的slsaudit-region-${center_account}-${region}的alb_log中,下图是一个ALB访问日志报表的一个示例。
中心化选择 |
ALB实例所属地域A 审计中心所属地域C |
区域A是否有日志 |
是否创建 数据加工 |
中心是否有日志 |
日志存储时间 |
开启中心化 |
A与C同地域 |
不会创建 |
中心C有 |
取决中心化TTL |
|
A与C不同地域 |
区域A有 |
会创建 |
|||
关闭中心化 |
A与C同地域 |
不会创建 |
中心C无 |
取决区域化TTL |
|
A与C不同地域 |
表1 中心化和区域化区别
开启中心化后,日志审计在slsaudit-center-${center_account}-${region}下会创建个ALB相关的内置报表,分别是ALB操作中心、ALB访问中心。如果关闭中心化,在日志审计仪表盘主页面对于每个有ALB实例的地域将会分别创建以上2个内置报表,下图是ALB多地域访问日志中心化到中心project下的一个示例。
2.2.3 自动采集能力
日志审计开启ALB访问日志采集功能之后,对于新创建的ALB实例,将会自动将其访问日志写入日志审计。日志审计下ALB日志字段参见ALB日志字段,相较于ALB访问中心,日志审计还对其富化了region、instance_name, owner_id、addrss_type、vpc_id等字段,便于用户进行强大的分析查询和统计。
2.3 精细化日志采集粒度
日志审计支持对ALB实例进行精细化采集粒度控制,用户可以通过账号、地域、实例ID、实例名、标签等属性进行精准采集设置。具体的采集策略可以参考日志审计采集策略一节。
云产品 |
采集对象 |
属性 |
说明 |
ALB |
ALB实例 |
账号:account.id |
ALB实例所属的阿里云账号ID |
地域:region |
ALB实例所属的地域,例如:cn-shanghai |
||
实例ID:instance.id |
ALB实例ID |
||
实例名:instance.name |
ALB实例名 |
||
VPC ID: instance.vpc_id |
ALB实例所属的专有网络VPC ID。 |
||
地址类型:instance.address_type |
ALB实例的地址类型,包括阿里云内网(Intranet) 和公网(Internet) |
||
标签:tag.* |
用户自定义的标签名。 将tag.*中的星号(*)替换为您自定义的标签名, 例如tag.level=high, tag.env=test |
表2 采集策略说明
下面将进行几个简单的采集策略示例帮助用户理解如何进行精细化ALB访问日志的采集。
# --------------example 1 ----------------
#only scan cn region
keep region == "cn-*"
# accept by default
accept "*"
#-------------example 2-------------------
# accept all high level instances and if not only accept alb that name starts with test
accept tag.level == "high"
# only scan alb name start with “test”
keep instance.name == "test*"
# accept by default
accept "*"
3.报表分析与展示
日志审计ALB访问日志内置2种报表,一个是ALB操作中心,一个是ALB访问中心。
3.1 ALB操作日志中心
3.2 ALB访问日志中心
5.参考链接
日志审计服务 https://help.aliyun.com/document_detail/164065.html
日志服务SLS https://help.aliyun.com/document_detail/48869.html
资源目录 https://help.aliyun.com/document_detail/94475.html
应用型负载均衡 https://help.aliyun.com/document_detail/197202.html
ALB日志中心 https://help.aliyun.com/document_detail/197665.html
ALB日志字段 https://help.aliyun.com/document_detail/403520.html
日志审计采集策略 https://help.aliyun.com/document_detail/170316.html