所有 Statsd 指标

account-auditor 指标

指标名称

描述

account-auditor.errors

审计运行次数(跨所有账户数据库),其中捕获到异常。

account-auditor.passes

通过审计的单个账户数据库数量。

account-auditor.failures

审计失败的单个账户数据库数量。

account-auditor.timing

单个账户数据库审计的时间数据。

account-reaper 指标

指标名称

描述

account-reaper.errors

挂载检查失败的设备数量。

account-reaper.timing

每次 reap_account() 调用所花费的时间数据。

account-reaper.return_codes.X

来自各种操作(例如,对象列表、容器删除等)的 HTTP 返回代码数量。X 的值是返回代码的第一位(2 代表 201,4 代表 404 等)。

account-reaper.containers_failures

删除容器失败的数量。

account-reaper.containers_deleted

成功删除的容器数量。

account-reaper.containers_remaining

删除失败且没有成功的容器数量。

account-reaper.containers_possibly_remaining

删除失败但至少有一个成功的容器数量。

account-reaper.objects_failures

删除对象失败的数量。

account-reaper.objects_deleted

成功删除的对象数量。

account-reaper.objects_remaining

删除失败且没有成功的对象数量。

account-reaper.objects_possibly_remaining

删除失败但至少有一个成功的对象数量。

account-server 指标

..note:

“未找到”不被视为错误,并且增加 errors 的请求不包含在时间数据中。

指标名称

描述

account-server.DELETE.errors.timing

导致错误的每个 DELETE 请求的时间数据:请求错误、未挂载、缺少时间戳。

account-server.DELETE.timing

未导致错误的每个 DELETE 请求的时间数据。

account-server.PUT.errors.timing

导致错误的每个 PUT 请求的时间数据:请求错误、未挂载、冲突、最近删除。

account-server.PUT.timing

未导致错误的每个 PUT 请求的时间数据。

account-server.HEAD.errors.timing

导致错误的每个 HEAD 请求的时间数据:请求错误、未挂载。

account-server.HEAD.timing

未导致错误的每个 HEAD 请求的时间数据。

account-server.GET.errors.timing

导致错误的每个 GET 请求的时间数据:请求错误、未挂载、分隔符错误、账户列表限制过高、接受标头错误。

account-server.GET.timing

未导致错误的每个 GET 请求的时间数据。

account-server.REPLICATE.errors.timing

导致错误的每个 REPLICATE 请求的时间数据:请求错误、未挂载。

account-server.REPLICATE.timing

未导致错误的每个 REPLICATE 请求的时间数据。

account-server.POST.errors.timing

导致错误的每个 POST 请求的时间数据:请求错误、错误或缺少时间戳、未挂载。

account-server.POST.timing

未导致错误的每个 POST 请求的时间数据。

account-replicator 指标

指标名称

描述

account-replicator.diffs

通过发送不同的行处理的同步数量。

account-replicator.diff_caps

由于达到“max_diffs”而失败的“diffs”操作数量。

account-replicator.no_changes

发现同步的账户数量。

account-replicator.hashmatches

通过哈希比较发现同步的账户数量 (broker.merge_syncs 被调用)。

account-replicator.rsyncs

通过 rsync 发送的完全丢失的账户数量。

account-replicator.remote_merges

通过 rsync 发送整个数据库处理的同步数量。

account-replicator.attempts

数据库复制尝试次数。

account-replicator.failures

由于损坏(隔离)或无法读取以及对单个节点的失败尝试而导致数据库复制尝试失败的数量。

account-replicator.removes.<device>

由于 delete_timestamp 大于 put_timestamp 且数据库没有行,或者已成功同步到其他位置且不再属于此处的数据库在 <device> 上删除的数量。

account-replicator.successes

对单个节点成功的复制尝试次数。

account-replicator.timing

每个数据库复制尝试的时间数据,不包括失败导致的时间数据。

container-auditor 指标

指标名称

描述

container-auditor.errors

在审计过程中捕获到异常时递增(每个过程一次,最大)。

container-auditor.passes

