pt-secure-collect
pt-secure-collect:官方地址
說明
用途:收集、清理、打包和加密數據。
語法:
pt-secure-data [<flags>] <command> [<args> ...]
默認情況下會收集以下命令的結果:pt-stalk
,pt-summary
,pt-mysql-summary
\
- 收集
pt-secure-collect collect <flags>
- 解密
pt-secure-collect decrypt [flags] <input file>
- 加密
pt-secure-collect encrypt [flags] <input file>
- 清理
pt-secure-collect sanitize [flags]
具體例子
收集信息
以非加密方式收集MySQL信息並且不刪除臨時文件。
[root@BigData ~]# pt-secure-collect collect --bin-dir=/usr/bin \
--temp-dir="/root/pt_collection" --no-encrypt --no-remove-temp-files \
--mysql-host=localhost --mysql-port=3306 --mysql-user=root --mysql-password=123
INFO[2019-07-31 15:41:37] Creating temporary directory: /root/pt_collection
INFO[2019-07-31 15:41:37] Temp directory is "/root/pt_collection"
INFO[2019-07-31 15:41:37] Creating output file "/root/pt_collection/pt-stalk_2019-07-31_15_41_37.out"
INFO[2019-07-31 15:41:37] Running pt-stalk --no-stalk --iterations=2 --sleep=30 --host=localhost --dest=/root/pt_collection --port=3306 --user=root --password=******** --調用pt-stalk命令
INFO[2019-07-31 15:43:09] Creating output file "/root/pt_collection/pt-summary_2019-07-31_15_43_09.out"
INFO[2019-07-31 15:43:09] Running pt-summary --調用pt-summary命令
INFO[2019-07-31 15:43:16] Creating output file "/root/pt_collection/pt-mysql-summary_2019-07-31_15_43_16.out"
INFO[2019-07-31 15:43:16] Running pt-mysql-summary --host=localhost --port=3306 --user=root --password=******** --調用pt-mysql-summary命令
NFO[2019-07-31 15:43:28] Sanitizing output collected data
INFO[2019-07-31 15:44:08] Creating tar file "/root/pt_collection/pt_collection.tar.gz"
會在/root/pt_collection
目錄下個壓縮文件,其他文件爲臨時文件,如下:
[root@BigData pt_collection]# ls
2019_07_31_15_41_37-df 2019_07_31_15_41_37-opentables2 2019_07_31_15_42_07-hostname 2019_07_31_15_42_07-processlist
2019_07_31_15_41_37-disk-space 2019_07_31_15_41_37-output 2019_07_31_15_42_07-innodbstatus1 2019_07_31_15_42_07-procstat
2019_07_31_15_41_37-diskstats 2019_07_31_15_41_37-pmap 2019_07_31_15_42_07-innodbstatus2 2019_07_31_15_42_07-procvmstat
2019_07_31_15_41_37-hostname 2019_07_31_15_41_37-processlist 2019_07_31_15_42_07-interrupts 2019_07_31_15_42_07-ps
2019_07_31_15_41_37-innodbstatus1 2019_07_31_15_41_37-procstat 2019_07_31_15_42_07-iostat 2019_07_31_15_42_07-slabinfo
2019_07_31_15_41_37-innodbstatus2 2019_07_31_15_41_37-procvmstat 2019_07_31_15_42_07-iostat-overall 2019_07_31_15_42_07-slave-status
2019_07_31_15_41_37-interrupts 2019_07_31_15_41_37-ps 2019_07_31_15_42_07-log_error 2019_07_31_15_42_07-sysctl
2019_07_31_15_41_37-iostat 2019_07_31_15_41_37-slabinfo 2019_07_31_15_42_07-lsof 2019_07_31_15_42_07-top
2019_07_31_15_41_37-iostat-overall 2019_07_31_15_41_37-slave-status 2019_07_31_15_42_07-meminfo 2019_07_31_15_42_07-transactions
2019_07_31_15_41_37-log_error 2019_07_31_15_41_37-sysctl 2019_07_31_15_42_07-mpstat 2019_07_31_15_42_07-trigger
2019_07_31_15_41_37-lsof 2019_07_31_15_41_37-top 2019_07_31_15_42_07-mpstat-overall 2019_07_31_15_42_07-variables
2019_07_31_15_41_37-meminfo 2019_07_31_15_41_37-transactions 2019_07_31_15_42_07-mutex-status1 2019_07_31_15_42_07-vmstat
2019_07_31_15_41_37-mpstat 2019_07_31_15_41_37-trigger 2019_07_31_15_42_07-mutex-status2 2019_07_31_15_42_07-vmstat-overall
2019_07_31_15_41_37-mpstat-overall 2019_07_31_15_41_37-variables 2019_07_31_15_42_07-mysqladmin pt_collection.tar.gz --是最後生成的打包文件
2019_07_31_15_41_37-mutex-status1 2019_07_31_15_41_37-vmstat 2019_07_31_15_42_07-netstat pt-mysql-summary_2019-07-31_15_43_16.out
2019_07_31_15_41_37-mutex-status2 2019_07_31_15_41_37-vmstat-overall 2019_07_31_15_42_07-netstat_s pt-stalk_2019-07-31_15_41_37.out
2019_07_31_15_41_37-mysqladmin 2019_07_31_15_42_07-df 2019_07_31_15_42_07-opentables1 pt-summary_2019-07-31_15_43_09.out
2019_07_31_15_41_37-netstat 2019_07_31_15_42_07-disk-space 2019_07_31_15_42_07-opentables2
2019_07_31_15_41_37-netstat_s 2019_07_31_15_42_07-diskstats 2019_07_31_15_42_07-output
2019_07_31_15_41_37-opentables1 2019_07_31_15_42_07-dmesg 2019_07_31_15_42_07-pmap
加密文件
輸入加密密碼即可
[root@BigData pt_collection]# pt-secure-collect encrypt /root/messages --outfile=/root/messages.aes
Encryption password:
Re type password:
INFO[2019-07-31 16:01:00] Encrypting file "/root/messages" into "messages.aes"
解密文件
輸入解密密碼即可
[root@BigData ~]# pt-secure-collect decrypt /root/messages.aes --outfile= /root/messages.des
Encryption password:
INFO[2019-07-31 16:03:01] Decrypting file "/root/messages.aes" into "messages"
注意:這裏不管輸入的密碼和原加密密碼一樣不一樣,都不會提示錯誤信息,但是會造成解密後的文件內容錯亂。
清理內容
使用?或主機名來替換文件中查詢語句
如下
--源文件內容
[root@BigData ~]# cat test.txt
select name,id from lei where a='1' and name='wo';
commit;
--清理後的內容
[root@BigData ~]# pt-secure-collect sanitize --input-file=/root/test.txt
select name,id from lei where a=? and name=?;
commit;