製品

Percona

pt-stalk

コマンド

pt-stalk

【必須項目】

  • ・ [ オプション ] : -p パスワード

【主なオプション】

  • ・ –variable:pt-stalkが実行される時の条件となるステータス変数を指定する
  • ・ –threshold:–variableで指定したステータス変数の、実行条件となる値を指定する
  • ・ –cycles:ログを集める回数を指定する(デフォルトは5回)ここで指定した回数分ログ収集を実行した後、ログの集計が実行される
    (集計前に、上の実行条件を満たさない状態になった場合、pt-stalkは中断される)

目的

指定した条件に達した時点の netstat や vmstat、 iostat 等の様々な情報を出力します

シナリオ

以下のコマンドを実行し、MySQLへの接続数が1以上になると起動するようにします

# pt-stalk -u =root --variable=Threads_connected --threshold=1

実行すると、以下のように標準出力されます

[root@localhost lib]# pt-stalk -u=root  --variable=Threads_connected --threshold=1
2017_04_10_15_22_26 Starting /usr/bin/pt-stalk --function=status --variable=Threads_connected --threshold=1 --match= --cycles=5 --interval=1 --iterations= --run-time=30 --sleep=300 --dest=/var/lib/pt-stalk --prefix= --notify-by-email= --log=/var/log/pt-stalk.log --pid=/var/run/pt-stalk.pid --plugin=

別画面からMySQLに接続します

# mysql -u root

結果

MySQLの起動により、コンソール画面が以下のように出力されます

stalk

①MySQLの起動により情報(ログ)の収集が繰り返されます
②5回繰り返した後、300秒間休止します ※この際ログファイルが作られます

300秒後、再び同じ動作をしてまた休止します(pt-stalkを停止させるまでこの動作の繰り返しとなります)

2017_04_10_15_28_03 Check results: status(Threads_connected)=2, matched=yes, cycles_true=1
2017_04_10_15_28_04 Check results: status(Threads_connected)=2, matched=yes, cycles_true=2
2017_04_10_15_28_05 Check results: status(Threads_connected)=2, matched=yes, cycles_true=3
2017_04_10_15_28_06 Check results: status(Threads_connected)=2, matched=yes, cycles_true=4
2017_04_10_15_28_07 Check results: status(Threads_connected)=2, matched=yes, cycles_true=5
2017_04_10_15_28_07 Collect 2 triggered
2017_04_10_15_28_07 Collect 2 PID 7452
2017_04_10_15_28_07 Collect 2 done
2017_04_10_15_28_07 Sleeping 300 seconds after collect

/var/lib/pt-stalk 配下にnetstat や vmstat、 iostat 等の様々な情報の入ったファイルが作られます

[root@localhost pt-stalk]# ls
2017_04_10_15_23_03-df              2017_04_10_15_23_03-mpstat          2017_04_10_15_23_03-procstat
2017_04_10_15_23_03-disk-space      2017_04_10_15_23_03-mpstat-overall  2017_04_10_15_23_03-procvmstat
2017_04_10_15_23_03-diskstats       2017_04_10_15_23_03-mutex-status1   2017_04_10_15_23_03-ps
2017_04_10_15_23_03-hostname        2017_04_10_15_23_03-mutex-status2   2017_04_10_15_23_03-slabinfo
2017_04_10_15_23_03-innodbstatus1   2017_04_10_15_23_03-mysqladmin      2017_04_10_15_23_03-sysctl
2017_04_10_15_23_03-innodbstatus2   2017_04_10_15_23_03-netstat         2017_04_10_15_23_03-top
2017_04_10_15_23_03-interrupts      2017_04_10_15_23_03-netstat_s       2017_04_10_15_23_03-trigger
2017_04_10_15_23_03-iostat          2017_04_10_15_23_03-opentables1     2017_04_10_15_23_03-variables
2017_04_10_15_23_03-iostat-overall  2017_04_10_15_23_03-opentables2     2017_04_10_15_23_03-vmstat
2017_04_10_15_23_03-log_error       2017_04_10_15_23_03-output         
2017_04_10_15_23_03-vmstat-overall 2017_04_10_15_23_03-lsof            2017_04_10_15_23_03-pmap
2017_04_10_15_23_03-meminfo         2017_04_10_15_23_03-processlist

※ファイル名の冒頭部分はコマンドが実行されたときのタイムスタンプです

良い点

指定した条件を満たした時に、自動でサーバやMySQLの情報が取得できます