监控最佳实践

Edge for Private Cloud v4.18.01

监控提醒

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

设置提醒阈值

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

设置系统级提醒的条件

下表介绍了这些条件:

提醒

建议的阈值

说明

内存不足

500MB

内存太低,无法启动组件

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

8 GB

磁盘可用空间过低。

高负载

3+

等待运行的进程意外增加

进程已停止

不适用,布尔值 true 或 false

系统中的 Apigee Java 进程已停止

检查特定于 Apigee 的端口和第三方端口

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

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

请检查以下第三方端口,确保它们处于有效状态:

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

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

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 ;

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

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

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

下表显示了 Apigee Edge Private Cloud 组件的日志文件位置。

组件

位置信息

管理服务器

opt/apigee/var/log/edge-management-server

路由器

opt/apigee/var/log/edge-router

消息处理器

opt/apigee/var/log/edge-message-processor

Qpid 服务器

opt/apigee/var/log/edge-qpid-server

Apigee Postgres 服务器

opt/apigee/var/log/edge-postgres-server

Edge 界面

opt/apigee/var/log/edge-ui

ZooKeeper

opt/apigee/var/log/apigee-zookeeper

OpenLDAP

opt/apigee/var/log/apigee-openldap

Cassandra

opt/apigee/var/log/apigee-cassandra

Qpidd

opt/apigee/var/log/apigee-qpidd

PostgreSQL 数据库

opt/apigee/var/log/apigee-postgresql

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

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

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

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

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

监控工具

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

组件

纳吉奥斯

Collectd

Splunk

系统级检查

CPU 利用率

可用内存/已使用内存

磁盘空间使用情况

网络统计数据

流程

API 检查

JMX

Java

日志文件

重要事件

速率限制命中

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

无法访问 FaaS (STS)

警告事件

无法访问 SMTP 服务器

您违反了服务等级协议 (SLA)