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

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...
Trackback

only 1 comment untill now

  1. mysqlの障害を監視する各種設定メモ http://t.co/7XmlM4jf #scientific #centos #mysql