查看指标

本主题介绍如何在 Stackdriver 信息中心中查看 Apigee 混合指标。

关于 Stackdriver

如需详细了解指标、信息中心和 Stackdriver,请参阅:

启用 Hybrid 指标

您必须先启用指标收集功能,才能将混合指标发送到 Stackdriver。请参阅配置指标收集,了解此过程。

Hybrid 指标名称和标签简介

启用时,Hybrid 会自动填充 Stackdriver 指标。Hybrid 创建的指标的域名前缀为:

apigee.googleapis.com/

例如,/proxy/request_count 指标包含 API 代理收到的请求总数。因此,Stackdriver 中的指标名称如下:

apigee.googleapis.com/proxy/request_count

通过 Stackdriver,您可以根据标签对指标数据进行过滤分组。有些标签是预定义的,其他标签则由 Hybrid 显式添加。下面的可用指标部分列出了所有可用的 Hybrid 指标以及专门为过滤和分组指标而添加的所有标签。

查看指标

以下示例展示了如何在 Stackdriver 中查看指标:
  1. 在浏览器中打开 Monitoring Metrics Explorer。或者,如果您已在 Stackdriver 控制台中,请选择 Metrics Explorer
  2. Find resource type and metric 中,查找并选择要检查的指标。选择可用指标中列出的一个特定指标,或搜索一个指标。例如,搜索 proxy/latencies

    输入指标

  3. 选择所需的指标。
  4. 应用过滤条件可用指标列出了每个指标的过滤条件选项。例如,对于 proxy_latencies 指标,过滤条件选项为:org=org_name
  5. Stackdriver 会显示所选指标的图表。
  6. 点击保存

创建信息中心

信息中心是查看和分析对您而言重要的指标数据的一种方式。Stackdriver 为您使用的资源和服务提供预定义信息中心,您还可以创建自定义信息中心。

您可以使用图表在自定义信息中心内显示 Apigee 指标。利用自定义信息中心,您可以完全控制所显示的图表和它们的配置。如需详细了解如何创建图表,请参阅创建图表

以下示例展示了如何在 Stackdriver 中创建信息中心,然后添加图表以查看指标数据:

  1. 在浏览器中打开 Monitoring Metrics Explorer,然后选择信息中心
  2. 选择 + 创建信息中心
  3. 为信息中心命名。 例如:混合代理请求流量
  4. 点击确认
  5. 对于要添加到信息中心的每个图表,请按以下步骤操作:

    1. 在信息中心内选择添加图表
    2. 如上面查看指标部分所述,选择所需的指标。
    3. 完成对话框以定义图表。
    4. 点击保存。Stackdriver 会显示所选指标的数据。

可用指标

下表列出了用于分析代理流量的指标。

代理、目标和服务器流量指标

Prometheus 服务会收集和处理代理、目标和服务器流量的指标(如指标收集中所述)。

下表介绍了 Prometheus 使用的指标和标签。这些标签用于指标日志条目。

指标名称 标签 使用
/proxy/request_count method 收到的 API 代理请求总数。
/proxy/response_count method response_code 收到的 API 代理响应的总数。
/proxy/latencies method 响应调用所花费的总毫秒数。此时间包括 Apigee API 代理开销和目标服务器时间。
/target/request_count method

target_type

target_endpoint

发送到代理目标的请求总数。
/target/response_count method

response_code

target_type

target_endpoint

从代理目标接收到的响应总数。
/target/latencies method

response_code

target_type

target_endpoint

响应调用所花费的总毫秒数。此时间不包括 Apigee API 代理开销。
/policy/latencies policy_name 执行此已命名政策所花费的总毫秒数。
/server/fault_count source

服务器应用的错误总数。

例如,应用可以是 apigee-runtime apigee-synchronizerapigee-udca。使用 pod_name 标签按应用过滤结果。

/server/nio state 打开的套接字数量。
/server/num_threads 服务器中活跃的非守护程序线程数。
/server/request_count method

type

服务器应用接收的请求总数。

例如,应用可以是 apigee-runtime apigee-synchronizerapigee-udca。使用 pod_name 标签按应用过滤结果。

/server/response_count method

response_code
type

服务器应用发送的响应总数。

例如,应用可以是 apigee-runtime apigee-synchronizerapigee-udca。使用 pod_name 标签按应用过滤结果。

/server/latencies method

response_code
type

延迟时间是指服务器应用引入的延迟时间(以毫秒为单位)。

例如,应用可以是 apigee-runtime apigee-synchronizerapigee-udca。使用 pod_name 标签按应用过滤结果。

/upstream/request_count method

type

服务器应用发送至其上游应用的请求数。

例如,对于 apigee-synchronizer,控制平面是上游。因此,apigee-synchronizerupstream/request_count 指标表示 apigee-synchronizer 向控制平面发出的请求。

/upstream/response_count method

response_code

type

服务器应用从其上游应用接收的响应数量。

例如,对于 apigee-synchronizer,控制平面是上游。因此,apigee-synchronizerupstream/response_count 指标表示 apigee-synchronizer 从控制平面接收的请求。

/upstream/latencies method

response_code
type

上游服务器应用发生的延迟(以毫秒为单位)。

例如,对于 apigee-synchronizer,控制平面是上游。因此,apigee-synchronizerupstream/latencies 指标表示控制平面产生的延迟时间。

UDCA 指标

Prometheus 服务会为 UDCA 服务收集和处理指标(如指标收集中所述),就像处理其他混合服务一样。

