新功能:阿里云RDS SQL执行日志 - 实时分析监控上线

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 阿里云关系数据库RDS(MySQL版本)的SQL执行日志已经与日志服务打通,提供实时的SQL执行分析功能,并提供内置可深钻的报表、支持自定义审计规则、异常报警、报表订阅与生态对接能力等。

概述

背景

数据库是企业业务的数据核心,对数据库的操作行为尤其是所有SQL执行的行为进行记录并审计的日志,就显得尤为重要。但围绕数据库的安全问题却日益严重。今年2月,国内某人脸识别公司数据库泄露,造成250万人个人信息泄露。去年8月,某酒店集团的1.3亿条用户以及2.4亿条开房记录泄露
另一方面,数据库SQL执行日志也提供了性能、执行结果以及归类等信息,对于排查错误、线上性能优化支持起着关键作用。

阿里云关系数据库RDS的SQL执行日志已经与日志服务打通(目前支持MySQL类型),提供准实时的SQL执行分析功能,并提供内置可深钻的报表、支持异常报警与生态对接能力等。
image

完备的SQL执行日志

SQL执行日志包括了对数据库进行的所有SQL操作,RDS提供的SQL执行日志,通过网络监听的方式收集,对实际执行几乎没有性能的影响,包括但不限于如下类型的SQL执行以及信息提取:

  • 数据库的登入、登出
  • DDL(Data Definition Language):基于SQL的对数据库结构定义的SQL,例如CREATE、ALTER DROP、TRUNCATE、COMMENT等
  • DML(Data Manipulation Language):SQL操作语句,包括SELECT、INSERT、UPDATE、DELETE等
  • 其他SQL执行,包括任何其他通过SQL执行的控制,例如回滚、控制等
  • 失败的SQL执行也会被记录
  • 对SQL执行的延迟、执行结果、影响的行数等信息的提取

关于阿里云日志服务

阿里云的日志服务(log service)是针对日志类数据的一站式服务,无需开发就能快捷完成海量日志数据的采集、消费、投递以及查询分析等功能,提升运维、运营效率。日志服务主要包括 实时采集与消费、数据投递、查询与实时分析 等功能,适用于从实时监控到数据仓库的各种开发、运维、运营与安全场景:

image

功能优势

将阿里云RDS的实时SQL执行投递到日志服务中有如下价值与优势:

  • 简单:轻松配置,即可准实时采集SQL执行日志导入日志服务。
  • 可靠:对现有数据库支持无性能影响,数据准实时接入,分钟级别延迟。
  • 信息充分:除了执行的SQL之外,也包括数据库登录、失败的数据执行、延迟、影响结果等,对数据库执行状况、性能、潜在安全问题了如指掌,并可准实时挖掘细节。
  • 强大:依托日志服务,提供实时日志分析,并提供开箱机用的报表中心,且支持定制等。
  • 灵活:支持基于特定指标,支持定制准实时监测、报警、报表订阅,确保关键业务异常及时响应。可对接其他生态如流计算、云存储、可视化方案,进一步挖掘数据价值。或使用日志服务机器学习、自定义报表、数据加工等一站式服务。
  • 成本优势:支持任意时间的存储,以便合规、溯源、备案等。每1000万条SQL执行日志存储一个月,每天只需2毛钱左右

适用客户

  1. 合规:对SQL执行日志存储有更长存储合规需求(例如半年/1年)的大型企业与机构,如金融公司、政府类机构等。
  2. 高级运维:需要对数据库状况做实时监测,并对业务上出现的性能、可靠、稳定性等异常问题能够进行快速排错的客户,需要使用日志服务的实时的交互式的统计、查询分析和报警功能,如互联网服务、金融等企业。
  3. 安全:需要对数据库安全进行审计,辅助数据安全防护和事后排查的公司,需要使用日志服务的实时查询分析功能,如金融、证券、电商、游戏等公司。
  4. 行为分析:需要对数据库操作做行为分析,作进一步性能、功能、体验调优的参考和验证,除了统计查询外,也需要对接外部系统做进一步深度分析的公司。

前提与配置

前提与限制

  1. 开通日志服务。
  2. 开通RDS服务,购买或已经有一个支持SQL审计/洞察的MySQL实例
  3. 目前支持自动投递到日志服务的RDS类型如下:
限制 描述 备注
类型 MySQL 其他类型计划中
地域 北京 上海 杭州 深圳 香港 青岛 其他地域陆续开放中
版本 5.5、5.6、5.7、8.0 8.0 beta中
系列 高可用版、金融版 基础版本不支持
存储类型 本地SSD SSD云盘不支持
SQL审计/洞察状态 未开启,或已经开启标准版本 控制台会帮用户自动开启,注意:开启使用版本的SQL审计目前会导致控制台开通投递失败
  1. 目前仅支持投递同一个地域下的日志服务项目(例如,北京的RDS实例,只能投递到北京的日志服务日志库中)
  2. 请勿修改默认的仪表盘配置,默认仪表盘会随着功能升级自动更新。参考日志服务手册,从默认仪表盘中复制一个仪表盘并修改。

