日志审计:多账号下ALB访问日志的自动化采集与监控

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
文件存储 NAS,50GB 3个月
简介: 本文主要介绍在日志审计下如何开启ALB访问日志的自动化采集与监控

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

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
9天前
|
运维 Prometheus 监控
监控与日志分析:运维的双剑合璧
【6月更文挑战第21天】监控与日志分析在IT运维中至关重要。监控守护系统健康,通过性能指标、服务状态和安全事件预警确保稳定性;日志分析则用于问题追踪,通过错误、访问和安全日志定位故障。监控工具如Prometheus与日志分析工具如ELK堆栈协同工作,统一平台、合理告警、定期分析和团队协作是高效运维的关键。这两者的结合助力运维人员迅速响应和解决问题,维护系统稳定。
|
5天前
|
监控 Java 机器人
如何在Java中实现日志分析与监控?
如何在Java中实现日志分析与监控?
|
2月前
|
存储 运维 监控
Kubernetes 集群监控与日志管理实践
【5月更文挑战第28天】在微服务架构日益普及的当下,容器编排工具如 Kubernetes 已成为运维工作的核心。有效的集群监控和日志管理是确保系统稳定性和服务可靠性的关键。本文将深入探讨 Kubernetes 集群的监控策略,以及如何利用现有的工具进行日志收集、存储和分析,以实现对集群健康状况的实时掌握和问题快速定位。
|
2月前
|
存储 监控 Kubernetes
Kubernetes 集群监控与日志管理实践
【5月更文挑战第27天】 在微服务架构日益普及的当下,容器化技术与编排工具如Kubernetes已成为现代云原生应用的基石。然而,随着集群规模的不断扩大和复杂性的增加,如何有效监控和管理这些动态变化的服务成为了维护系统稳定性的关键。本文将深入探讨Kubernetes环境下的监控策略和日志管理的最佳实践,旨在为运维人员提供一套系统的解决思路,确保应用性能的最优化和问题的快速定位。
|
11天前
|
监控 Go
go语言并发实战——日志收集系统(八) go语言操作etcd以及利用watch实现对键值的监控
go语言并发实战——日志收集系统(八) go语言操作etcd以及利用watch实现对键值的监控
go语言并发实战——日志收集系统(八) go语言操作etcd以及利用watch实现对键值的监控
|
2月前
|
存储 运维 监控
【Docker专栏】Docker日志管理与监控的最佳方法
【5月更文挑战第7天】本文探讨了Docker容器的日志管理与监控,强调其在运维中的重要性。Docker默认使用`json-file`日志驱动,可通过`docker logs`命令查看。建议选择合适日志驱动,配置日志选项,并集成ELK Stack等工具进行高级分析。实时监控、设置警报、分析数据和审计日志是实践关键。最佳实践包括日志数据与容器数据分离、使用日志代理、保护敏感信息及遵守法规。关注新技术以提升系统稳定性和安全性。
【Docker专栏】Docker日志管理与监控的最佳方法
|
2月前
|
运维 Prometheus 监控
Kubernetes 集群监控与日志管理实践
【5月更文挑战第29天】 在微服务架构日益盛行的今天,容器化技术已成为现代应用部署的标准。其中,Kubernetes 作为容器编排的事实标准,其集群的稳定性和性能监控变得至关重要。本文将深入探讨 Kubernetes 集群的监控策略和日志管理的最佳实践,旨在为运维工程师提供一套高效、可靠的集群监控解决方案。通过引入 Prometheus 和 Grafana 工具进行数据收集与可视化,以及 Fluentd 和 Elasticsearch 配合 Kibana 实现日志聚合与分析,本文将带领读者构建起一个全面的 Kubernetes 监控系统,确保系统的高可用性和故障快速响应。
|
2月前
|
监控 安全 数据可视化
中间件应用日志记录和监控
【5月更文挑战第1天】中间件应用日志记录和监控
51 3
中间件应用日志记录和监控
|
11天前
|
监控 Go
go语言并发实战——日志收集系统(十) 重构tailfile模块实现同时监控多个日志文件
go语言并发实战——日志收集系统(十) 重构tailfile模块实现同时监控多个日志文件
|
12天前
|
监控 Linux 数据处理
深入了解Linux的logger命令:日志记录与监控
`logger`命令在Linux中用于向系统日志发送消息,便于记录系统事件和应用程序状态。它与`syslogd`配合,允许用户指定优先级、标识符和内容。简单易用,灵活适应不同日志需求。示例:`logger -p user.warning -t MYAPP "A warning occurred."`。注意选择合适优先级,使用有意义的标识符,并结合其他工具如`logrotate`进行日志管理。

相关产品

  • 日志服务