下表介绍了 Prometheus 在 UDCA 指标数据中使用的指标和标签。这些标签用于指标日志条目。

指标名称 标签 使用
/udca/server/local_file_oldest_ts dataset

state

数据集中最早的文件的时间戳,从 Unix Epoch 开始计算(以毫秒为单位)。

该值每 60 秒计算一次,并不实时反映状态。如果 UDCA 是最新版本,并且在计算此指标时没有等待上传的文件,那么此值将为 0。

如果此值继续增大,则说明旧文件仍在磁盘上。

/udca/server/local_file_latest_ts dataset

state

磁盘上最新文件的时间戳(按状态),从 Unix 计时原点开始计算(以毫秒为单位)。

该值每 60 秒计算一次,并不实时反映状态。如果 UDCA 是最新版本,并且在计算此指标时没有等待上传的文件,那么此值将为 0。

/udca/server/local_file_count dataset

state

数据收集 pod 中磁盘上的文件数量计数。

理想情况下,该值将接近 0。如果该值一直很高,则表示文件没有上传,或者 UDCA 无法及时上传这些文件。

此值每 60 秒计算一次,并不实时反映 UDCA 状态。

/udca/server/total_latencies dataset

创建数据文件与成功上传数据文件之间的时间间隔(以秒为单位)。

分桶为 100 毫秒、250 毫秒、500 毫秒、1 秒、2 秒、4 秒、8 秒、16 秒、32 秒和 64 秒。

从文件创建时间到成功上传时间的总延迟时间的直方图。

/udca/server/upload_latencies dataset

UDCA 上传数据文件所花费的总时间(以秒为单位)。

分桶为 100 毫秒、250 毫秒、500 毫秒、1 秒、2 秒、4 秒、8 秒、16 秒、32 秒和 64 秒。

这些指标将显示总上传延迟时间的直方图,包括所有上游调用。

/udca/upstream/http_error_count service

dataset

response_code

UDCA 遇到的 HTTP 错误总数。此指标有助于确定 UDCA 外部依赖项的哪个部分出错以及具体原因。

这些错误可能来自各种服务(getDataLocationCloud storageToken generator)和各种数据集(例如 apitrace),并具有各种响应代码。

/udca/upstream/http_latencies service

dataset

服务的上游延迟时间(以秒为单位)。

分桶为 100 毫秒、250 毫秒、500 毫秒、1 秒、2 秒、4 秒、8 秒、16 秒、32 秒和 64 秒。

来自上游服务的延迟时间的直方图。

/udca/upstream/uploaded_file_sizes dataset

正在上传到 Apigee 服务的文件的大小(以字节为单位)。

分桶为 1KB、10KB、100KB、1MB、10MB、100MB 和 1GB。

按数据集、组织和环境划分的文件大小的直方图。

/udca/upstream/uploaded_file_count dataset UDCA 上传到 Apigee 服务的文件的数量。

请注意以下事项:

  • event 数据集值应持续增长。
  • 如果组织/环境具有稳定的流量,则 api 数据集值应持续增长。
  • 当您使用 Apigee 跟踪记录工具调试或检查请求时,trace 数据集值应增加。
/udca/disk/used_bytes dataset

state

数据收集 pod 磁盘上的数据文件占用的空间(以字节为单位)。

此值随着时间增加:

  • ready_to_upload 表示代理滞后。
  • failed 表示文件正在磁盘上堆积,没有被上传。此值每 60 秒计算一次。
/udca/server/pruned_file_count dataset

state

由于文件存留时间 (TTL) 超过设定阈值而被删除的文件的数量。该数据集可以包含 API、跟踪记录等,其状态可以是 UPLOADEDFAILEDDISCARDED
/udca/server/retry_cache_size dataset

UDCA 正在重试上传的文件数量计数(按数据集)。

每个文件重试 3 次后,UDCA 会将文件移动到 /failed 子目录,并将其从此缓存中移除。此数值随时间推移增加意味着缓存未清除,在 3 次重试后将文件移动到 /failed 子目录时也会发生这种情况。

Cassandra 指标

Prometheus 服务会收集和处理 Cassandra 的指标(如指标收集中所述)。

下表介绍了 Prometheus 在 Cassandra 指标数据中使用的指标和标签。这些标签用于指标日志条目。

指标名称(不包括网域) 标签 使用
/cassandra/process_max_fds 打开文件描述符数量上限。
/cassandra/process_open_fds 打开文件描述符。
/cassandra/jvm_memory_pool_bytes_max pool 池的 JVM 最大内存用量。
/cassandra/jvm_memory_pool_bytes_init pol 池的 JVM 初始内存用量。
/cassandra/jvm_memory_bytes_max area JVM 堆内存用量上限。
/cassandra/process_cpu_seconds_total 用户和系统 CPU 时间(以秒为单位)。
/cassandra/jvm_memory_bytes_used area JVM 堆内存用量。
/cassandra/compaction_pendingtasks unit Cassandra sstables 的未完成压缩。如需了解详情,请参阅压缩
/cassandra/jvm_memory_bytes_init area JVM 堆初始内存用量。
/cassandra/jvm_memory_pool_bytes_used pool JVM 池内存用量。
/cassandra/jvm_memory_pool_bytes_committed pool JVM 池提交的内存用量。
/cassandra/clientrequest_latency scope

unit

第 75 百分位范围内的读取请求延迟时间(以微秒为单位)。
/cassandra/jvm_memory_bytes_committed area JVM 堆提交的内存用量。