collect logs [cluster_name]
此命令从所有主机收集日志文件和其他相关文件。当集群的名称 ( cluster_name
) 与命令一起提供时,它会收集所有日志文件 ( .log
) 以及配置文件 ( .ini
, .cnf
)、错误文件 ( .err
) 和跟踪文件 (.trace.log.*)属于集群的所有进程,以及所有代理日志文件。如果
cluster_name
省略,则仅收集代理日志文件。
当一个mcmd代理从它所连接的mcm代理接收到
collect logs
命令
时,它默认使用端口 0 设置一个 TCP 服务器套接字,并让操作系统分配实际的端口号。然后指示站点中的所有代理执行复制,并且每个代理都生成一个 TCP 客户端,该客户端连接到先前设置的 TCP 服务器套接字以复制文件。
要手动为文件复制分配特定端口,请
--copy-port
在启动
mcmd时使用该选项。该选项的默认值为 0。
collect logs
如果在 30 秒内任何客户端无法建立连接或 TCP 服务器未检测到传入连接,则命令超时。
如果防火墙或其他网络问题禁止 TCP 客户端连接到 TCP 服务器套接字,该
collect logs
命令将永远无法完成。
收集到的文件默认放在MySQL Cluster Manager数据仓库下(MySQL mcm_data
Cluster Manager安装目录的父目录下),或者选项指定--data-folder
)里面一个名为collected_files
像下面这样:
/mcm_data_repository/collected-files/
|── timestamp/
| ├── mcmd/
| | ├── mcmd#/
| | ├── mcmd.log
| | └── mcmd_timestamp.log
| | └── ...
| ├── cluster_name/
| ├── node#_nodetype/
| | ├── log files (.log)
| | ├── configuration files (.ini, .cnf)
| | ├── error files (.err)
| | └── trace files (.trace.log.*)
| ├── node#_nodetype/
| | ├── log files (.log)
| | ├── configuration files (.ini, .cnf)
| | ├── error files (.err)
| | └── trace files (.trace.log.*)
| ├── node#_nodetype/
| | └── ...
| └── other/
| ├── utilities files (.err, .out)
| └── ...
|
├── timestamp/
| ├── mcmd/
| | ├── mcmd#/
| | ├── mcmd.log
| | ├── mcmd_timestamp.log
| | └── ...
| ├── cluster_name/
| | ├── node#_nodetype/
...
例如,节点号为 146 的mysqld 节点的错误日志位于:
/opt/mcm_data/collected-files/2021-07-31T07:44:05Z/51_mysqld/mysqld_146_out.err