云数据库RDS

    RDS监控报警配置

    背景

    RDS实例创建完成后会默认自动配置两个报警策略(磁盘使用率和CPU占用率),为了更及时准确的了解数据库运行状况,建议客户自助在BCM中配置更详细的监控策略。BCM中提供了RDS相关的监控数据采集,用户可根据实际业务进行选择和配置。

    BCM for RDS监控配置方法

    请参考:《监控报警操作指南》

    RDS for MySQL各监控项报警阈值推荐

    监控项 统计周期 统计方法 推荐阈值 重复几次后报警
    CPU占用率 1min 平均值 > 80% 3
    数据空间磁盘使用率 1min 平均值 > 80% 3
    系统空间磁盘使用率 1min 平均值 > 80% 3
    内存使用率 1min 平均值 > 90% 3
    慢查询 1min 平均值 > 当前实例CPU核数的2倍 3
    主从延迟 1min 平均值 > 300秒 3
    总连接数 1min 平均值 > 当前实例参数max_connections的80% 3
    活跃连接数 1min 平均值 > 当前实例CPU核数的2倍 3
    最大事务执行时间 1min 平均值 > 60秒 3

    RDS磁盘监控最佳实践

    磁盘监控曲线

    image.png

    • 数据空间磁盘使用率:

      说明: 数据空间磁盘使用率,计算公式:数据使用磁盘空间/购买的磁盘空间,即表示用户数据((表文件,共享表空间,临时文件)/购买的磁盘空间)。如下图的蓝色监控曲线 影响:如果数据磁盘空间使用100%,则rds实例会被设置为只读模式,用户无法写入数据

    • 系统空间磁盘使用率:

      说明:系统空间磁盘使用率,计算公式:(数据使用磁盘空间+日志使用磁盘空间)/购买的磁盘空间,即(表示用户数据+log(mysql.log,slow.log,mysql.err,binlog,系统采集日志))/(购买的磁盘空间)。 如下图红色监控曲线 影响: 如果系统空间磁盘使用100%,则因为磁盘写满导致无法继续写入数据

    案例

    某客户购买一个双机高可用实例,初始化数据后,看到磁盘监控如下:

    数据空间磁盘使用:9.19%

    系统空间磁盘使用:14.42%

    image.png

    为了数据安全和审计,开启了全日志和较长周期保留binlog,经过一段时间运行,收到rds电话通知:磁盘增长迅速一个小时磁盘使用了87%,存在磁盘打满风险。如下图:

    image.png

    授权dba查看磁盘增长快速的原因:因为不规范使用sql,导致mysql.log, slow.log, mysql.err等日志文件快速增长。

    解决办法是合理升配磁盘套餐,并且优化sql之后,清理异常产生的log文件,系统磁盘使用率降回。如下图:

    image.png

    上一篇
    MySQL实例配置最佳实践
    下一篇
    大事务报警处理方法