Skip to main content
本产品推出了新版本。
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用 audit-sum 工具汇总 StorageGRID 审核消息

您可以使用该 `audit-sum`工具对写入、读取、标头和删除审核消息进行计数,并查看每种操作类型的最短、最大和平均时间(或大小)。

开始之前
  • 您有 "特定访问权限"

  • 您拥有 Passwords.txt 文件。

  • 您知道主管理节点的 IP 地址。

关于此任务

该 `audit-sum`工具可在主管理节点上使用,它汇总了记录的写入、读取和删除操作的数量以及这些操作所用的时间。

备注 该 `audit-sum`工具主要供技术支持人员在故障排除操作期间使用。处理 `audit-sum`查询可能会消耗大量 CPU 资源,这可能会影响 StorageGRID 操作。

此示例显示了 `audit-sum`工具的典型输出。此示例显示了协议操作花费的时间。

  message group           count     min(sec)        max(sec)    average(sec)
  =============           =====     ========        ========    ============
  IDEL                      274
  SDEL                   213371        0.004          20.934           0.352
  SGET                   201906        0.010        1740.290           1.132
  SHEA                    22716        0.005           2.349           0.272
  SPUT                  1771398        0.011        1770.563           0.487

该 `audit-sum`工具在审核日志中提供以下 S3 和 ILM 审核消息的计数和时间。

备注 审核代码将随功能弃用而从产品和文档中删除。如果遇到此处未列出的审核代码,请查看本主题的早期版本以了解较旧的 StorageGRID 版本。例如, "${post_edited_translations.segment}"
代码 问题描述 请参阅

IDEL

ILM Initiated Delete:在 ILM 开始删除对象的过程时记录日志。

"IDEL:ILM Initiated Delete"

SDEL

S3 DELETE:记录成功删除对象或存储桶的事务。

"SDEL:S3 DELETE"

SGET

S3 GET:记录成功的事务以检索对象或列出存储桶中的对象。

"SGET:S3 GET"

SHEA

S3 HEAD:记录成功的事务以检查对象或存储桶是否存在。

"SHEA: S3 HEAD"

SPUT

S3 PUT:记录成功的事务以创建新对象或存储桶。

"SPUT:S3 PUT"

