适用于私有云的 Edge v. 4.16.09
通常,在生产设置中,需要在 适用于私有云部署的 Apigee Edge。这些监控技术会向网络发出警告 负责处理错误或失败事宜的管理员(或操作员)。产生的每个错误都会报告为 提醒。如需详细了解提醒,请参阅监控最佳实践。
为方便起见,Apigee 组件主要分为两类:
- Apigee 专用 Java 服务器服务 - 包括管理服务器、消息处理器、Qpid 服务器和 Postgres 服务器。
- 第三方服务 - 包括 Nginx Router、Apache Cassandra、 Apache ZooKeeper、OpenLDAP、PostgreSQL 数据库和 Qpid。
在 Apigee Edge 的本地部署中,您可以通过下表快速浏览 您可以监控的参数:
组件 |
系统检查 |
进程级统计信息 |
API 级别检查 |
消息流检查 |
组件专用 |
|
---|---|---|---|---|---|---|
Apigee 专属 Java 服务 |
管理服务器 |
? |
? |
? |
||
消息处理器 |
? |
? |
? |
? |
||
Qpid 服务器 |
? |
? |
? |
|||
Postgres 服务器 |
? |
? |
? |
|||
第三方服务 |
Apache Cassandra |
? |
? |
|||
Apache ZooKeeper |
? |
? |
||||
OpenLDAP |
? |
? |
||||
PostgreSQL 数据库 |
? |
? |
||||
Qpid |
? |
? |
||||
Nginx Router |
? |
? |
? |
通常,安装 Apigee Edge 后,您可以执行以下监控任务来跟踪 Apigee Edge for Private Cloud 安装的性能。
系统健康检查
测量系统运行状况参数(例如 CPU 利用率、内存)非常重要 提高利用率和端口连接能力您可以监控以下参数, 了解系统健康状况的基础知识
- CPU 利用率 - 指定基本统计信息(用户/系统/IO) 等待/空闲)有关 CPU 利用率的信息。例如,系统使用的 CPU 总数。
- 可用/已使用内存 - 以字节为单位指定系统内存利用率。 例如,系统使用的物理内存。
- 磁盘空间使用情况 - 根据 当前磁盘用量例如,系统使用的硬盘空间。
- 平均负载 - 指定等待运行的进程数量。
- 网络统计信息 - 通过网络传输的 以及指定组件的传输错误信息。
进程/应用检查
在进程级别,您可以查看与当前未启动的所有进程有关的重要信息 。例如,这些数据包括进程或应用的内存和 CPU 使用情况统计信息 。对于 qpidd、postgres postmaster 和 java 等进程,您可以监控 以下:
- 进程识别:识别特定 Apigee 进程。例如: 您可以监控 Apigee 服务器 Java 进程是否存在。
- 线程统计信息:查看进程的线程处理模式 用途。例如,您可以监控峰值线程计数、所有进程的线程计数。
- 内存利用率:查看所有 Apigee 进程的内存用量。 例如,您可以监控堆内存用量、进程使用的非堆内存用量等参数。
API 级别检查
在 API 级别,您可以监控服务器是否已针对常用 API 启动并运行 由 Apigee 代理的调用例如,您可以对管理服务器、路由器、 来配置消息处理器:
curl http://<host>:<port>/v1/servers/self/up
其中 <host> 是 IP 地址 Apigee Edge 组件的地址<port>每个 Edge 组件的编号都是特定的。 例如:
管理服务器:8080
- 路由器:8081
- 消息处理器:8082
- 等等
如需了解如何针对每个组件运行此命令,请参阅下文中的各个部分
此调用会返回“true”和“false”。为获得最佳效果,您还可以发出 API 调用 (与 Apigee 软件交互的后端),以快速确定 Apigee 软件环境或后端是否存在错误。
注意:如需监控 API 代理,您还可以使用 Apigee 的 API Health 功能。API Health 使 定期调用您的 API 代理,并在调用失败时通知您。调用成功时,API Health 会显示响应时间,甚至可以在响应延迟时间较长时通知您。API 健康度可以从世界各地的不同位置进行调用,以比较不同区域的 API 行为。
消息流检查
您可以从路由器和消息处理器收集有关消息流模式/统计数据的数据。这样,您就可以监控以下内容:
- 活跃客户端数量
- 响应数量(10 倍、20 倍、30 倍、40 倍和 50 倍)
- 连接失败
这有助于您为 API 消息流提供信息中心。
消息处理器的路由器健康检查
路由器会实施健康检查机制,以确定哪个消息处理器 运行正常。如果消息处理器被检测到故障或运行缓慢,则路由器可以 自动让消息处理器退出轮替。如果发生这种情况,路由器会写入一个 “Mark Down”将消息发送到位于 /<inst 的路由器日志文件 root>/apigee4/var/log/apigee/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
要配置路由器以进行健康检查,请在 /<inst 中将以下属性设置为 true root>/apigee4/conf/apigee/router/router.properties:
Client.pool.heartBeat.use.http=true
然后,重启路由器:
> /<inst-root>/apigee4/bin/apigee-service router restart