4.2.5collect logs命令

collect logs [cluster_name]

此命令从所有主机收集日志文件和其他相关文件。当集群的名称 ( cluster_name) 与命令一起提供时,它会收集所有日志文件 ( .log) 以及配置文件 ( .ini, .cnf)、错误文件 ( .err) 和跟踪文件 (.trace.log.*)属于集群的所有进程,以及所有代理日志文件。

当一个mcmd代理从它所连接的mcm代理接收到 collect logs命令 时,它默认使用端口 0 设置一个 TCP 服务器套接字,并让操作系统分配实际的端口号。然后指示站点中的所有代理执行复制,并且每个代理都生成一个 TCP 客户端,该客户端连接到先前设置的 TCP 服务器套接字以复制文件。

对于 MySQL Cluster Manager 1.4.2 及更高版本:要手动分配特定端口用于文件复制,请 --copy-port在启动 mcmd时使用该选项。该选项的默认值为 0。 collect logs如果在 30 秒内任何客户端无法建立连接或 TCP 服务器未检测到传入连接,则命令超时。

警告

如果防火墙或其他网络问题禁止 TCP 客户端连接到 TCP 服务器套接字,该 collect logs命令将永远无法完成。

收集到的文件放在 MySQL Cluster Manager 数据仓库(../mcm_data默认情况下(相对于 MySQL Cluster Manager 的安装目录),或者由选项指定 )下--manager-directory一个名为collected_files对于文件集合],然后是主机名;在主机名级别以下,文件组织模仿主机上的组织。例如,tonfisk在 2014-07-31 收集的主机代理日志07:44:05位于:

 /opt/mcm_data/collected-files/2014-07-31T07:44:05Z/tonfisk/opt/mysql/logs/mcmd-tonfisk-19001.log

如果cluster_name省略,则仅收集代理日志文件。