如何配置

  1. 登录日志服务控制台,准备或构建一个与源RDS所处同一个地域的日志服务项目,并在其中准备或构建一个日志库(请选择好正确的存储时间,如180天等)
  2. 在日志库列表中选择【数据接入向导】,选择【RDS】
  3. 在控制台交互中配置期望的RDS MySQL数据库接入。

    • 注意: 如果您没看到对应的MySQL实例,可能是因为不符合前提条件,请参考上条列表。
    • 注意: 开启投递时需要开启标准版本RDS的审计日志功能。如果您已经开启了试用版本的SQL审计,控制台会开启失败。

用户场景

1. 自由交互式分析SQL执行

准实时数据库访问异常排查与问题分析,读写延时,访问客户端区域分布等

image

也支持标准SQL92语法,并融合多种扩展分析函数,参考查询分析日志

image

详细日志字段

字段名 名称 例子 备注
__topic__ 主题 固定为rds_audit_log
instance_id 实例ID rm-abcdefg
check_rows 扫描的行数 0
db 数据库名 my_db
fail 是否出错 0 0-成功,1-失败
client_ip 客户端IP 1.2.3.4
latency 延迟(微秒) 15
origin_time 操作时间(微秒) 1525671499014609
return_rows 返回行数 123
sql 执行的SQL语句 SELECT * from tb_abc
thread_id 线程ID 17171330
user 数据库用户 spotuserw
update_rows 更新行数 0

2. 安全分析

重要表格、异常删除、SQL攻击以及SQL注入等一目了然

image

也可以在日志查询分析的结果上,支持自定义SQL执行审计与告警通知,以便第一时间处理,日志服务支持多种告警模式(例如钉钉、短信等),并支持自定义告警内容模板:

image

3. 整体访问监控程度

整体访问监控程度,运维可靠性指标一目了然,并可以参考,构建自己的仪表大盘。

image

4.运营分析

运营分析,活跃数据库与表格,关键数据添加修改删除动向**

image

进一步参考

后续我们会进一步围绕RDS执行日志,做更多最佳实践介绍。可以扫码加入官方钉钉群 (11775223)获得实时更新与阿里云工程师的及时直接的支持:
image

版本

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
19天前
|
监控 关系型数据库 MySQL
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
37 3
|
1天前
|
存储 运维 监控
【Docker专栏】Docker日志管理与监控的最佳方法
【5月更文挑战第7天】本文探讨了Docker容器的日志管理与监控,强调其在运维中的重要性。Docker默认使用`json-file`日志驱动,可通过`docker logs`命令查看。建议选择合适日志驱动,配置日志选项,并集成ELK Stack等工具进行高级分析。实时监控、设置警报、分析数据和审计日志是实践关键。最佳实践包括日志数据与容器数据分离、使用日志代理、保护敏感信息及遵守法规。关注新技术以提升系统稳定性和安全性。
【Docker专栏】Docker日志管理与监控的最佳方法
|
2天前
|
监控 安全 数据可视化
中间件应用日志记录和监控
中间件应用日志记录和监控
16 3
|
8天前
|
Prometheus 监控 Cloud Native
【Go语言专栏】Go语言中的日志记录与监控
【4月更文挑战第30天】Go语言在软件开发和运维中扮演重要角色,提供灵活的日志记录机制和与多种监控工具的集成。内置`log`包支持基本日志记录,而第三方库如`zap`、`zerolog`和`logrus`则扩展了更多功能。监控方面,Go应用可与Prometheus、Grafana、Jaeger等工具配合,实现系统指标收集、可视化和分布式追踪。健康检查通过HTTP端点确保服务可用性。结合日志和监控,能有效提升Go应用的稳定性和性能。
|
8天前
|
存储 监控 关系型数据库
PHP编写的电脑监控软件:用户登录日志记录与分析
使用PHP编写简单但功能强大的电脑监控软件,记录用户登录日志并进行分析。代码示例展示了如何获取并存储用户IP地址和登录时间到数据库,然后进行登录数据的分析,如计算登录频率和常见登录时间。此外,还介绍了如何通过定时任务自动将监控数据提交到网站,以便实时监控用户活动,提升系统安全性和稳定性。
26 0
|
8天前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理策略
【4月更文挑战第30天】 在微服务架构日益普及的当下,容器化技术与编排工具如Kubernetes成为了运维领域的重要话题。有效的监控和日志管理对于保障系统的高可用性和故障快速定位至关重要。本文将探讨在Kubernetes环境中实施监控和日志管理的最佳实践,包括选用合适的工具、部署策略以及如何整合这些工具来提供端到端的可见性。我们将重点讨论Prometheus监控解决方案和EFK(Elasticsearch, Fluentd, Kibana)日志管理堆栈,分析其在Kubernetes集群中的应用,并给出优化建议。
|
9天前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用合集之阿里云MaxCompute对SQL语句的长度的长度限制是多少
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
10天前
|
数据可视化
R语言两阶段最小⼆乘法2SLS回归、工具变量法分析股息收益、股权溢价和surfaces曲面图可视化
R语言两阶段最小⼆乘法2SLS回归、工具变量法分析股息收益、股权溢价和surfaces曲面图可视化
|
15天前
|
机器学习/深度学习 前端开发 数据挖掘
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断(下)
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
222 11
|
20天前
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断2
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断

相关产品

  • 日志服务