使用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 $@
運行結果為: