使用dstat命令的插件查看mysql的io状态

使用dstat竟然还可以查看mysql的状态, man dstat之后发现的,原来在/usr/share/dstat目录下藏有很多python脚本作为插件帮助dstat搜集各类信息。

不过通常有可能会

如果你执行dstat --mysql5_io 出现了

Module dstat_mysql5_io failed to load. (No module named MySQLdb)

那么你可能需要安装python-mysqldb来使用python driver连接mysql.

安装方法: sudo apt-get install python-mysqldb, 或者pip install

如果依然出现问题,那可以尝试使用自己编写的python脚本来查看失败的详细原因:

import MySQLdb
MySQLdb.connect(user=mysql_user, passwd=mysql_pwd)

比如我这里出现了:

_mysql_exceptions.OperationalError: (2002, "Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘

这是由于我的mysql已经启动且安装 配置都是自定义的,因此需要查看下连接sock地址, 可以使用如下命令查看

lsof -p PIDofMySql

打开/usr/share/dstat目录下的dstat_mysql5_io.py

根据lsof结果修改以上代码为:

self.db = MySQLdb.connect(user=mysql_user, passwd=mysql_pwd,db="redmine", unix_socket="/opt/mysql/tmp/mysql.sock")

上述socket地址根据你自己的情况定义。

 

创建脚本,自动运行

#!/bin/bash

export DSTAT_MYSQL_USER=‘root‘
export DSTAT_MYSQL_PWD=‘111111‘

dstat --mysql5-io $@

 

运行结果为:

 

技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。