带你掌握如何查看并读懂昇腾平台的应用日志

掌握,如何,查看,读懂,平台,应用,日志 · 浏览次数 : 143

小编点评

## Summary of the Article This article provides a comprehensive guide to understanding and utilizing logs on the Huawei Ascent platform. It covers the following key points: **Log Categories:** * Debug: Records debugging-related information, including function entry and exit logs. * Operation: Records device operation and results under manual or automated tasks. * Security: Records system user login, logout, and permission changes. * Run: Records system running state and execution details. **How to Get Log Files:** * EP scenario: Logs generated by application processes on both device and host side are stored in the `/var/log/npu/slog` directory. * RC scenario: Logs are stored in `/var/log/npu/slog` directory under the `device-app-pid` folder. **Reading Log Content:** * Log content is displayed consistently with clear format and field definitions for easy comprehension. * Use `cat`, `grep` commands to view logs. **Logging Levels:** * Define different log levels (DEBUG, INFO, WARNING, ERROR) for customizing log detail and severity. * Set the log level through environment variables: * `ASCEND_GLOBAL_LOG_LEVEL` for EP and RC scenarios. **Setting Log Level:** * Use `INFO` level for detailed information and `ERROR` level for performance-focused logging. **Note:** * 0: disable, 1: enable, 5: invalid (follow global_level). **Additional Information:** * Refer to the official Ascent documentation for further details and logging configuration. **In conclusion:** This article provides a clear and concise guide to understanding and utilizing logs on the Huawei Ascent platform, enabling efficient troubleshooting and performance monitoring.

正文

摘要:本文介绍了昇腾平台日志分类、日志级别设置、日志内容格式,以及如何获取日志文件的方法。

本文分享自华为云社区《如何查看并读懂昇腾平台的应用日志》,作者:昇腾CANN。

当您完成训练/推理工程开发后,将工程放到昇腾平台运行,以调试工程是否正常运行,此时,可能会出现各种各样、五花八门的异常状况。

当问题发生时,我们的第一反应是不是查看日志,看看哪里报错了。昇腾平台有哪些日志呢?日志文件又在哪呢?本期带您了解如何使用昇腾平台的日志功能。

01 了解日志分类

根据工程运行过程中日志产生的场景不同,日志通常被分为以下4类:

  • 调试日志(debug):记录调试级别的相关信息,一般用于跟踪运行路径,如记录函数的进入和退出等,大部分为代码级的信息输出,调试日志用于开发人员定位复杂问题。
  • 操作日志(operation):记录设备操作维护人员下发或通过设置相关的自动化任务下发的操作和操作结果。
  • 安全日志(security):记录系统用户登录、注销和鉴权,增加、删除用户,用户的锁定和解锁,角色权限变更,系统相关安全配置(如安全日志内容配置)变更等活动。
  • 运行日志(run):记录系统的运行状况或执行流程中的一些关键信息,包括异常的状态、动作,关键的事件等。

02 如何获取日志文件

我们现在知道了昇腾AI处理器有4类日志,那我们需要到哪里查看这些日志呢?本节来揭秘。

昇腾AI处理器具有EP和RC两种形态,针对不同的硬件形态,日志文件存放位置不同,需根据实际硬件形态获取。

EP场景日志获取

  • 应用类日志

用户应用进程在Host侧和Device侧产生的日志。例如,一个推理/训练任务下发后,通常与本次推理/训练直接相关的日志都存放在应用类日志中。

这类日志默认存放在“$HOME/ascend/log”路径下,格式如下:

├── debug
│   ├── device-0
│   │   └── device-pid_*.log    //Device侧产生的日志
│   └── plog
│       └── plog-pid_*.log     //Host侧产生的日志
├── operation
│   ├── device-0
│   │   └── device-pid_*.log
│   └── plog
│       └── plog-pid_*.log
├── run
│   ├── device-0
│   │   └── device-pid_*.log
│   └── plog
│       └── plog-pid_*.log
└── security
     ├── device-0
     │   └── device-pid_*.log
     └── plog
          └── plog-pid_*.log
  • 系统类日志

