SAP 监控和性能检查:完整教程及 Tcode

什么是系统监控?

系统监控是一项日常活动,本文档提供了服务器监控的系统化分步流程。它提供了主动系统监控的技术方面和概念的概述。其中一些是

  • 检查应用程序服务器。
  • 监控系统范围的工作进程。
  • 监控单个实例的工作进程。
  • 监控锁定条目。
  • CPU 利用率
  • 数据库中的可用空间。
  • 监控更新进程。
  • 监控系统日志。
  • 缓冲区统计信息

其他一些是

  • 监控批处理作业
  • Spool 请求监控。
  • 打印请求数量
  • ABAP Dump 分析。
  • 数据库性能监视器。
  • 数据库检查。
  • 监控应用程序用户。

为什么进行每日基本检查/系统监控?

Daily Basic checks / System Monitoring

如何监控 SAP 系统?

检查应用程序服务器 (SM51)

此事务用于检查所有活动的应用程序服务器。

Checking Application Servers

在这里,您可以查看每个实例中配置了哪些服务或工作进程。

监控单个实例的工作进程 SM50

显示与特定实例相关的所有正在运行、等待、停止和 PRIV 进程。在此步骤下,我们检查所有进程;进程状态应始终为等待或运行。如果任何进程的状态不是等待或运行,我们需要检查该特定进程并进行相应的报告。

Monitoring Work Processes for Individual Instances SM50

此事务显示大量信息,例如

  1. 工作进程状态(是否已占用)
  2. 如果工作进程正在运行,您可以在“操作”列中看到其执行的操作。
  3. 您可以查看正在处理哪个表

一些典型问题

  • 用户登录时间长/无法登录/在线事务非常慢。这可能是因为 DIA 工作进程已完全利用。也可能是因为长时间运行的作业(“时间”列下的红色指示器)。如有必要,您可以取消作业,方法是选择作业,然后选择“进程”>“无核心取消”。这将取消作业并释放工作进程供其他用户/进程使用。
  • 有些用户在“原因”列下可能具有 PRIV 状态。这可能是因为用户的事务量太大,需要更多内存。发生这种情况时,DIA 工作进程将被用户“占用”,并且不会让其他用户使用。如果发生这种情况,请与用户联系,如果可能,请以后台作业的形式运行该作业。
  • 如果 SPO 工作进程上有一个长时间的打印作业,请调查问题。这可能与打印服务器或打印机有关。

监控系统范围的工作进程 (SM66)

Monitoring System-wide Work Processes

通过检查工作进程负载(使用全局工作进程概述),我们可以快速调查系统性能问题的潜在原因。

监控**系统内**所有活动实例上的工作进程负载

使用全局工作进程概述屏幕,我们可以一目了然地看到

  • 每个应用程序服务器的状态
  • 其未运行的原因
  • 是否已重新启动
  • CPU 和请求运行时间
  • 已登录的用户以及他们登录的客户端
  • 正在运行的报表

监控应用程序用户 (AL08 和 SM04)

此事务显示所有活动实例的用户。

Monitor Application User

监控更新进程 (SM13)

执行事务 SM13,并在字段 USER 中输入“*”,然后单击 监控更新进程按钮。

Monitoring Update Processes

如果没有任何长期挂起的更新记录或没有正在进行的更新,则此队列将为空,如下图所示。

Monitoring Update Processes

但是,如果更新不处于活动状态,则会发现以下信息

  • 更新是否处于活动状态,如果没有,是被系统还是用户停用的?
    • 单击 监控更新进程按钮并获取信息。
    • 单击 监控更新进程按钮并获取以下信息
  • 是否有任何更新被取消?
  • 是否有长时间挂起的更新队列(超过 10 分钟)?

监控锁定条目 (SM12)

执行事务 SM12 并将“*”输入到用户名字段

Monitoring Lock Entries

SAP 提供了一个锁定机制,以防止其他用户更改您正在处理的记录。在某些情况下,锁未被释放。这可能发生在用户被断开连接时,例如由于网络问题,在他们能够释放锁之前。

需要清除这些旧锁,否则可能会阻止访问或更改记录。

我们可以使用锁定统计信息来监控系统中设置的锁。我们只记录具有前一天日期时间戳的那些锁定条目。

监控系统日志 (SM21)

我们可以使用日志来精确定位和纠正系统中及其环境中发生的错误。

我们使用以下选择/选项检查前一天的日志

  • 输入日期和时间。
  • 选择单选按钮“问题”和“警告”
  • 按“重新读取系统日志”。

Monitoring System Log

Tune Summary (ST02)

步骤 1: 转到 ST02 检查 Tune Summary。

步骤 2: 如果看到任何红色值(在 SWAPS 中),请双击它。

Tune Summary

步骤 3: 在下面的屏幕中,单击“当前参数”选项卡。

Tune Summary

步骤 4: 记下值和配置文件参数。

