コマンド
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の起動により、コンソール画面が以下のように出力されます
①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の情報が取得できます