对代理进行故障排除的第一步是查明它是否正在运行。要做到这一点,请参见:
Mac OS X:第5.5.2节,“在Mac OS X上启动/停止代理”
以下是一些额外的建议:
要在启动时运行,代理需要被监视的MySQL服务器的正确登录凭证。登录到被监视的MySQL服务器并检查代理的凭据。的值进行比较
宿主
,用户
字段中的mysql.user
表中显示的值等/ agentManaged / mysqlConnection
文件。密码是加密的,因此无法在此手动管理,但可以从MySQL实例,或使用代理连接工具(<标识>
/豆/ jsonagent.sh
)从命令行。使用不正确的凭据登录服务管理器会在代理日志文件中创建一个条目。
确认代理可以登录到服务管理器的一种简单方法是输入
https://
进入您的网络浏览器的地址栏,替换适当的主机名和端口。当HTTP认证对话框打开时,输入代理用户名和密码。当系统显示如下信息时,表示登录成功:Monitor_UI_Host: 18443
/心跳E0401: NullAgentPayloadException: [] 请注意尽管上面的清单显示了一个错误,但是您已经成功地登录了。出现此错误因为您已经登录,但没有”有效载荷”.
如果您可以通过上面描述的方式成功登录,并且代理正在运行,那么代理的配置中可能有错误。比较MySQL Enterprise Monitor User Interface中使用的主机名、端口、代理名和密码,并检查其使用情况
agent.sh
,连同你在网页浏览器地址栏输入的数值。如果HTTP身份验证失败,则可能为代理使用了错误的凭据。试图使用不正确的凭据登录到服务管理器会在代理日志文件中创建一个条目。
如果没有弹出HTTP认证对话框,且无法连接,可能是主机名或端口号配置错误。根据描述的值确认您输入的值
应用程序主机名和端口:
在configuration_report.txt
.连接失败也可能表明承载MySQL企业服务管理器的机器上的端口被阻塞。要检查是否阻塞的端口是问题所在,请检查防火墙的该端口号的配置。打开安装期间指定的端口并重新启动代理。如果需要,您可以使用SSH隧道监视防火墙外部。有关更多信息,请参见第5.8节“使用SSH隧道在防火墙外进行监控”.
从命令行运行代理有时会显示错误,当从菜单选项启动代理时,这些错误不会出现在日志文件中或屏幕上。要从命令行启动代理,请参阅本节开头给出的说明。
如果在同一台机器上运行多个代理,则
UUID
必须是唯一的。如果代理和它所监视的MySQL服务器在不同的机器上运行,请确保正确的
宿主
为代理帐户指定。对于远程登录,还必须打开正确的端口(通常是3306)。有关远程监控的更多信息,请参见第5.7节“配置监控远程MySQL服务器的代理”.在MySQL 5.5或更早的版本上,MySQL企业监控代理和MySQL企业服务管理器使用唯一的主机ID,存储在
mysql.inventory
表,以确定被监视的实例是否为克隆。当代理启动时,将根据存储的值检查当前服务器的主机标识码。如果生成的终端标识码与存储的终端标识码不匹配,则会在代理日志文件中得到类似如下内容的错误信息:%s: [%s] the hostid from mysql。我们假设这是一个克隆的主机,现在关闭。请TRUNCATE TABLE mysql。在这个mysql实例上清存并重新启动代理。如果这是用于复制的主服务器,请运行SET SQL_LOG_BIN = 0;第一。
要解决这个问题,请使用安装代理时配置的凭据连接到MySQL服务器,然后截断
mysql.inventory
表:mysql> TRUNCATE mysql.inventory
现在重新启动代理,它将重新创建
mysql.inventory
表中包含更新后的实例UUID和hostid信息。