通过审计的单个容器数量。

container-auditor.failures

审计失败的单个容器数量。

container-auditor.timing

每个容器审计的时间数据。

container-replicator 指标

指标名称

描述

container-replicator.diffs

通过发送不同的行处理的同步数量。

container-replicator.diff_caps

由于达到“max_diffs”而失败的“diffs”操作数量。

container-replicator.no_changes

发现同步的容器数量。

container-replicator.hashmatches

通过哈希比较发现同步的容器数量 (broker.merge_syncs 被调用)。

container-replicator.rsyncs

通过 rsync 发送的完全丢失的容器数量。

container-replicator.remote_merges

通过 rsync 发送整个数据库处理的同步数量。

container-replicator.attempts

数据库复制尝试次数。

container-replicator.failures

由于损坏(隔离)或无法读取以及对单个节点的失败尝试而导致数据库复制尝试失败的数量。

container-replicator.removes.<device>

由于 delete_timestamp 大于 put_timestamp 且数据库没有行,或者已成功同步到其他位置且不再属于此处的数据库在 <device> 上删除的数量。

container-replicator.successes

对单个节点成功的复制尝试次数。

container-replicator.timing

每个数据库复制尝试的时间数据,不包括失败导致的时间数据。

container-server 指标

注意

“未找到”不被视为错误,并且增加 errors 的请求不包含在时间数据中。

指标名称

描述

container-server.DELETE.errors.timing

DELETE 请求错误的时间数据:请求错误、未挂载、缺少时间戳、冲突。

container-server.DELETE.timing

未导致错误的每个 DELETE 请求的时间数据。

container-server.PUT.errors.timing

PUT 请求错误的时间数据:请求错误、缺少时间戳、未挂载、冲突。

container-server.PUT.timing

未导致错误的每个 PUT 请求的时间数据。

container-server.HEAD.errors.timing

HEAD 请求错误的时间数据:请求错误、未挂载。

container-server.HEAD.timing

未导致错误的每个 HEAD 请求的时间数据。

container-server.GET.errors.timing

GET 请求错误的时间数据:请求错误、未挂载、参数不是 utf8、接受标头错误。

container-server.GET.timing

未导致错误的每个 GET 请求的时间数据。

container-server.REPLICATE.errors.timing

REPLICATE 请求错误的时间数据:请求错误、未挂载。

container-server.REPLICATE.timing

未导致错误的每个 REPLICATE 请求的时间数据。

container-server.POST.errors.timing

POST 请求错误的时间数据:请求错误、错误的 x-container-sync-to、未挂载。

container-server.POST.timing

未导致错误的每个 POST 请求的时间数据。

container-sync 指标

指标名称

描述

container-sync.skips

由于容器没有启用同步而被跳过的容器数量。

container-sync.failures

同步单个容器失败的数量。

container-sync.syncs

成功同步的单个容器数量。

container-sync.deletes

通过删除同步的容器数据库行数量。

container-sync.deletes.timing

通过删除同步每个容器数据库行的时间数据。

container-sync.puts

通过 Putting 同步的容器数据库行数量。

container-sync.puts.timing

通过 Putting 同步每个容器数据库行的时间数据。

container-updater 指标

指标名称

描述

container-updater.successes

成功更新其账户的容器数量。

container-updater.failures

更新其账户失败的容器数量。

container-updater.no_changes

不需要更新其账户的容器数量。

container-updater.timing

处理容器的时间数据;仅包括需要更新其账户的容器的时间(即“successes”和“failures”但不包括“no_changes”)。

object-auditor 指标

指标名称

描述

object-auditor.quarantines

审计失败并隔离的对象数量。

object-auditor.errors

审计对象时遇到的错误数量。

object-auditor.timing

每个对象审计的时间数据(不包括 max_files_per_second 的任何限速睡眠时间,但包括 max_bytes_per_second 的限速睡眠时间)。

object-expirer 指标

指标名称

描述

object-expirer.objects

已过期对象的数量。

object-expirer.errors

尝试使对象过期时遇到的错误数量。

