MySQL性能分析器是一个用于MySQL性能监控和分析的开源项目。该存储库包括两个子项目:
MySQL 性能分析器是一个 Java Maven 项目。构建它需要 JDK 和 Maven 3.0 或更高版本。
尽管在 pom.xml 中指定了 JDK 8,但该项目并未使用 Java 8 特定功能,因此用户可以修改两个子项目的 pom.xml 文件以使用不同的 JDK 版本。例如,如果构建主机只有 JDK 7,则修改文件 myperf/pom.xml,更改以下行
<source>1.8</source>
<target>1.8</target>
到
<source>1.7</source>
<target>1.7</target>
构建将在目录 perfJettyServer/target 下创建一个名为 myperfserver-server.zip 的 zip 文件。要构建它,请在顶层运行
mvn clean package
要求:Java JDK 8,或者如果在构建期间发生更改,则在 pom.xml 中指定。
将 myperfserver-server.zip 解压缩到所需的安装目录。如果您打算在 Windows 主机上安装,请查看两个 shell 脚本并创建 Windows 等效脚本。
对于以后的更新,大多数时候只需将 myperf/target/myperf.war 复制到安装目录下的 webapps 目录中,然后重新启动即可。
对于更正式的安装,建议使用 MySQL 数据库服务器作为后台存储来存储指标。否则,使用内置的 derby 数据库。
查看脚本 start_myperf.sh 以查看是否需要修改任何命令行设置。通常,端口号是您唯一需要更改的端口号
以下是配置文件中允许的列表,它使用Java属性文件格式(名称=值对)
要支持 https,应提供 SSL 证书(自签名或由第三方签名)并使用 Java keytool 将其存储在 Java 密钥库中(请参阅 https://wiki.eclipse.org/Jetty/Howto/Configure_SSL)。如果在 SSL 和非 SSL 之间切换时遇到登录问题,您必须使用浏览器提供的任何 cookie 工具删除来自托管此应用程序的服务器的浏览器 cookie。
如果需要,例如当安装了多个 JDK 软件包时,修改 start_myperf.sh 中的 java 命令路径。
启动:
./start_myperf.sh
检查 nohup.out 和日志目录中是否有任何错误日志。
关闭:
./stop_myperf.sh
首次登录和设置
启动后,将浏览器指向http://your_host:9092/myperf(或您更改的端口号)。或者 https://your_host:9092/myperf(如果 https 配置正确)。
初始登录用户和凭据是 myperf/change。
登录后,您将进入设置页面:
您可以添加用于通知的电子邮件地址。电子邮件使用操作系统“mailx”命令。
使用您在前面步骤中创建的数据库配置指标存储数据库。
1 或 5 分钟的指标扫描间隔应该足够了。
如果使用内置 derbydb,请选择较短的保留天数。
配置完成后,您需要启动扫描仪(页面顶部的“启动扫描仪”按钮)。
每次更改配置时,都需要重新启动扫描仪。
如果扫描仪未按预期工作,请重新启动分析仪
./stop_myperf.sh
然后
./start_myperf.sh
如果您的 SNMP 使用非默认社区,或者不是 v2c 版本,请使用“SNMP 设置”选项卡来配置 SNMP。目前仅支持基于 Linux 的 SNMP。如果您的 MySQL 服务器未在 Linux 上运行,请使用“警报设置”选项卡禁用 SNMP 指标轮询。
对于要监控的每个数据库服务器,您需要创建一个具有以下权限的 MySQL 用户:
该分析器依靠 Linux SNMP 来收集操作系统级别的数据。检查 snmpd 服务状态。
Hipchat 集成:如果您使用 hipchat 进行与工作相关的协作,则可以创建一个 hipchat 房间来接收来自 MySQL Perf Analyzer 的警报。检查 https://developer.atlassian.com/hipchat/tutorials/building-a-simple-add-on-using-a-wizard 了解如何设置 hipchat 集成。获得 hipchat 通知 URL 和身份验证令牌后,您可以使用“设置”页面配置 MySQL Perf Analyzer 以将通知发送到您的房间。
此代码根据 Apache 许可证获得许可。有关条款,请参阅许可证文件。