本主题介绍如何在 Cloud Operations 信息中心内查看 Apigee Hybrid 指标。
Cloud Operations 简介
如需详细了解指标、信息中心和 Cloud Operations,请参阅:
启用 Hybrid 指标
您必须首先启用指标收集,然后才能将 Hybrid 指标发送到 Cloud Operations。请参阅配置指标收集,了解此过程。
Hybrid 指标名称和标签简介
Hybrid 在启用后会自动填充 Cloud Operations 指标。Hybrid 创建的指标的域名前缀为:
apigee.googleapis.com/
例如,/proxy/request_count
指标包含 API 代理收到的请求总数。因此,Cloud Operations 中的指标名称如下:
apigee.googleapis.com/proxy/request_count
借助 Cloud Operations,您可以根据标签对指标数据进行过滤和分组。有些标签是预定义的,其他标签则由 Hybrid 显式添加。下面的可用指标部分列出了所有可用的 Hybrid 指标以及专门为过滤和分组指标而添加的所有标签。
查看指标
以下示例展示了如何在 Cloud Operations 中查看指标:- 在浏览器中打开 Monitoring Metrics Explorer。或者,如果您已位于 Cloud Operations Console 中,则选择 Metrics Explorer。
在 Find resource type and metric 中,查找并选择要检查的指标。选择可用指标中列出的一个特定指标,或搜索一个指标。
- 选择所需的指标。
- 应用过滤条件可用指标列出了每个指标的过滤条件选项。
- Cloud Operations 会显示所选指标的图表。
- 点击保存。
创建信息中心
信息中心是查看和分析对您而言重要的指标数据的一种方式。Cloud Operations 为您使用的资源和服务提供预定义信息中心,您还可以创建自定义信息中心。
您可以使用图表在自定义信息中心内显示 Apigee 指标。利用自定义信息中心,您可以完全控制所显示的图表和它们的配置。如需详细了解如何创建图表,请参阅创建图表。
以下示例展示了如何在 Cloud Operations 中创建信息中心,然后添加图表以查看指标数据:
- 在浏览器中打开 Monitoring Metrics Explorer,然后选择信息中心。
- 选择 + 创建信息中心。
- 为信息中心命名。 例如:混合代理请求流量
- 点击确认。
对于要添加到信息中心的每个图表,请按以下步骤操作:
- 在信息中心内选择添加图表。
- 如上面查看指标部分所述,选择所需的指标。
- 完成对话框以定义图表。
- 点击保存。Cloud Operations 将显示所选指标的数据。
可用指标
下表列出了用于分析代理流量的指标。
代理、目标和服务器流量指标
Open Telemetry 会收集和处理代理、目标和服务器流量的指标(如指标收集中所述)。
下表介绍了 Open Telemetry 收集器使用的指标和标签。这些标签用于指标日志条目。
指标名称 | 标签 | 使用 |
---|---|---|
/proxy/request_count |
method |
自上次记录样本以来向 Apigee 代理请求的次数。 |
/proxy/response_count |
method
|
Apigee API 代理发送的响应数量。 |
/proxy/latencies |
method |
根据从 Apigee 代理接收到请求的那一刻到响应从 Apigee 代理发送至客户端的这段时间计算得出的延迟时间分布。 |
/proxyv2/request_count |
method |
收到的 API 代理请求总数。 |
/proxyv2/response_count |
method
|
收到的 API 代理响应的总数。 |
/proxyv2/latencies_percentile |
method |
一个请求的所有 API 政策响应的百分位数。 |
/target/request_count |
method
|
自上次记录样本以来发送到 Apigee 目标的请求数。 |
/target/response_count |
method
|
自上次记录样本以来从 Apigee 目标接收到的响应数。 |
/target/latencies |
method
|
根据从请求发送至 Apigee 目标的那一刻到 Apigee 代理接收到响应的这段时间计算得出的延迟时间分布。此时间不包括 Apigee API 代理开销。 |
/targetv2/request_count |
method
|
发送到代理目标的请求总数。 |
/targetv2/response_count |
method
|
从代理目标接收到的响应总数。 |
/server/fault_count |
source |
服务器应用的错误总数。 例如,应用可以是 |
/server/nio |
state |
打开的套接字数量。 |
/server/num_threads |
服务器中活跃的非守护程序线程数。 | |
/server/request_count |
method
|
服务器应用接收的请求总数。 例如,应用可以是 |
/server/response_count |
method
|
服务器应用发送的响应总数。 例如,应用可以是 |
/server/latencies |
method
|
延迟时间是指服务器应用引入的延迟时间(以毫秒为单位)。 例如,应用可以是 |
/upstream/request_count |
method
|
服务器应用发送至其上游应用的请求数。 例如,对于 |
/upstream/response_count |
method
|
服务器应用从其上游应用接收的响应数量。 例如,对于 |
/upstream/latencies |
method
|
上游服务器应用发生的延迟(以毫秒为单位)。 例如,对于 |
UDCA 指标
Open Telemetry 会为 UDCA 服务收集和处理指标(如指标收集中所述),就像处理其他 Hybrid 服务一样。
下表介绍了 Open Telemetry 收集器在 UDCA 指标数据中使用的指标和标签。这些标签用于指标日志条目。
指标名称 | 标签 | 使用 |
---|---|---|
/udca/server/local_file_oldest_ts |
dataset
|
数据集中最早的文件的时间戳,从 Unix Epoch 开始计算(以毫秒为单位)。 该值每 60 秒计算一次,并不实时反映状态。如果 UDCA 是最新版本,并且在计算此指标时没有等待上传的文件,那么此值将为 0。 如果此值继续增大,则说明旧文件仍在磁盘上。 |
/udca/server/local_file_latest_ts |
dataset
|
磁盘上最新文件的时间戳(按状态),从 Unix 计时原点开始计算(以毫秒为单位)。 该值每 60 秒计算一次,并不实时反映状态。如果 UDCA 是最新版本,并且在计算此指标时没有等待上传的文件,那么此值将为 0。 |
/udca/server/local_file_count |
dataset
|
数据收集 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
|
UDCA 遇到的 HTTP 错误总数。此指标有助于确定 UDCA 外部依赖项的哪个部分出错以及具体原因。 这些错误可能来自各种服务(
|
/udca/upstream/http_latencies |
service
|
服务的上游延迟时间(以秒为单位)。 分桶为 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 服务的文件的数量。
请注意以下事项:
|
/udca/disk/used_bytes |
dataset
|
数据收集 pod 磁盘上的数据文件占用的空间(以字节为单位)。 此值随着时间增加:
|
/udca/server/pruned_file_count |
dataset
|
由于文件存留时间 (TTL) 超过设定阈值而被删除的文件的数量。该数据集可以包含 API、跟踪记录等,其状态可以是 UPLOADED 、FAILED 或 DISCARDED 。 |
/udca/server/retry_cache_size |
dataset |
UDCA 正在重试上传的文件数量计数(按数据集)。 每个文件重试 3 次后,UDCA 会将文件移动到 |
Cassandra 指标
Open Telemetry 会为 Cassandra 收集和处理指标(如指标收集中所述),就像处理其他 Hybrid 服务一样。
下表介绍了 Open Telemetry 收集器在 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
|
第 75 百分位范围内的读取请求延迟时间(以微秒为单位)。 |
/cassandra/jvm_memory_bytes_committed |
area |
JVM 堆提交的内存用量。 |
使用 Cassandra 指标
Apigee 建议将以下指标作为监控 Cassandra 数据库的关键:
- Cassandra 请求速率:使用此指标可监控 Cassandra 读取和写入请求速率。
指标: apigee.googleapis.com/cassandra/clientrequest_latency
资源标签: project_id
、location
、cluster_name
、namespace_name
、pod_name
、container_name
指标标签: scope
、unit
使用这些标签过滤特定资源或分组。
如需监控 cassandra 读取请求率,请应用以下过滤条件。
过滤条件: metric.scope == 'Read'
metric.unit == 'OneMinuteRate'
如需监控 Cassandra 写入请求速率,请应用以下过滤条件。
过滤条件: metric.scope == 'Write'
metric.unit == 'OneMinuteRate'
- Cassandra 请求延迟时间:使用此指标监控 Cassandra 读取和写入请求延迟时间。此指标与请求速率相同,即应用不同过滤条件的
apigee.googleapis.com/cassandra/clientrequest_latency
。如需监控 cassandra 读取请求延迟时间,请应用以下过滤条件。
过滤条件: metric.scope == 'Read'
metric.unit == '99thPercentile'
或'95thPercentile'
或'75thPercentile'
如需监控 cassandra 写入请求延迟时间,请应用以下过滤条件。
过滤条件: metric.scope == 'Write'
metric.unit == '99thPercentile'
或'95thPercentile'
或'75thPercentile'
- Cassandra pod CPU 请求利用率
指标: kubernetes.io/container/cpu/request_utilization (GKE on Google Cloud)
kubernetes.io/anthos/container/cpu/request_utilization (Google Distributed Cloud)
资源标签: project_id
、location
、cluster_name
、namespace_name
、pod_name
、container_name
使用这些标签过滤特定资源或分组。
- Cassandra 数据量利用率
指标: kubernetes.io/pod/volume/utilization (GKE on Google Cloud)
kubernetes.io/anthos/pod/volume/utilization (Google Distributed Cloud)
资源标签: project_id
、location
、cluster_name
、namespace_name
、pod_name
指标标签: volume_name
使用这些标签过滤特定资源或分组。
Cassandra 集群扩缩建议
以下准则可作为推荐集群,用于决定是否扩缩 Cassandra 集群。通常,如果读取或写入请求持续显示第 99 百分位延迟时间,或者延迟时间不断上升,并且您看到 CPU 请求利用率峰值和读取或写入请求速率的相应峰值,则您的 Cassandra 集群可以是被认为具有压力。您可能需要考虑扩展集群。如需了解详情,请参阅扩缩 Cassandra
指标 | 阈值 | 触发时长 |
---|---|---|
kubernetes.io/pod/volume/utilization | 85% | 5 分钟 |
kubernetes.io/container/cpu/request_utilization | 85% | 3 分钟 |
Read request Latency 99thPercentile | 5 秒 | 3 分钟 |
Write request Latency 99thPercentile | 5 秒 | 3 分钟 |