该 `audit-sum`工具可以执行以下操作:

  • 处理纯文本或压缩的审计日志。例如:

    audit-sum audit.log

    audit-sum 2019-08-12.txt.gz

  • 同时处理多个文件。例如:

    audit-sum audit.log 2019-08-12.txt.gz 2019-08-13.txt.gz

    audit-sum /var/local/audit/export/*

  • 接受来自管道的输入,这允许您使用 grep 命令或其他方式对输入进行过滤和预处理。例如:

    grep WGET audit.log | audit-sum

    grep bucket1 audit.log | audit-sum

    grep SPUT audit.log | grep bucket1 | audit-sum

备注

此工具不接受压缩文件作为管道输入。要处理压缩文件,请提供其文件名作为命令行参数,或者先使用 zcat 工具解压缩文件。例如:

audit-sum audit.log.gz

zcat audit.log.gz | audit-sum

您可以使用命令行选项将存储区上的操作与对象上的操作分开汇总,或按存储区名称、时间段或目标类型对消息摘要进行分组。默认情况下,摘要显示最小、最大和平均操作时间,但您可以使用 `size (-s)`选项查看对象大小。

使用 `help (-h)`选项可查看可用选项。例如:

$ audit-sum -h

步骤
  1. ${post_edited_translations.segment}

    1. 输入以下命令: ssh admin@primary_Admin_Node_IP

    2. 输入 `Passwords.txt`文件中列出的密码。

    3. 输入以下命令切换到 root: su -

    4. 输入 `Passwords.txt`文件中列出的密码。

      以 root 身份登录时,提示符将从 $`更改为 `#

  2. 如果要分析与写入、读取、HEAD和DELETE操作相关的所有消息,请执行以下步骤:

    1. 输入以下命令,其中 /var/local/audit/export/audit.log 表示您要分析的一个或多个文件的名称和位置:

      $ audit-sum /var/local/audit/export/audit.log

      此示例显示了 `audit-sum`工具的典型输出。此示例显示了协议操作花费的时间。

        message group           count     min(sec)        max(sec)    average(sec)
        =============           =====     ========        ========    ============
        IDEL                      274
        SDEL                   213371        0.004          20.934           0.352
        SGET                   201906        0.010        1740.290           1.132
        SHEA                    22716        0.005           2.349           0.272
        SPUT                  1771398        0.011        1770.563           0.487

      在此示例中,SGET(S3 GET)操作平均最慢,为 1.13 秒,但 SGET 和 SPUT(S3 PUT)操作都显示了约 1,770 秒的最坏情况时间。

    2. 要显示最慢的 10 个检索操作,请使用 grep 命令仅选择 SGET 消息并添加 long 输出选项(-l)以包含对象路径:

      grep SGET audit.log | audit-sum -l

      ${post_edited_translations.segment}

    Total:          201906 operations
        Slowest:      1740.290 sec
        Average:         1.132 sec
        Fastest:         0.010 sec
        Slowest operations:
            time(usec)       source ip         type      size(B) path
            ========== =============== ============ ============ ====
            1740289662   10.96.101.125       object   5663711385 backup/r9O1OaQ8JB-1566861764-4519.iso
            1624414429   10.96.101.125       object   5375001556 backup/r9O1OaQ8JB-1566861764-6618.iso
            1533143793   10.96.101.125       object   5183661466 backup/r9O1OaQ8JB-1566861764-4518.iso
                 70839   10.96.101.125       object        28338 bucket3/dat.1566861764-6619
                 68487   10.96.101.125       object        27890 bucket3/dat.1566861764-6615
                 67798   10.96.101.125       object        27671 bucket5/dat.1566861764-6617
                 67027   10.96.101.125       object        27230 bucket5/dat.1566861764-4517
                 60922   10.96.101.125       object        26118 bucket3/dat.1566861764-4520
                 35588   10.96.101.125       object        11311 bucket3/dat.1566861764-6616
                 23897   10.96.101.125       object        10692 bucket3/dat.1566861764-4516

    + 从此示例输出中,您可以看到三个最慢的 S3 GET 请求是针对大小约为 5 GB 的对象,比其他对象大得多。较大的大小导致最坏情况下的检索时间较慢。

  3. 如果要确定从网格中摄取和检索的对象的大小,请使用大小选项(-s):

    audit-sum -s audit.log

      message group           count       min(MB)          max(MB)      average(MB)
      =============           =====     ========        ========    ============
      IDEL                      274        0.004        5000.000        1654.502
      SDEL                   213371        0.000          10.504           1.695
      SGET                   201906        0.000        5000.000          14.920
      SHEA                    22716        0.001          10.504           2.967
      SPUT                  1771398        0.000        5000.000           2.495

    在此示例中,SPUT 的平均对象大小低于 2.5 MB,但 SGET 的平均大小要大得多。SPUT 消息的数量远高于 SGET 消息的数量,这表明大多数对象从未被检索过。

  4. 如果要确定昨天的检索速度是否很慢:

    1. 在相应的审核日志上运行该命令,并使用按时间分组选项 (-gt),后跟时间段(例如 15M、1H、10S):

      grep SGET audit.log | audit-sum -gt 1H

        message group           count    min(sec)       max(sec)   average(sec)
        =============           =====     ========        ========    ============
        2019-09-05T00            7591        0.010        1481.867           1.254
        2019-09-05T01            4173        0.011        1740.290           1.115
        2019-09-05T02           20142        0.011        1274.961           1.562
        2019-09-05T03           57591        0.010        1383.867           1.254
        2019-09-05T04          124171        0.013        1740.290           1.405
        2019-09-05T05          420182        0.021        1274.511           1.562
        2019-09-05T06         1220371        0.015        6274.961           5.562
        2019-09-05T07          527142        0.011        1974.228           2.002
        2019-09-05T08          384173        0.012        1740.290           1.105
        2019-09-05T09           27591        0.010        1481.867           1.354

      这些结果表明,S3 GET 流量在 06:00 到 07:00 之间出现激增。在此时间段内,最大时间和平均时间均明显更高,并且它们并没有随着次数的增加而逐渐递增。这些指标表明容量已超出,可能是网络容量超限,也可能是网格处理请求的能力超限。

    2. 要确定昨天每小时检索了哪些大小的对象,请向命令中添加大小选项 (-s):

      grep SGET audit.log | audit-sum -gt 1H -s

        message group           count       min(B)          max(B)      average(B)
        =============           =====     ========        ========    ============
        2019-09-05T00            7591        0.040        1481.867           1.976
        2019-09-05T01            4173        0.043        1740.290           2.062
        2019-09-05T02           20142        0.083        1274.961           2.303
        2019-09-05T03           57591        0.912        1383.867           1.182
        2019-09-05T04          124171        0.730        1740.290           1.528
        2019-09-05T05          420182        0.875        4274.511           2.398
        2019-09-05T06         1220371        0.691  5663711385.961          51.328
        2019-09-05T07          527142        0.130        1974.228           2.147
        2019-09-05T08          384173        0.625        1740.290           1.878
        2019-09-05T09           27591        0.689        1481.867           1.354

      这些结果表明,当总体检索流量达到最大值时,会发生一些非常大的检索。

    3. 要查看更多详细信息,请使用 "audit-explain 工具" 查看该小时内的所有 SGET 操作:

      grep 2019-09-05T06 audit.log | grep SGET | audit-explain | less

    如果 grep 命令的输出预计为多行,请添加 `less`命令,以每次一页(一个屏幕)的方式显示审核日志文件的内容。

  5. 如果要确定存储桶上的 SPUT 操作是否比对象的 SPUT 操作慢:

    1. 首先使用 -go 选项,该选项将对象和存储桶操作的消息分别进行分组:

      grep SPUT sample.log | audit-sum -go

        message group           count     min(sec)        max(sec)    average(sec)
        =============           =====     ========        ========    ============
        SPUT.bucket                 1        0.125           0.125           0.125
        SPUT.object                12        0.025           1.019           0.236

      ${post_edited_translations.segment}

    2. 要确定哪些存储桶的 SPUT 操作最慢,请使用 `-gb`选项,该选项按存储桶对消息进行分组:

      grep SPUT audit.log | audit-sum -gb

        message group                  count     min(sec)        max(sec)    average(sec)
        =============                  =====     ========        ========    ============
        SPUT.cho-non-versioning        71943        0.046        1770.563           1.571
        SPUT.cho-versioning            54277        0.047        1736.633           1.415
        SPUT.cho-west-region           80615        0.040          55.557           1.329
        SPUT.ldt002                  1564563        0.011          51.569           0.361
    3. 要确定哪些存储桶的 SPUT 对象大小最大,请同时使用 -gb-s 选项:

      grep SPUT audit.log | audit-sum -gb -s

      message group                  count       min(B)          max(B)      average(B)
      =============                  =====     ========        ========    ============
      SPUT.cho-non-versioning        71943        2.097        5000.000          21.672
      SPUT.cho-versioning            54277        2.097        5000.000          21.120
      SPUT.cho-west-region           80615        2.097         800.000          14.433
      SPUT.ldt002                  1564563        0.000         999.972           0.352