SAP SM21 是用于查看和分析系统日志的重要工具,通过记录系统事件、错误、警告等信息,帮助管理员和开发人员快速定位问题。以下是其使用方法和技巧的综合整理:
一、SM21 基础使用方法
- 进入 SM21
输入事务码SM21
或通过路径 工具 > 管理 > 诊断 > 日志 > 系统日志 进入。 - 设置筛选条件
- 时间范围:根据问题发生时间设置起始/结束日期和时间。
- 实例和客户端:指定要查看的应用服务器实例(如 DIA、BTC)和客户端。
- 消息类型:按错误(Error)、警告(Warning)、信息(Information)等过滤日志
- 查看日志条目
日志条目按时间排序,包含以下关键信息:- 日期、时间、实例、进程号、用户、消息类型、消息文本
- 日期、时间、实例、进程号、用户、消息类型、消息文本
二、SM21 高级技巧
- 快速定位关键问题
- 颜色标识:通过消息类型颜色(如红色为错误)快速识别严重问题
- 搜索功能:使用正则表达式搜索关键字(如程序名、事务码、用户)
例如搜索
RSLG_DISPLAY
可追踪特定功能模块的调用记录
- 颜色标识:通过消息类型颜色(如红色为错误)快速识别严重问题
- 结合火焰图(Flame Graph)分析性能
- 调用堆栈可视化:通过 Profile Data Analyzer 导入 SM21 跟踪文件生成火焰图,直观显示各方法的执行时间和调用关系
- 性能差异对比:使用“Diff”功能比较不同数据量的跟踪结果(如短跟踪 vs 长跟踪),绿色表示时间增加,红色减少
- 调用堆栈可视化:通过 Profile Data Analyzer 导入 SM21 跟踪文件生成火焰图,直观显示各方法的执行时间和调用关系
- 调试与权限监控
- 调试记录追踪:在调试器中修改变量或绕过权限检查的操作会被 SM21 记录,日志中显示用户、终端 ID 和操作详情
- 权限关联检查:结合事务码
SU53
分析用户权限问题,排查因权限不足导致的错误
- 调试记录追踪:在调试器中修改变量或绕过权限检查的操作会被 SM21 记录,日志中显示用户、终端 ID 和操作详情
- 调用位置(Call Position)分析
通过 KBA 2916386 提供的指引,直接跳转到日志中记录的代码位置(如函数、类方法),快速查看相关 ABAP 代码逻辑
三、与其他工具结合使用
- ST22(ABAP 转储分析)
若 SM21 显示程序运行时错误(如短存储转储),通过ST22
查看详细的错误堆栈和变量值 - ST04(数据库监控)
当日志提示数据库问题时(如锁表、性能瓶颈),使用ST04
分析数据库缓存和 SQL 执行效率 - SM50/SM51(进程管理)
若日志显示工作进程(如 DIA 进程)异常终止,通过SM50
检查进程状态或强制终止问题进程
四、注意事项
- 权限管理
SM21 日志可能包含敏感信息(如用户操作记录),需限制非管理员用户的访问权限 - 日志保留策略
定期清理旧日志(默认保留周期为 14 天),避免存储空间不足 - 避免生产环境误操作在分析日志时避免直接修改代码或配置,建议先在测试系统验证。
五、其它事项
1、DEBUG调试时,修改的字段值记录与更改了程序的执行流都会在SM21中查询到。
2、ST11查看trace文件。ST22查看具体的程序错误。 根据错误去搜索对应的SAP NOTE是最快的解决方案。
3、如有必要,可以开启ST01系统跟踪(权限/DB/RFC)。进一步查询错误根源。