版本检查(Version Checking)
部分 Percona 软件内置"版本检查"功能,用于在发现有可用的软件更新时通知用户, 从而改善环境的安全性与性能。同时,该功能也会向 Percona 反馈你正在运行的软件版本 以及运行环境的确认信息,帮助 Percona 根据用户社区的总体趋势安排开发工作。
本文说明该功能收集哪些信息,以及如何在需要时禁用它。
使用情况
版本检查功能在 Percona Toolkit 2.1.4 中实现,并自 2.2.1 起默认启用。 目前 Percona Toolkit、Percona XtraBackup 和 PMM(Percona Monitoring and Management) 中的许多工具都支持 --[no]version-check 选项。
启用版本检查运行工具时,工具会通过安全的 HTTPS 通道连接 Percona 的版本检查服务, 对比本地已安装版本是否有可用更新,同时检查以下软件的版本:
- 操作系统
- Percona Monitoring and Management(PMM)
- MySQL
- Perl
- Perl 的 MySQL 驱动(DBD::mysql)
- Percona Toolkit
随后,如果发现环境中存在已知有问题的版本,工具会发出警告。
每次版本检查请求都会被服务端记录。存储的信息包括被检查系统的唯一 ID, 以及软件名称和版本。ID 在安装时或首次提交版本检查查询时生成。
TIP
Percona Toolkit 3.0.7 之前,系统 ID 由主机名计算 MD5 哈希得到;从 3.0.7 起, ID 改为随机数的 MD5 哈希。Percona XtraBackup 仍使用基于主机名的 MD5 哈希。
发送的查询内容形如:
85624f3fb5d2af8816178ea1493ed41a;DBD::mysql;4.044
c2b6d625ef3409164cbf8af4985c48d3;MySQL;MySQL Community Server (GPL) 5.7.22-log
85624f3fb5d2af8816178ea1493ed41a;OS;Manjaro Linux
85624f3fb5d2af8816178ea1493ed41a;Percona::Toolkit;3.0.11-dev
85624f3fb5d2af8816178ea1493ed41a;Perl;5.26.2禁用版本检查
版本检查功能不会收集任何个人信息,但你仍可能希望临时或永久禁用它。
临时禁用:调用工具时使用
--no-version-check,例如:bashpt-diskstats --no-version-check永久禁用:将
no-version-check写入相应 Percona 产品的配置文件。 对 Percona Toolkit,可写入全局配置文件/etc/percona-toolkit/percona-toolkit.conf:# Disable Version Check for all tools: no-version-check对 Percona XtraBackup,在其配置文件中类似地写入:
[xtrabackup] no-version-check
常见问题
为什么该功能默认启用? Percona 认为启用该功能可以改善运行 Percona 软件的环境的安全性与性能,对大多数用户是好的选择。
为什么不依赖操作系统自带的软件更新机制? 许多环境中,操作系统仓库可能不包含最新版软件,新版本常常是手动安装的, 因此不会被系统级的更新检查覆盖。
为什么除软件版本外还发送更多信息? 兼容性问题可能由环境中各组件的版本引起,例如有问题的 Perl、DBD 或 MySQL 版本 都可能导致 Percona Toolkit 运行异常。
更多细节请阅读 官方文档。