要监控的内容

通常,在生产设置中,需要在 适用于私有云部署的 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 路由器

通常,在安装 Apigee Edge 后,您可以执行以下监控 来跟踪适用于私有云的 Apigee Edge 安装的性能。

系统健康检查

测量系统运行状况参数(例如 CPU 利用率、内存)非常重要 提高利用率和端口连接能力您可以监控以下参数, 了解系统健康状况的基础知识

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

进程/申请检查

在进程级别,您可以查看与当前未启动的所有进程有关的重要信息 。例如,这些数据包括进程或应用的内存和 CPU 使用情况统计信息 。对于 qpidd、postgres postmaster 和 java 等进程,您可以监控 以下:

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

API 级检查

在 API 级别,您可以监控服务器是否已针对常用 API 启动并运行 由 Apigee 代理的调用例如,您可以对管理服务器、路由器、 消息处理器,从而通过调用以下 curl 命令:

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

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

管理服务器:8080

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

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

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

消息流检查

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

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

这有助于您为 API 消息流提供信息中心。有关详情,请参阅 如何监控

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

路由器会实施健康检查机制,以确定哪个消息处理器 运行正常。如果消息处理器被检测到故障或运行缓慢,则路由器可以 自动将消息处理器退出轮替。如果发生这种情况,路由器会写入一个 “Mark Down”将消息发送到路由器日志文件,位于 /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