日志审计:开启RDS/PolarDB错误日志采集

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000 次 1年
对象存储OSS,敏感数据保护2.0 200GB 1年
简介: 本文主要介绍如何在日志审计中开启RDS错误日志以及Polardb错误日志的采集与监控

1.背景

1.1 日志审计

日志审计服务App是阿里云日志服务SLS(Simple Log Service)旗下的一款应用,它在继承了日志服务SLS的全部功能以外,还有强大的多账号管理及跨地域采集功能,支持通过资源目录(Resource Directory)的方式有组织性地统一地管理和记录多账号下云产品实例的日志信息,可以便于用户进行统一分析,问题排查,回溯复盘等操作。日志审计APP可以自动化、中心化地采集云产品日志并进行审计,其服务覆盖基础(操作审计、k8s)、存储(OSS、NAS)、网络(SLB、ALB、API网关、VPC)、数据库(RDS、PolarDB-X1.0,PolarDB)、安全(WAF、DDOS、SAS、CPS)等产品,还支持审计所需的存储、查询及信息汇总等功能。

1.2 RDS/PolarDB错误日志

日志审计原已支持RDS、PolarDB的审计日志类型、慢日志类型(mysql版)和性能日志类型(mysql版), 支持RDS错误日志和PolarDB错误的采集是补全日志审计数据库日志类型版图的重要一步。同数据库类其他日志类型一样,日志审计可以跨账号地自动化地采集RDS的错误日志和Polardb的错误日志,如果有数据库实例更新,将会自动化跟进其错误日志的采集,并支持采集策略配置使得可以对采集对象进行精细过滤和控制。同时日志审计还可以还具备强大的跨域能力,可以将采集的日志汇总到同一中心project下,方便用户的中心化查询分析和管理。

2 开启错误日志采集

2.1. 开启自动采集

2.2 多账号及跨域、自动采集能力

2.2.1 多账号汇总

日志审计对资源目录和自定义鉴权的支持使得其天然具备同时采集多账号下的日志信息的能力,下图是同时采集多个账号下RDS错误日志和PolarDB错误日志的一些示例。

通过日志审计多账号配置,可以将1023*账号所属的plardb实例*9a1o的错误日志采集到148中心账号下的project下。

2.2.2 跨地域与中心化

在日志审计下开启RDS/PolarDB错误日志采集之后,日志审计将自动将多账号、多地域下的日志通过直接采集汇总到是sls下名为slsaudit-center-${center_account}-${region} 的project的rds_log中。下图是一个RDS错误日志采集结果的一个示例,可以看到rds来自杭州地域实例的错误日志和来自上海地域实例的错误日志都被采集到同一中央project的logstore中。



2.2.3 自动采集能力

日志审计开启RDS/PolarDB错误日志采集功能之后,对于新创建的RDS/PolarDB实例,将会自动将其错误日志写入日志审计。日志审计下RDS日志字段参见RDS日志字段,PolarDB的日志字段参见PolarDB日志字段

2.3 精细化日志采集粒度

日志审计支持对RDS实例进行精细化采集粒度控制,用户可以通过账号、地域、实例ID、实例名、标签等属性进行精准采集设置。具体的采集策略可以参考日志审计采集策略一节。


云产品

采集对象

属性

说明

RDS

RDS实例

账号:account.id

RDS实例所属的阿里云账号ID

地域:region

RDS实例所属的地域,例如:cn-shanghai

实例ID:instance.id

RDS实例ID

实例名:instance.name

RDS实例名

DB类型:instance.db_type

RDS实例所属的DB类型

DB版本号:instance.db_version

DB版本号,例如:8.0。

标签:tag.*

用户自定义的标签名。

tag.*中的星号(*)替换为您自定义的标签名。

采集策略说明

云产品

采集对象

属性

说明

PolardDB

PolarDB集群

账号:account.id

PolarDB集群所属的阿里云账号ID。

地域:region

PolarDB集群所属的地域,如cn-shanghai。

集群ID:cluster.id

PolarDB集群ID。

集群名:cluster.name

PolarDB集群名称。

集群兼容的DB类型:cluster.db_type

PolarDB集群兼容的DB类型,目前只支持MySQL。

集群兼容的DB版本:cluster.db_version

DB版本号,可选值为8.0、5.7和5.6。

标签:tag.*

用户自定义的标签名。

tag.*中的星号(*)替换为您自定义的标签名。

下面将进行几个简单的采集策略示例帮助用户理解如何进行精细化RDS错误日志的采集。

# --------------example 1 ----------------

#only scan ap region

keep region == "ap-*"


# accept by default

accept "*"



#-------------example 2-------------------

# accept all high level instances and if not only accept rds instance that name starts with prod


