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

使用 audit-sum 工具

贡献者

您可以使用 `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 Initiated Delete :记录 ILM 开始删除对象的过程。

"idel : ILM 已启动删除"

SDEL

S3 delete :记录成功的事务以删除对象或存储分段。

"SDEL : S3 delete"

SGET

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

"SGET : S3 GET"

Shea

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

"Shea : S3 机头"

SPUT

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

"SPUT : S3 PUT"

WDEL

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

"WDEL : Swift delete"

wget

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

"WGET : Swift GET"

WHEA

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

"WHEA : Swift head"

WWPUT

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

"WWPUT : 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. 在相应的审核日志上发出命令,并使用group-by-time选项(-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获取流量在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. 要查看更多详细信息、请使用查看该时段的"Audy-讲解 工具"所有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. 要确定哪些分段的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