非用户应用进程在Device侧产生的日志,即Device侧常驻进程运行产生的日志通常都在存放在系统类日志中。

这类日志生成时默认存放在Device侧/var/log/npu/slog路径下,需要在Host侧通过msnpureport工具将其导出到Host侧再进行查看。

命令举例:

$Driver_HOME/driver/tools/msnpureport -a

通过msnpureport工具导出到Host侧后,系统类日志按Device侧文件夹存放,格式如下:

├── debug
│   ├── device-os
│       └── device-os_*.log
├── operation
│   ├── device-os
│       └── device-os_*.log
├── run
│   ├── device-os
│       └── device-os_*.log
├──security
│   ├── device-os
│       └── device-os_*.log
└── slog
          └── slogdlog

RC形态日志获取

RC形态日志获取比较简单,不管是应用类日志还是系统类日志,均存放在/var/log/npu/slog路径下。存放格式与EP场景类似:

├── debug
│   ├── device-app-pid
│   │   └── device-app-pid_*.log
│   └── device-os
│       └── device-os_*.log
├── operation
│   ├── device-app-pid
│   │   └── device-app-pid_*.log
│   └── device-os
│       └── device-os_*.log
├── run
│   ├── device-app-pid
│   │   └── device-app-pid_*.log
│   └── device-os
│       └── device-os_*.log
├── security
│   ├── device-app-pid
│   │   └── device-app-pid_*.log
│   └── device-os
│       └── device-os_*.log
└── device-id
          └──device-id_*.log

03 如何读懂日志内容

日志内容严格按照日志规范打印,每条日志格式一致、字段含义明确,便于阅读。日志格式、字段含义如下:

日志内容可以通过cat、grep等命令查看。

04 如何设置日志级别

日志级别定义

不同日志级别打印的日志内容详细程度不同,因此,问题定位时可以使用最详细日志(DEBUG)打印,而验证性能时使用最简日志(ERROR)打印即可。日志功能提供了5种级别供大家选择使用:

说明:各级别日志详细程度:DEBUG > INFO > WARNING > ERROR

设置日志级别

通过上面日志级别介绍,我们了解到可以根据自己需求设置不同的日志级别、打印不同详细程度的日志。那应该如何设置呢?

  • 应用类日志级别设置,通过在Host侧设置ASCEND_GLOBAL_LOG_LEVEL环境变量实现,例如设置INFO级别:
export ASCEND_GLOBAL_LOG_LEVEL=1
  • 系统类日志级别设置,针对EP和RC形态提供了不同的方法。

RC形态通过修改/var/log/npu/conf/slog/slog.conf配置文件、重启日志进程生效。

#note, 0:debug, 1:info, 2:warning, 3:error, 4:null(no output log), default(1)
global_level=1
# Event Type Log Flag, 0:disable, 1:enable, default(1)
enableEvent=1
# note, 0:debug, 1:info, 2:warning, 3:error, 4:null(no output log), 5:invalid(follow global_level)
SLOG=5                                     # Slog
IDEDD=5                                    # ascend debug device agent
DVPP=5                                     # DVPP
CCE=5                                      # CCE

EP形态通过msnpureport工具设置系统类日志级别。例如:

$Driver_HOME/driver/tools/msnpureport –g info

05 更多介绍

关于昇腾平台日志更多介绍,请登录昇腾文档中心查阅。

 

点击关注,第一时间了解华为云新鲜技术~

与带你掌握如何查看并读懂昇腾平台的应用日志相似的内容:

带你掌握如何查看并读懂昇腾平台的应用日志

