要监控的内容

Edge for Private Cloud v4.18.05

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

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

  • Apigee 专用 Java 服务器服务:包括管理服务器、消息处理器、Qpid 服务器和 Postgres 服务器。
  • 第三方服务:包括 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 软件环境中还是后端。

邮件流程检查

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

  • 活跃客户数量
  • 回复数量(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