object-expirer.timing

每次对象过期尝试的时间数据,包括导致错误的时间数据。

object-reconstructor 指标

指标名称

描述

object-reconstructor.partition.delete.count.<device>

在 <device> 上重建并同步到另一个节点的分区数量,因为它们不属于此节点。此指标按设备跟踪,以便允许对每个设备的重建活动进行“平静检测”。

object-reconstructor.partition.delete.timing

重建并同步到另一个节点的分区的时间数据,因为它们不属于此节点。此指标不按设备跟踪。

object-reconstructor.partition.update.count.<device>

在 <device> 上重建并同步到另一个节点的分区数量,但它们也属于此节点。与 delete.count 一样,此指标按设备跟踪。

object-reconstructor.partition.update.timing

重建且也属于此节点的的分区的时间数据。此指标不按设备跟踪。

object-reconstructor.suffix.hashes

重新计算了文件名哈希的 suffix 目录数量。

object-reconstructor.suffix.syncs

使用 ssync 重建的后缀目录数量。

object-replicator 指标

指标名称

描述

object-replicator.partition.delete.count.<device>

复制到另一个节点的分区数量,因为它们不属于 <device>。此指标按设备跟踪,以便允许对每个设备的复制活动进行“平静检测”。

object-replicator.partition.delete.timing

复制到另一个节点的分区的时间数据,因为它们不属于此节点。此指标不按设备跟踪。

object-replicator.partition.update.count.<device>

复制到另一个节点的分区数量,但它们也属于 <device>。与 delete.count 一样,此指标按设备跟踪。

object-replicator.partition.update.timing

复制且也属于此节点的的分区的时间数据。此指标不按设备跟踪。

object-replicator.suffix.hashes

重新计算了文件名哈希的 suffix 目录数量。

object-replicator.suffix.syncs

使用 rsync 复制的后缀目录数量。

object-server 指标

指标名称

描述

object-server.quarantines

发现损坏并移动到隔离区的对象(文件)数量。

object-server.async_pendings

保存为 async_pendings 的容器更新数量(可能来自 PUT 或 DELETE 请求)。

object-server.POST.errors.timing

POST 请求错误的时间数据:请求错误、缺少时间戳、delete-at 在过去、未挂载。

object-server.POST.timing

未导致错误的每个 POST 请求的时间数据。

object-server.PUT.errors.timing

PUT 请求错误的时间数据:请求错误、未挂载、缺少时间戳、对象创建约束违规、delete-at 在过去。

object-server.PUT.timeouts

超过 max_upload_time 的对象 PUT 数量。

object-server.PUT.timing

未导致错误的每个 PUT 请求的时间数据。

object-server.PUT.<device>.timing

每个非零字节 PUT 请求在每个设备上按 kB 传输的数据时间(ms/kB)。监控有问题设备,越高越差。

object-server.GET.errors.timing

GET 请求错误的时间数据:请求错误、未挂载、标头时间戳在纪元之前、预条件失败。导致隔离的文件错误不在此处计数。

object-server.GET.timing

未导致错误的每个 GET 请求的时间数据。包括找不到对象(包括导致文件隔离的磁盘错误)的请求。

object-server.HEAD.errors.timing

HEAD 请求错误的时间数据:请求错误、未挂载。

object-server.HEAD.timing

未导致错误的每个 HEAD 请求的时间数据。包括找不到对象(包括导致文件隔离的磁盘错误)的请求。

object-server.DELETE.errors.timing

DELETE 请求错误的时间数据:请求错误、缺少时间戳、未挂载、预条件失败。包括找不到或匹配对象的请求。

object-server.DELETE.timing

未导致错误的每个 DELETE 请求的时间数据。

object-server.REPLICATE.errors.timing

REPLICATE 请求错误的时间数据:请求错误、未挂载。

object-server.REPLICATE.timing

未导致错误的每个 REPLICATE 请求的时间数据。

object-updater 指标

指标名称

描述

object-updater.errors

未挂载驱动器或意外命名的 async_pending 文件的数量。

object-updater.timing

