监控最佳实践

监控提醒

当出现以下情况时,Apigee Edge 允许您将提醒转发到系统日志或外部监控系统/工具: 发生错误或由于事件失败而发生故障的情况。这些提醒可以是系统级提醒,也可以是 应用级提醒/事件。应用级提醒大多是自定义提醒 根据生成的事件创建的网络管理员通常会将自定义 条件。如需详细了解提醒,请与 Apigee 支持团队联系。

设置提醒阈值

设置一个阈值,超过该阈值后需要生成提醒。设置什么取决于您的 硬件配置。阈值应根据您的容量进行设置。例如,Apigee 如果您只有 6GB 容量,边缘可能会太小。您可以指定等于 (=) 的阈值 或大于 (>) 条件。您还可以指定两个连续时间段之间的时间间隔 提醒生成。您可以使用“小时/分钟/秒”选项。

设置系统级警报的条件

下表介绍了这些条件:

提醒 建议的阈值 说明

内存不足

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 调用,发出 对管理服务器(通常在端口 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 ;

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

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

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

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

组件 位置

管理服务器

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-service edge-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-service edge-ui restart

apigee-monit 最佳实践

使用 apigee-monit 时,Apigee 建议您:

  • 在执行任何操作之前停止监控组件 启动或停止它的操作(如备份或升级)。
  • 使用 cron 等工具监控 apigee-monit。有关 相关信息,请参阅监控 apigee-monit

监控工具

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

组件 Nagios 已收集 Splunk

系统级检查

CPU 利用率

可用/已使用内存

磁盘空间使用情况

网络统计信息

进程

API 检查

JMX

Java

日志文件

重要事件

速率限制

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

无法访问 FaaS (STS)

警告事件

无法访问 SMTP 服务器

违反服务等级协议 (SLA)