Tune Summary

步骤 5: 转到 RZ10(更改配置文件参数值)。

步骤 6: 保存更改。

步骤 7: 重新启动服务器以使新更改生效。

CPU 利用率 (ST06)

CPU Utilization

空闲 CPU 利用率应为 60-65%,如果超过此值,我们至少必须开始检查以下内容

  • 运行 OS 级命令 – top 并检查哪些进程占用了大部分资源。
  • 转到 SM50 或 SM66。检查是否有长时间运行的作业或运行的长时间更新查询。
  • 转到 SM12 并检查锁定条目。
  • 转到 SM13 并检查更新活动状态。
  • 在 SM21 中检查错误。

ABAP Dumps (ST22)

这里我们检查前一天的 dumps

ABAP Dumps

Spool 请求监控 (SP01)

对于 Spool 请求监控,执行 SP01 并按如下方式选择

  • 在“创建者”字段中输入“*”
  • 单击 Spool 请求监控 执行按钮。

Spool Request Monitoring

这里我们只记录那些出现问题的请求。

Spool Request Monitoring

监控批处理作业 (SM37)

对于监控后台作业,执行 SM37 并按如下方式选择

  • 在“用户名”和“作业名称”字段中输入“*”
  • 在“作业状态”中,选择:计划、已取消、已发布和已完成的请求。

Monitoring Batch Jobs

事务性 RFC 管理 (SM58)

事务性 RFC(tRFC,最初也称为异步 RFC)是一种异步通信方法,它只在 RFC 服务器中执行一次被调用的函数模块。

Transactional RFC Administration

我们需要指定要查看 tRFC 的显示期间,然后在用户名字段中选择“*”以查看所有未正确执行或在队列中等待的调用。

QRFC 管理 (出站队列 - SMQ1)

我们应该在这里指定客户端名称,看看是否有任何出站 qRFCs 处于等待或错误状态。

QRFC Administration

QRFC 管理 (入站队列 - SMQ2)

QRFC Administration

我们应该在这里指定客户端名称,看看是否有任何入站 qRFCs 处于等待或错误状态。

数据库管理 (DB02)

Database Administration

在第一个屏幕中选择“当前大小”后,我们进入下面的屏幕,它显示了系统中所有表空间的当前状态。

Database Administration

如果任何表空间的使用率超过 95% 并且自动扩展已关闭,那么我们需要添加新的数据文件,以防止数据库变满。

我们还可以确定表空间的历史记录。

Database Administration

我们可以选择“月”、“周”或“天”来查看表空间中发生的变化。

通过分析这些值,我们可以确定表空间的增长情况。

Database Administration

Database Administration

数据库备份日志 (DB12)

从这个事务,我们可以确定系统上一次成功备份的时间。我们可以查看前一天的备份,看看一切是否正常。

我们还可以查看重做日志文件,看看重做日志备份是否成功。

Database Backup logs

快速回顾

每日监控任务

  1. 关键任务
  2. SAP 系统
  3. 数据库

关键任务

任务 事务 程序 / 说明
1 检查 R/3 系统是否已启动。 登录到 R/3 系统
2 检查每日备份是否无错误执行 DB12 检查数据库备份。

SAP 系统

任务 事务 程序 / 说明
1 检查所有应用程序服务器是否已启动。 SM51 检查所有服务器是否已启动。
2 检查工作进程(从 SM51 开始)。 SM50 所有状态为“运行中”或“等待中”的工作进程
3 全局工作进程概览 SM66 检查没有工作进程运行超过 1800 秒
3 查找任何失败的更新(更新终止)。 SM13
  • 将日期设置为一天前
  • 在用户 ID 中输入 *
  • 设置为“所有”更新 检查带有“Err.”的行。
4 检查系统日志。 SM21 将日期和时间设置为上次日志审查之前。检查

  • 错误
  • 警告
  • 安全消息
  • 数据库问题
5 审查已取消的作业。 SM37 在用户 ID 中输入星号 (*)。验证所有关键作业是否成功。
6 检查“旧”锁。 SM12 在用户 ID 中输入星号 (*)。
7 检查系统上的用户。 SM04AL08 查看未知或不同的用户 ID 和终端。此任务应每天进行几次。
8 检查 Spool 问题。 SP01 在“创建者”中输入星号 (*) 查找“处理中”超过一小时的 Spool 作业。
9 检查作业日志 SM37 检查

  • 新作业
  • 错误的作业
10 审查和解决 dumps。 ST22 查找过多的 dumps。查找不寻常的 dumps。
11 审查缓冲区统计信息。 ST02 查找 swaps。

数据库

任务 事务 程序 / 说明
1 审查错误日志以查找问题。 ST04
2 数据库增长 缺失索引 DB02 如果表空间使用率超过 90%,则添加新的数据文件以重建缺失的索引
3 数据库统计信息日志 DB13