mysql监控指标

监控指标 “innodb_rows_read_per_qps” 告警,当前值 1495.17
问题描述
高并发/压力请求

监控指标 “innodb_rows_read_per_qps” 告警,当前值 16832.95

晚上业务高峰期有一套数据库集群的主库出现 threads running 过多的告警,应用也频繁出现响应速度慢的告警。这时候processlist列表中非sleep的sql已达到1000+,数据库已经没法处理,后续进来的sql全部堆积在里面。1分钟后,处于running状态的sql达到了2700+。

此时使用kill命令杀sql,都会处于killed状态,sql进程并不会正真的结束。

top命令看到CPU有压力,但是没打满,iowait不高。

free下看到内存尚有20G余量,且基本没用到swap。

iostat下看到磁盘读写并不高,没有压力。

在Zabbix中配置MySQL监控指标可采用Zabbix agent方式,虽官方文档不推荐,但在某些设置可能不支持Zabbix agent 2或需自定义方法时可作为备用方式。具体配置步骤如下: 1. **设置访问数据库的配置文件**:在被监控端新建`/etc/zabbix/.my.cnf`,为Zabbix Agent提供访问数据库的权限,内容示例如下: ``` # Zabbix Agent [mysql] host = localhost user = zabbix password = 密码 socket = /var/run/mysqld/mysqld.sock [mysqladmin] host = localhost user = zabbix password = 密码 socket = /var/run/mysqld/mysqld.sock ``` 2. **编辑`zabbix_agentd.conf`文件**:添加自定义监控项,示例如下: ``` UserParameter=mysql.version,mysql -V UserParameter=mysql.ping,mysqladmin -uroot -p123456 -S/data/mysql/3306/mysql.sock ping | grep -c alive UserParameter=mysql.status[*],/etc/zabbix/scripts/checkmysqlperformance.sh $1 $2 ``` 3. **重启相关服务**:重启MariaDB数据库服务,示例命令为`systemctl restart mariadb`。同时,在Zabbix中重启相关监控服务,以确保配置生效。 4. **数据库操作与权限设置**:进入数据库,查看主状态,示例命令为`show master status;`。为指定用户授予所有权限并刷新权限,示例命令如下: ```sql grant all on *.* to 'tom'@'%' identified by '123'; flush privileges; ``` 5. **编辑MySQL配置文件**:在Zabbix - agent端编辑`/etc/my.cnf`文件,可根据实际需求进行相关配置。 需要注意,采用agent方式配置比较麻烦,配置失败率在三种方式中最高 [^1][^2][^3][^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值