数据库日常监控
- 常见的监控方式
- 自己写程序或者脚本进行监控
- 当机器很少时,可以通过写程序或者编写脚本的方式监控线上的服务器,但是随着业务量的增大,业务上需要监控的点变得越来越细化,需要部署的脚本也越来越多,通过脚本进行监控的方法基本上无法满足业务的需求,并且脚本的后期维护成本也很大。常常会看到企业开始初期,服务器上布满了大大小小的监控脚本。
- 监控采用商业解决方案
- 选择一个商业的解决方案,通过第三方为企业实现一套完整的监控系统。采用这种方案的优点是能在短时间内搭建一套监控平台,并且平台由很受欢迎的展现方式,如报表、美观的用户界面等,但是也存在一定的缺点,比如说这套平台需要花费很高的成本,并且随着业务的发展可能需要监控的粒度越来越细,当前的系统无法更好地去扩展。
- 监控开源软件方案
- 选择一套已有的开源工具,通过开源工具对企业的生产系统进行监控,选择开源工具的优势包括完全免费、定制能力强、完全可控、集中化管理、可视性好。但是开源工具也有一定的缺点,比如说需要花费大量时间阅读相关文档。
- 自己写程序或者脚本进行监控
- 常见的监控软件需要具备以下几项功能
- 监控系统必须具有对主机的监控,包括对主机的CPU、内存、网络、整体负载、相关进程数的监控等。
- 监控系统必须具有对数据库的监控,主要包括对数据库的一些自身的性能指标进行监控,比如缓冲池的命中率、查询缓存的命中率等。
- 监控系统要做到监控的实时性,监控系统需要具有相关触发报警的功能,当主机或者数据库发生异常时,要在第一时间进行短信报警、邮件报警等。
- 在数据的表现形式上来讲,监控系统需要具备良好的图形展示的功能,当数据库发生异常时,数据库管理员能根据监控系统中异常时刻的趋势图迅速地定位到故障的产生原因。
- 在协议的支持方面,监控系统客户端需要支持现有协议,如IPMI、SNMP等协议。
- 在数据存储方面,要充分了解监控系统监控数据的存取,包括以文件的形式存储、用数据库的方式进行存储等,在部署监控系统时提前对数据进行规划。
- 监控系统的部署和配置的复杂度、界面的友好性以及对中文的支持。
华为云数据库监控功能介绍
- 华为云数据库GaussDB(for MySQL)通过Cloud Eye的资源监控功能可以了解系统的运行情况。通过监控数据库运行时的系统资源利用率,可以识别出什么时间段资源占用率最高,然后到错误日志或慢日志中分析可能存在问题的SQL语句,从而优化数据库性能。
- 监控指标说明
| 指标 | 指标名称 | 含义 | 取值范围 | 备注 |
|---|---|---|---|---|
| gaussdb_mysql001_cpu_util | CPU使用率 | 该指标用于统计测量对象的CPU利用率。 | 0-100% | 测量对象:弹性云服务器 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql002_mem_util | 内存使用率 | 该指标用于统计测量对象的内存利用率。 | 0-100% | 测量对象:弹性云服务器 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql004_bytes_in | 网络输入吞吐量 | 该指标用于统计平均每秒从测量对象的所有网络适配器输入的流量 | >=0Bytes/s | 测量对象:弹性云服务器 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysqlOOS_bytes_out | 网络输出吞吐量 | 该指标用于统计平均每秒从测量对象的所有网络适配器输出的流量 | >=0Bytes/s | 测量对象:弹性云服务器 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql006_conn_count | 数据库总连接数 | 该指标用于统计试图连接到MySQL服务器的总连接数。 | >=0 Counts | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql007 _conn_active_count | 当前活跃连接数 | 该指标用于统计当前打开的连接的数量 | >=0 Counts | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql008_qps | QPS | 该指标用于统计平均每秒SQL语句查询次数,包含存储过程。 | >=0 Executions/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql009_tps | TPS | 该指标用于统计平均每秒单任务执行次数,包含提交的和回退的。 | >=0 Transactions/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql01 O_innodb_buf_usgae | 缓冲池利用率 | 该指标用于统计InnoDB缓存中脏数据与数据比例。 | 0~100% | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql011_innodb_buf_hit | 缓冲池利用率 | 该指标用于统计读命中与读请求数比例。 | 0~100% | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql012_innodb_buf_dirty | 缓冲池脏块率 | 该指标用于统计使用的页与InnoDB缓存中数据总数比例。 | 0~100% | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysqt013_innodb_reads | InnoDB读取吞吐量 | 该指标用于统计Innodb平均每秒读字节数。 | >=0Bytes/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql014_innodb_writes | InnoDB写入吞吐量 | 该指标用于统计Innodb平均每秒写字节数。 | >=0 Counts | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql017_innodb_log_write_req_count | InnoDB日志写请求频率 | 该指标用于统计平均每秒的日志写请求数 | >=0 Counts | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql020_temp_tbl_count | 临时表数量 | 该指标用于统计MySQL执行语句时在硬盘上自动创建的临时表的数量 | >=0 Counts | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql028_comdml_del_count | Delete语句执行频率 | 该指标用于统计平均每秒Delete语句执行次数。 | >=0 Executions/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql029_comdml_ins_count | Insert语句执行频率 | 该指标用于统计平均每秒Insert语句执行次数 | >=0 Executions/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql030_comdml_ins_sel_count | Insert_Select语句执行频率 | 该指标用于统计平均每秒Insert_Select语句执行次数。 | >=0 Executions/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql031_comdml_rep_count | Replace语句执行频率 | 该指标用于统计平均每秒Replace语句执行次数 | >=0 Executions/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql032_comdml_rep_sel_count | Replace_Selection语句执行频率 | 该指标用于统计平均每秒Replace_Selection语句执行次数 | >=0 Executions/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql033_comdml_sel_count | Select语句执行频率 | 该指标用于统计平均每秒Select语句执行次数 | >=0 Executions/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql034_comdml_upd_count | Update语句执行频率 | 该指标用于统计平均每秒Update语句执行次数 | >=0 Executions/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql035_innodb_del_row_count | 行删除速率 | 该指标用于统计平均每秒从InnoDB表删除的行数 | >=0 Rows/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql036_innodb_ins_row_count | 行插入速率 | 该指标用于统计平均每秒向InnoDB表插入的行数 | >=0 Rows/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql037_innodb_read_row_count | 行读取速率 | 该指标用于统计平均毛细淋巴管从InnoDB表读取的行数 | >=0 Rows/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql038_innodb_upd_row count | 行更新速率 | 该指标用于统计平均每秒向InnoDB表更新的行数 | >=0 Rows/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql048_disk_used_size | 磁盘使用量 | 该指标用于统计测量对象的磁盘使用大小 | 0GB~400GB | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql072_conn_usage | 连接数使用率 | 该指标用于统计当前已用的MySQL连接数占总连接数的百分比 | 0~100% | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql074_slow_queries | 慢日志个数统计 | 该指标展示每分钟MySQL产生慢日志的数量 | >=0 Counts/Minute | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql077_replication_delay | 数据同步延迟 | 该指标用于采集主备实例的数据同步延迟时间 | >=0 s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql104_dfv_write_delay | 存储写时延 | 该指标用于统计某段时间写入数据到存储层的平均时延 | >=0 ms | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql105_dfv_read_delay | 存储读时延 | 该指标用于统计某段时间从存储层读取数据的平均时延 | >=0 ms | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql106_innodb_row_lock_current_waits | InnoDB行锁数量 | 该指标用于采集InnoDB表上的操作当前正在等待的行锁数量 | >=0 Counts | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql107_comdml_ins_and_ins_sel_count | Insert和Insert_Select语句执行频率 | 该指标用于统计平均每秒Insert和Insert_Select语句的执行次数 | >=0 Counts/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql108_com_commit_count | Commit语句执行频率 | 该指标用于统计平均每秒Commit语句的执行次数 | >=0 Counts/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql109_com_rollback_count | Rollback语句执行频率 | 该指标用于统计平均每秒Rollback语句的执行次数 | >=0 Counts/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql110_innodb_bufpool_reads | InnoDB存储层读请求频率 | 该指标用于统计平均每秒InnoDB从存储层读取数据的请求次数 | >=0 Counts/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
| gaussdb_mysql111_innodb_bufpool_read_requests | InnoDB读请求频率 | 该指标用于统计平均每秒InnoDB读取数据的请求次数 | >=0 Counts/s | 测量对象:数据库 监控实例类型:GaussDB(forMySQL)实例 |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