accept tag.level == "high"


# only scan rds instance name start with “test”

keep instance.name == "prod*"


# accept by default

accept "*"

3.参考链接

日志审计

日志服务

资源目录

采集策略

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
关系型数据库 数据库 RDS
【瑶池数据库训练营及解决方案本周精选(探索PolarDB,参与RDS迁移、连接训练营)】(5.30-6.8)
本周精选聚焦数据库迁移训练营、快速连接云数据库RDS训练营及智能多模态搜索解决方案。为用户提供模拟教程与实战演练,学习RDS MySQL实例连接与数据管理技能,助力企业智能化发展。每周解锁数据库实战新场景,抓紧时间,精彩不容错过!
|
4月前
|
SQL 监控 关系型数据库
MySQL日志分析:binlog、redolog、undolog三大日志的深度探讨。
数据库管理其实和写小说一样,需要规划,需要修订,也需要有能力回滚。理解这些日志的作用与优化,就像把握写作工具的使用与运用,为我们的数据库保驾护航。
179 23
|
6月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
465 90
|
5月前
|
SQL 运维 关系型数据库
MySQL Binlog 日志查看方法及查看内容解析
本文介绍了 MySQL 的 Binlog(二进制日志)功能及其使用方法。Binlog 记录了数据库的所有数据变更操作,如 INSERT、UPDATE 和 DELETE,对数据恢复、主从复制和审计至关重要。文章详细说明了如何开启 Binlog 功能、查看当前日志文件及内容,并解析了常见的事件类型,包括 Format_desc、Query、Table_map、Write_rows、Update_rows 和 Delete_rows 等,帮助用户掌握数据库变化历史,提升维护和排障能力。
|
7月前
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
232 5
图解MySQL【日志】——Redo Log
|
7月前
|
关系型数据库 MySQL 数据库
图解MySQL【日志】——两阶段提交
两阶段提交是为了解决Redo Log和Binlog日志在事务提交时可能出现的半成功状态,确保两者的一致性。它分为准备阶段和提交阶段,通过协调者和参与者协作完成。准备阶段中,协调者向所有参与者发送准备请求,参与者执行事务并回复是否同意提交;提交阶段中,若所有参与者同意,则协调者发送提交请求,否则发送回滚请求。MySQL通过这种方式保证了分布式事务的一致性,并引入组提交机制减少磁盘I/O次数,提升性能。
321 4
图解MySQL【日志】——两阶段提交
|
7月前
|
关系型数据库 MySQL
图解MySQL【日志】——磁盘 I/O 次数过高时优化的办法
当 MySQL 磁盘 I/O 次数过高时,可通过调整参数优化。控制刷盘时机以降低频率:组提交参数 `binlog_group_commit_sync_delay` 和 `binlog_group_commit_sync_no_delay_count` 调整等待时间和事务数量;`sync_binlog=N` 设置 write 和 fsync 频率,`innodb_flush_log_at_trx_commit=2` 使提交时只写入 Redo Log 文件,由 OS 择机持久化,但两者在 OS 崩溃时有丢失数据风险。
159 3
|
7月前
|
关系型数据库 MySQL 数据库
MySQL日志
本文介绍了MySQL中三个重要的日志:binlog、redolog和undolog。binlog记录数据库更改操作,支持数据恢复、复制和审计;redolog保证事务的原子性和持久性,实现crash-safe;undolog用于事务回滚及MVCC的实现。每个日志都有其独特的作用和应用场景,确保数据库的稳定性和数据一致性。
120 1
|
7月前
|
缓存 关系型数据库 MySQL
图解MySQL【日志】——Buffer Pool
Buffer Pool 是数据库管理系统(DBMS)中用于缓存磁盘数据页的内存区域,主要包含数据页、索引页、undo 页等。它通过减少磁盘 I/O 提升性能,特别是在处理大型数据库时效果显著。查询时,整个数据页而非单条记录会被加载到 Buffer Pool 中,以提高访问效率。
101 0
图解MySQL【日志】——Buffer Pool
|
6月前
|
SQL 存储 关系型数据库
简单聊聊MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别
在MySQL数据库管理中,理解Redo Log(重做日志)、Binlog(二进制日志)和Undo Log(回滚日志)至关重要。Redo Log确保数据持久性和崩溃恢复;Binlog用于主从复制和数据恢复,记录逻辑操作;Undo Log支持事务的原子性和隔离性,实现回滚与MVCC。三者协同工作,保障事务ACID特性。文章还详细解析了日志写入流程及可能的异常情况,帮助深入理解数据库日志机制。
547 0

热门文章

最新文章

相关产品

  • 日志服务
  • 推荐镜像

    更多