刷新 async_pending 容器更新的时间数据。不包括未找到现有 async_pending 存储目录的对象扫描。

object-updater.quarantines

损坏并移动到隔离区的 async_pending 容器更新数量。

object-updater.successes

成功更新其账户的容器数量。

object-updater.failures

更新其账户失败的容器数量。

object-updater.unlinks

取消链接的 async_pending 文件数量。async_pending 文件在成功处理或复制器看到同一对象的较新的 async_pending 文件时被取消链接。

proxy-server 指标

在表格中,<type> 是负责请求的代理服务器控制器,其值可以是 accountcontainerobject

指标名称

描述

proxy-server.errors

确定控制器类型之前,在处理请求时遇到的错误计数。包括无效的 Content-Length、查找处理请求的内部控制器时出错、无效的 utf8 以及错误的 URL。

proxy-server.<type>.handoff_count

节点交接计数;仅当代理服务器配置中设置了 log_handoffs 时才跟踪。

proxy-server.<type>.handoff_all_count

仅使用交接位置的次数计数;仅当代理服务器配置中设置了 log_handoffs 时才跟踪。

proxy-server.<type>.client_timeouts

客户端超时计数(在 GET 期间客户端未在 client_timeout 秒内读取,或在 PUT 期间未在 client_timeout 秒内提供数据)。

proxy-server.<type>.client_disconnects

在 PUT 操作期间检测到的客户端断开连接计数(不包括在代理服务器中捕获导致客户端断开连接的异常)。

此外,中间件通常会发出自己的指标

proxy-logging 中间件

在表格中,<type> 是负责请求的代理服务器控制器:accountcontainerobject,或者如果请求来自 Swift Origin Server 中间件,则为字符串 SOS<verb> 部分将是 GETHEADPOSTPUTDELETECOPYOPTIONSBAD_METHOD 中的一个。有效的 HTTP 方法列表可以通过 log_statsd_valid_http_methods 配置变量进行配置,默认设置产生上述行为。

指标名称

描述

proxy-server.<type>.<verb>.<status>.timing

请求的时间数据,从开始到结束。<status> 部分是请求的数字 HTTP 状态码(例如“200”或“404”)。

proxy-server.<type>.GET.<status>.first-byte.timing

时间数据,直到完成发送响应头(仅适用于 GET 请求)。<status> 和 <type> 与主要计时指标相同。

proxy-server.<type>.<verb>.<status>.xfer

此计数器指标是请求中传输的字节数(来自客户端)和输出(到客户端)的总和。<type>、<verb> 和 <status> 部分的指标与主要计时指标相同。

proxy-logging 中间件还会根据策略对这些指标进行分组。<policy-index> 部分表示策略索引

指标名称

描述

proxy-server.object.policy.<policy-index>.<verb>.<status>.timing

根据策略索引汇总的请求时间数据。

proxy-server.object.policy.<policy-index>.GET.<status>.first-byte.timing

根据策略索引汇总的,直到完成发送响应头的时间数据。

proxy-server.object.policy.<policy-index>.<verb>.<status>.xfer

根据策略索引汇总的输入和输出字节数总和。

tempauth 中间件

在表格中,<reseller_prefix> 表示实际配置的 reseller_prefix,或者如果 reseller_prefix 是空字符串,则为 NONE

指标名称

描述

tempauth.<reseller_prefix>.unauthorized

使用 HTTPUnauthorized 拒绝的常规请求计数。

tempauth.<reseller_prefix>.forbidden

使用 HTTPForbidden 拒绝的常规请求计数。

tempauth.<reseller_prefix>.token_denied

拒绝的令牌请求计数。

tempauth.<reseller_prefix>.errors

错误计数。

tempurl 中间件

指标名称

描述

proxy-server.tempurl.digests.<digest>

使用指定的 <digest> 授权的请求计数;可能是 sha1sha256sha512

formpost 中间件

指标名称

描述

proxy-server.formpost.digests.<digest>

使用指定的 <digest> 授权的请求计数;可能是 sha1sha256sha512