要监控的内容

Edge for Private Cloud v4.18.01

通常,在生产设置中,需要在 Apigee Edge for Private Cloud 部署中启用监控机制。这些监控技术会在出现错误或故障时向网络管理员(或运营商)发出警告。生成的每个错误都会在 Apigee Edge 中报告为提醒。如需详细了解提醒,请参阅监控最佳实践。

为方便起见,Apigee 组件主要分为两类:

  • Apigee 专用 Java 服务器服务 - 包括 Management Server、消息处理器、Qpid Server 和 Postgres Server。
  • 第三方服务 - 包括 Nginx 路由器、Apache Cassandra、Apache ZooKeeper、OpenLDAP、PostgreSQL 数据库和 Qpid。

在 Apigee Edge 的本地部署中,下表简要介绍了您可以监控的参数:

组件

系统检查

进程级统计信息

API 级别检查

消息流检查

组件专用

Apigee 专用 Java 服务

管理服务器

?

?

?

消息处理器

?

?

?

?

Qpid 服务器

?

?

?

Postgres 服务器

?

?

?

第三方服务

Apache Cassandra

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

PostgreSQL 数据库

?

?

Qpid

?

?

Nginx 路由器

?

?

?

通常,在安装 Apigee Edge 后,您可以执行以下监控任务来跟踪 Apigee Edge for Private Cloud 安装的性能。

系统健康检查

在更高层级测量系统健康状况参数(例如 CPU 利用率、内存利用率和端口连接性)非常重要。您可以监控以下参数,了解系统运行状况的基本信息。

  • CPU 利用率 - 指定有关 CPU 利用率的基本统计信息(用户/系统/IO 等待/空闲)。例如,系统使用的总 CPU。
  • 空闲/已用内存 - 指定系统内存利用率(以字节为单位)。 例如,系统使用的物理内存。
  • 磁盘空间用量 - 根据当前磁盘用量指定文件系统信息。例如,系统使用的硬盘空间。
  • 平均负载 - 指定等待运行的进程数。
  • 网络统计信息 - 传输和接收的网络数据包和/或字节,以及有关指定组件的传输错误。

流程/应用检查

在进程级,您可以查看有关正在运行的所有进程的重要信息。例如,这些信息包括进程或应用使用的内存和 CPU 使用情况统计信息。对于 qpidd、postgres postmaster、java 等进程,您可以监控以下内容:

  • 进程标识:标识特定的 Apigee 进程。例如,您可以监控 Apigee 服务器 Java 进程是否存在。
  • 线程统计信息:查看进程使用的底层线程模式。例如,您可以监控所有进程的峰值线程数和线程数。
  • 内存利用率:查看所有 Apigee 进程的内存用量。 例如,您可以监控进程使用的堆内存用量、非堆内存用量等参数。

API 级检查

在 API 级别,您可以监控服务器是否正常运行,以便 Apigee 代理频繁使用的 API 调用。例如,您可以通过调用以下 cURL 命令对管理服务器、路由器和消息处理器执行 API 检查:

curl http://<host>:<port>/v1/servers/self/up

其中,<host> 是 Apigee Edge 组件的 IP 地址。<port> 编号特定于每个 Edge 组件。 例如:

管理服务器:8080

  • 路由器:8081
  • 消息处理器:8082
  • 等等

请参阅下面的各个部分,了解如何为每个组件运行此命令

此调用会返回“true”和“false”。为获得最佳结果,您还可以直接在后端(Apigee 软件与之交互)发出 API 调用,以便快速确定错误是存在于 Apigee 软件环境中还是后端。

注意:如需监控 API 代理,您还可以使用 Apigee 的 API Health。API Health 会定期调用您的 API 代理,并在调用失败时通知您失败原因。当调用成功时,API Health 会显示响应时间,甚至可以在响应延迟时间较长时通知您。API Health 可以从世界各地的不同位置发出调用,以比较不同区域之间的 API 行为。

邮件流程检查

您可以从路由器和消息处理器收集有关消息流模式/统计信息的数据。这样,您就可以监控以下内容:

  • 活跃客户数量
  • 回复数量(10 倍、20 倍、30 倍、40 倍和 50 倍)
  • 连接失败

这有助于您为 API 消息流提供信息中心。如需了解详情,请参阅:

消息处理器的路由器健康检查

路由器会实现健康检查机制,以确定哪些消息处理器按预期工作。如果检测到消息处理器处于关闭或缓慢状态,路由器可以自动将消息处理器从轮替中移除。如果发生这种情况,路由器会将“标记为关闭”消息写入 /opt/apigee/var/log/edge-router/logs/system.log 处的路由器日志文件。

您可以监控路由器日志文件,查看是否有这些消息。例如,如果路由器将消息处理器从轮替中移除,则会以下列形式将消息写入日志:

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = <MP_IP> at 1399409512159

2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /<MP_IP>:<PORT> Mark Down

其中 /<MP_IP>:<PORT> 是 消息处理器 的 IP 地址和端口号。

如果路由器稍后执行健康检查并确定消息处理器正常运行,则路由器会自动将消息处理器重新置于轮替中。路由器还会将“标记为正常”消息写入日志,格式如下:

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = <IP> at 1399410449054

2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from /<IP>:<PORT> Mark Up