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

使用审计总和工具

您可以使用 `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、Swift 和 ILM 审计消息提供计数和时间。

备注 由于功能已被弃用,审计代码已从产品和文档中删除。如果您遇到此处未列出的审计代码,请检查此主题的先前版本以了解较旧的 SG 版本。例如, "StorageGRID 11.8 使用审计总和工具文档"
代码 描述 参考

伊德尔

ILM 启动的删除:记录 ILM 启动删除对象的过程的时间。

"IDEL:ILM 发起的删除"

斯德勒

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

"SDEL:S3 删除"

星载卫星

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

"SGET:S3 获取"

乳木果

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

"乳木果:S3 头"

喷管

S3 PUT:记录创建新对象或存储桶的成功交易。

"喷口:S3 放置"

WDEL

Swift DELETE:记录成功删除对象或容器的事务。

"WDEL:快速删除"

无线获取

Swift GET:记录成功的事务以检索对象或列出容器中的对象。

"WGET:快速获取"

小麦小麦胚芽提取物

Swift HEAD:记录成功的事务以检查对象或容器是否存在。

"WHEA:Swift HEAD"

西普特

Swift PUT:记录成功的事务以创建新的对象或容器。

"WPUT:Swift 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/log/*

  • 接受来自管道的输入,这允许您使用以下方式过滤和预处理输入 `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. 登录到主管理节点:

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

    2. 输入 `Passwords.txt`文件。

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

    4. 输入 `Passwords.txt`文件。

      当您以 root 身份登录时,提示符将从 $`到 `#

  2. 如果要分析与写入、读取、头部和删除操作相关的所有消息,请按照以下步骤操作:

    1. 输入以下命令,其中 `/var/local/log/audit.log`代表您要分析的文件的名称和位置:

      $ audit-sum /var/local/log/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 消息并添加长输出选项(-l) 以包含对象路径:

      grep SGET audit.log | audit-sum -l

      结果包括类型(对象或存储桶)和路径,这允许您在审计日志中查找与这些特定对象相关的其他消息。

    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. 如果要确定从网格中提取和检索的对象的大小,请使用 size 选项(-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. 要确定昨天每小时检索的对象大小,请添加 size 选项(-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. 要查看更多详细信息,请使用"审计解释工具"查看该小时内的所有 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

      结果表明,针对存储桶的 SPUT 操作与针对对象的 SPUT 操作具有不同的性能特征。

    2. 要确定哪些 bucket 具有最慢的 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. 要确定哪些 buckets 具有最大的 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