摘要:本文介绍了昇腾平台日志分类、日志级别设置、日志内容格式,以及如何获取日志文件的方法。 本文分享自华为云社区《如何查看并读懂昇腾平台的应用日志》,作者:昇腾CANN。 当您完成训练/推理工程开发后,将工程放到昇腾平台运行,以调试工程是否正常运行,此时,可能会出现各种各样、五花八门的异常状况。 当

传统软件如何SaaS化改造,10个问答带你掌握最优解

摘要:如果您所在企业希望实行SaaS化改造,可访问了解华为云开发者技术团队的SaaS支持计划。 本文分享自华为云社区《【云享问答】第1期:传统软件如何SaaS化改造,10个问答带你掌握最优解!》,作者:技术火炬手。 如果您所在企业希望实行SaaS化改造,可访问了解华为云开发者技术团队的SaaS支持计

糟了糟了,总部被SD画完都Q了,这篇深入浅出贴助你早日实现Stable Diffusion自由

想知道精致的AI插画是如何实现的吗?接下来,我将结合这个案例带你走进 Stable Diffusion 的世界,帮你系统性地了解并掌握这神奇AI绘画魔法。

集群部署看过来,低代码@AWS智能集群的架构与搭建方案

为了帮助充分利用AWS的托管服务快速构建起一套集群环境,彻底去掉“单一故障点”,实现最高的可用性,我们准备了**《低代码智能集群@AWS的架构与搭建方案》**看完本文,带你掌握“基于nginx配置服务器集群”。 应用场景 如果你需要解决如下的问题,可以考虑搭建一套活字格@AWS智能集群: 保障系统高

[转帖]shell脚本之awk命令——按列求平均值、最大值、最小值

文章目录 写在前面awk求平均值awk求最大值awk求最小值awk求极值、均值的实际应用 写在前面 awk命令求极值和均值需要熟悉该命令的基本用法,如果你不熟悉该命令,请先阅读shell脚本之awk命令——分隔符介绍一文。本篇博文带你熟悉求平均值、最大值、最小值的方法,并以实际的应用带你进一步掌握a

带你掌握数仓的作业级监控TopSQL

摘要:目前TopSQL功能被用户广泛使用,是性能定位、劣化分析、审计回溯等重要的基石,为用户提供覆盖内存、耗时、IO、网络、空间等多方面的监控能力。 本文分享自华为云社区《GaussDB(DWS)监控工具指南(一)作业级监控TopSQL》,作者:幕后小黑爪 。 1、引言: 监控系统是智能化管理和自动

带你掌握利用Terraform不同数据源扩展应用场景

除了Terraform直接通过调用http provider接口获取数据外,还可以使用执行本地Shell/Python脚本,脚本内部实现调用外部接口获取数据,再将数据进行传入到Terraform进行使用。

[转帖]一文带你掌握 Redis

https://www.bbsmax.com/A/8Bz8AKGkJx/ 一、摘要 谈起 Redis,相信大家都不会陌生,做过云平台开发的程序员多多少少会接触到它,Redis 英文全称:Remote Dictionary Server,也被称之为远程字典服务。 从官方的定义看,Redis 是一款开源

[转帖]一问带你掌握通过storcli做RAID

因为系统不支持直接做raid,所以需要使用storcli这个工具来操作。首先把工具上传到服务器任意目录,并使用命令chmod +x storcli64修改文件权限为可执行。 另外可通过命令ln -s /root/storcli64 /usr/bin/storcli来设置软链接,这样后续可以在任意目录

LLM技术全景图:技术人必备的技术指南,一张图带你掌握从基础设施到AI应用的全面梳理

LLM技术全景图:技术人必备的技术指南,一张图带你掌握从基础设施到AI应用的全面梳理 LLM 技术图谱(LLM Tech Map)是将 LLM 相关技术进行系统化和图形化的呈现,此图谱主要特点是“专注于技术人视角”,不求从 LLM 产业角度汇聚信息,而是希望让从事相关工作或是想了解 LLM 的技术人