监控最佳实践

Edge for Private Cloud v. 4.16.09

监控提醒

Apigee Edge 允许您在事件失败导致错误或故障时,将提醒转发到 syslog 或外部监控系统/工具。这些提醒可以是系统级或应用级提醒/事件。应用级提醒大多是根据生成的事件创建的自定义提醒。网络管理员通常会配置自定义条件。如需详细了解提醒,请与 Apigee 支持团队联系。

设置提醒阈值

设置一个阈值,当达到该阈值时,系统需要生成提醒。您设置的内容取决于您的硬件配置。阈值应根据您的容量进行设置。例如,如果您只有 6GB 容量,Apigee Edge 可能会过低。您可以分配等于 (=) 或大于 (>) 条件的阈值。您还可以指定两次连续提醒生成之间的时间间隔。您可以使用小时/分钟/秒选项。

设置系统级提醒的条件

下表介绍了这些条件:

提醒

建议的阈值

说明

内存不足

500MB

内存过低,无法启动组件

磁盘可用空间不足 (/var/log)

8 GB

磁盘可用空间过低。

负荷较高

3+

等待运行的进程意外增加

进程已停止

不适用,布尔值 true 或 false

系统中的 Apigee Java 进程已停止

检查 Apigee 专用端口和第三方端口

监控以下端口,确保其处于活跃状态

  • 管理服务器、路由器和消息处理器上的端口 4526、4527 和 4528
  • Management Server、Router 和 消息处理器 上的端口 1099、1100 和 1101
  • 路由器上的端口 8081 和 15999
  • 消息处理器上的端口 8082 和 8998
  • 管理服务器上的端口 8080

检查以下第三方端口,确保它们处于活跃状态:

  • Qpid 端口 5672
  • Postgres 端口 5432
  • Cassandra 端口 7000、7199、9042、9160
  • ZooKeeper 端口 2181
  • OpenLDAP 端口 10389

为了确定每个 Apigee 组件在哪个端口上监听 API 调用,请向管理服务器(通常位于端口 8080 上)发出以下 API 调用:

curl -v -u <username>:<password> http://<host>:<port>/v1/servers?pod=gateway&region=dc-1
curl -v -u <username>:<password> http:// <host>:<port>/v1/servers?pod=central&region=dc-1
curl -v -u <username>:<password> http:// <host>:<port>/v1/servers?pod=analytics&region=dc-1

这些命令的输出将包含类似于以下所示的部分。“http.management.port”部分给出了指定组件的端口号。

{
  "externalHostName" : "localhost",
  "externalIP" : "111.222.333.444",
  "internalHostName" : "localhost",
  "internalIP" : "111.222.333.444",
  "isUp" : true,
  "pod" : "gateway",
  "reachable" : true,
  "region" : "default",
  "tags" : {
    "property" : [ {
      "name" : "Profile",
      "value" : "Router"
    }, {
      "name" : "rpc.port",
      "value" : "4527"
    }, {
      "name" : "http.management.port",
      "value" : "8081"
    }, {
      "name" : "jmx.rmi.port",
      "value" : "1100"
    } ]
  },
  "type" : [ "router" ],
  "uUID" : "2d4ec885-e20a-4173-ae87-10be38b35750"
}

查看日志

日志文件会跟踪与系统事件/操作相关的消息。当进程开始和完成或发生错误情况时,日志中会显示消息。通过查看日志文件,您可以获取有关系统组件(例如 CPU、内存、磁盘、负载、进程等)在达到失败状态之前和之后的信息。这还可让您识别和诊断当前系统问题的来源,或帮助您预测潜在的系统问题。

例如,组件的典型系统日志包含以下条目,如下所示:

TimeStamp = 25/01/13 19:25 ; NextDelay = 30
Memory
HeapMemoryUsage = {used = 29086176}{max = 64880640} ;    
NonHeapMemoryUsage = {init = 24313856}{committed = 57278464} ;
Threading
PeakThreadCount = 53 ; ThreadCount = 53 ;
OperatingSystem
SystemLoadAverage = 0.25 ;

您可以修改 /<inst_root>/apigee/conf/logback.xml 文件来控制日志记录机制,而无需重启服务器。logback.xml 文件包含以下属性,用于设置日志记录机制检查 logback.xml 文件中配置更改的频率:

<configuration scan="true" scanPeriod="30 seconds" >

默认情况下,日志记录机制每分钟检查一次更改。如果您省略 scanPeriod 属性的时间单位,则默认为毫秒。

下表列出了 Apigee Edge 私有云组件的日志文件位置。

组件

位置

管理服务器

<inst_root>/apigee/var/log/edge-management-server

路由器

<inst_root>/apigee/var/log/edge-router

消息处理器

<inst_root>/apigee/var/log/edge-message-processor

Qpid 服务器

<inst_root>/apigee/var/log/edge-qpid-server

Apigee Postgres 服务器

<inst_root>/apigee/var/log/edge-postgres-server

Edge 界面

<inst_root>/apigee/var/log/edge-ui

ZooKeeper

<inst_root>/apigee/var/log/apigee-zookeeper

OpenLDAP

<inst_root>/apigee/var/log/apigee-openldap

Cassandra

<inst_root>/apigee/var/log/apigee-cassandra

Qpidd

<inst_root>/apigee/var/log/apigee-qpidd

PostgreSQL 数据库

<inst_root>/apigee/var/log/apigee-postgresql

为消息处理器和 Edge 界面启用调试日志

如需为消息处理器启用调试日志,请执行以下操作:

  1. 在消息处理器节点上,修改 /<install_dir>/apigee/customer/application/messsage-processor.properties。 如果该文件不存在,请创建它。
  2. 将以下属性添加到该文件中:
    conf_system_log.level=DEBUG
  3. 重启消息处理器:
    > /<install_dir>/apigee/apigee-service/bin/apigee-service edge-message-processor restart

如需为 Edge 界面启用调试日志,请执行以下操作:

  1. 在 Edge 界面节点上,修改 /<install_dir>/apigee/customer/application/ui.properties。 如果该文件不存在,请创建它。
  2. 将以下属性添加到该文件中:
    conf_application_logger.application=DEBUG
  3. 重启 Edge 界面:
    > /<install_dir>/apigee/apigee-service/bin/apigee-service edge-ui restart

监控工具

Nagios、Collectd、Graphite、Splunk、Sumologic 和 Monit 等开源监控工具可帮助您监控整个企业环境和业务流程。

组件

Nagios

Collectd

Splunk

系统级检查

CPU 利用率

?

?

可用/已用内存

?

?

磁盘可用空间用量

?

?

网络统计信息

?

?

进程

?

API 检查

?

JMX

?

Java

?

日志文件

?

严重事件

达到速率限制

?

无法访问后端服务器(Hybris 或 SharePoint)

?

无法访问 FaaS (STS)

?

警告事件

无法连接到 SMTP 服务器

?

违反了 SLA

?