mysqlの障害を監視する各種設定メモ
mysqlが過負荷になる現象が確認されたので、障害対応と監視を強化するために行った作業のメモ。
■muninによる監視の追加
・muninは導入済みの想定
/usr/share/munin/plugins/mysql_ を利用する
・基本監視可能項目のリスト 出力された項目が設定可能
# /usr/share/munin/plugins/mysql_ suggest
Cache::Cacheのエラーが出る場合は以下を実行
# yum install perl-Cache-Cache
・基本監視項目を設定
# cd /etc/munin/plugins
# ln -s /usr/share/munin/plugins/mysql_ mysql_commands
# ln -s /usr/share/munin/plugins/mysql_ mysql_connections
# ln -s /usr/share/munin/plugins/mysql_ mysql_slow
# ln -s /usr/share/munin/plugins/mysql_ mysql_myisam_indexes
# ln -s /usr/share/munin/plugins/mysql_ mysql_network_traffic
# ln -s /usr/share/munin/plugins/mysql_ mysql_qcache
# ln -s /usr/share/munin/plugins/mysql_ mysql_qcache_mem
・設定の追加
# vi /etc/munin/plugin-conf.d/munin-node
以下を追記
[mysql_*]
env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306
env.mysqluser root
env.mysqlpassword password
・データ取得できているか動作確認する
# /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_commands
# /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_connections
# /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_slow
# /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_myisam_indexes
# /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_network_traffic
# /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_qcache
# /usr/sbin/munin-run -servicedir /etc/munin/plugins mysql_qcache_mem
・設定を有効にする
# service munin-node restart
■mysqlに障害対応用ログ取得設定を追記
・slowログとバイナリーログを7日分出力する
# vi /etc/my.cnf
log-slow-queries=/var/log/mysql/slow.log
long_query_time=3
log-bin = /var/log/mysql/mysql-bin
set-variable = expire_logs_days=7
・保存場所を作成してmysqlを再起動
# mkdir /var/log/mysql
# chown -R mysql:mysql /var/log/mysql
# service mysqld restart
■稼働中のmysqlの状態把握ができるようにする
・mytopをインストールする
# yum install mytop
・設定ファイルを作成する
# vi ~/.mytop
以下の内容を設定に合わせて記入
user=root
pass=password
host=localhost
db=mysqldbname
delay=3
port=3306
socket=
batchmode=0
header=1
color=1
idle=1
・mytopを実行する
# mytop
終了時はqキー
・innotopをインストールする
# yum install innotop
・innotopを起動する
# innotop
画面の指示に従い設定を入力する
ヘルプは?、終了はqキー
・innotopの設定を編集する
# vi ~/.innotop/innotop.ini
connectionsの設定を編集
mysqldbname=user=root pass=password have_user= have_pass=
dsn=DBI:mysql:;host=localhost;port=3306 savepass= dl_table=
■プロセス監視ツールを追加する
・atopをインストールする
# yum install atop
実行は以下
# atop
異常値を色で示してくれるのでわかりやすい
■プロセスの状況を監視する設定をmuninに追加する
・user単位の使用状況を確認可能なmuninプラグインcpubyuserを設定する
http://exchange.munin-monitoring.org/plugins/cpubyuser/details
# cd /usr/share/munin/plugins/
# wget http://exchange.munin-monitoring.org/plugins/cpubyuser/version/1/download
# mv download cpubyuser
・cpubyuserの設定を追加
# vi /etc/munin/plugin-conf.d/munin-node
以下監視したいuser名を追記
[cpubyuser]
env.USERS root postfix mysql apache munin munin-node
・process単位の使用状況を確認可能なmuninプラグインcpu_by_processを設定する
http://exchange.munin-monitoring.org/plugins/cpu_by_process/details
# wget http://exchange.munin-monitoring.org/plugins/cpu_by_process/version/1/download
# mv download cpu_by_process
・cpu_by_processの設定を追加
# vi /etc/munin/plugin-conf.d/munin-node
以下を追記
[cpu_by_process]
user root
・プラグインを有効にする
# cd /etc/munin/plugins
# ln -s /usr/share/munin/plugins/cpubyuser cpubyuser
# ln -s /usr/share/munin/plugins/cpu_by_process cpu_by_process
・データ取得できているか動作確認する
# /usr/sbin/munin-run -servicedir /etc/munin/plugins cpubyuser
# /usr/sbin/munin-run -servicedir /etc/munin/plugins cpu_by_process
・設定を有効にする
# service munin-node restart
mysqlの障害を監視する各種設定メモ http://t.co/7XmlM4jf #scientific #centos #mysql