3. EID日志收集方法

3.1. 通用收集方法

表 3.1 EID通用收集方法

编号

方法

说明

1

mx-report工具

可执行 sudo mx-report 收集GPU所有模块日志。

mx-report工具的使用方法参见《曦云®系列通用GPU用户指南》。

2

mx-exporter工具

mx-exporter通过指标 mx_driver_eid_errors 收集Driver EID相关日志,指标 mx_sdk_eid_errors 收集Driver EID相关日志。

mx-exporter 工具的使用方法参见《曦云®系列通用GPU mx-exporter使用手册》。

3.2. Dirver日志收集方法

Driver日志收集方法参见表 3.2

表 3.2 Driver日志收集方法

编号

方法

说明

1

dmesg命令

Linux系统通用命令,只能查看当前运行时内核日志信息。同时由于Linux内核日志缓存区大小限制,可能无法显示当前运行时内核的完整日志。

命令如下:

sudo dmesg | grep -P "METAX.*ERROR|MXCD.*ERROR|MXGVM.*ERROR"

2

journalctl命令

基于systemd启动的Linux系统上的强大日志工具,没有dmesg命令的内核日志缓存区限制问题,还可以查看系统的历史运行日志。

命令如下:

sudo journalctl -k -b 0 | grep -P "METAX.*ERROR|MXCD.*ERROR|MXGVM.*ERROR"

3

/var/log/message/var/log/kern.log 文件

Linux系统内核日志在磁盘存放位置,用户需要注意收集的内核日志是否属于当前系统运行时日志,还是系统以前运行的历史日志。

CentOS系统命令如下:

sudo grep -P "METAX.*ERROR|MXCD.*ERROR|MXGVM.*ERROR" /var/log/messages

Ubuntu系统命令如下:

sudo grep -P "METAX.*ERROR|MXCD.*ERROR|MXGVM.*ERROR" /var/log/kern.log

3.3. SDK日志收集方法

MXMACA SDK日志收集方法参见表 3.3

本节以Ubuntu系统为例,下列为收集时的注意事项:

  1. 日志文件可能很大,考虑压缩后再传输(gzip /var/log/syslog)。

  2. 确保有足够的权限访问日志文件(通常需要 root 权限)。

  3. 定期清理旧日志,避免磁盘空间不足。

  4. 敏感信息可能存在于日志中,传输时考虑加密。

  5. 对于持续收集,建议设置日志轮转策略。

表 3.3 SDK日志收集方法

编号

方法

说明

1

直接复制文件 /var/log/syslog

最简单的方法是直接复制文件:

cp /var/log/syslog/path/to/destination/

或者使用 scp 传输到远程服务器:

scp /var/log/syslog user@remotehost:/path/to/destination/

2

journalctl命令

基于systemd启动的Linux系统上的强大日志工具,可以查看系统的历史运行日志。命令如下:

sudo journalctl -k -b 0 | grep -P "maca" > maca.log

sudo journalctl --since "2025-06-01" --until "2025-07-01" > logs_jun1.log

3

rsync 同步

使用 rsync 同步:

rsync -avz /var/log/syslog user@remotehost:/path/to/destination/

4

logrotate 管理

配置 /etc/logrotate.conf/etc/logrotate.d/ 下的配置文件,可以自动管理日志文件大小和备份:

sudo logrotate -f /etc/logrotate.conf

5

使用系统日志服务 (rsyslog/syslog-ng)

  • rsyslog 配置

    编辑 /etc/rsyslog.conf/etc/rsyslog.d/ 下的配置文件:

    & /path/to/collect/syslog.log
    & @remotehost:514
    

    重启服务:

    systemctl restart rsyslog

  • syslog-ng 配置

    编辑 /etc/syslog-ng/syslog-ng.conf

    destination d_remote {
      udp("remotehost" port(514));
    };
    log {
      source(s_src);
      destination(d_remote);
    };
    

    重启服务:

    systemctl restart syslog-ng