监控提醒
借助 Apigee Edge,您可以在因事件失败而发生错误或失败时,将提醒转发到 syslog 或外部监控系统/工具。这些提醒可以是系统级提醒/事件,也可以是应用级提醒/事件。应用级提醒大多是根据生成的事件创建的自定义提醒。网络管理员通常会配置自定义条件。如需详细了解提醒,请与 Apigee 支持团队联系。
设置提醒阈值
设置需要达到的阈值,系统才会生成提醒。具体设置取决于您的硬件配置。阈值应与您的容量相关联。例如,如果您只有 6GB 的容量,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 调用的端口,请向管理服务器(通常位于端口 8080 上)发出以下 API 调用:
curl -v -u username:password http://host:port/v1/servers?pod=gateway®ion=dc-1curl -v -u username:password http://host:port/v1/servers?pod=central®ion=dc-1
curl -v -u username:password http://host:port/v1/servers?pod=analytics®ion=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 私有云组件的日志文件位置。
组件 | 位置 |
---|---|
管理服务器 |
|
路由器 |
|
消息处理器 |
|
Qpid 服务器 |
|
Apigee Postgres 服务器 |
|
Edge 界面 |
|
ZooKeeper |
|
OpenLDAP |
|
Cassandra |
|
Qpidd |
|
PostgreSQL 数据库 |
|
为消息处理器和 Edge 界面启用调试日志
如需为消息处理器启用调试日志,请执行以下操作:
- 在“消息处理器”节点上,修改
/opt/apigee/customer/application/messsage-processor.properties
。如果该文件不存在,请创建一个。 - 将以下属性添加到文件中:
conf_system_log.level=DEBUG
- 重启消息处理器:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
如需为 Edge 界面启用调试日志,请执行以下操作:
- 在 Edge 界面节点上,修改
/opt/apigee/customer/application/ui.properties
。 如果该文件不存在,请创建一个。 - 将以下属性添加到文件中:
conf_application_logger.application=DEBUG
- 重启 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 | Collectd | Splunk | |
---|---|---|---|---|
系统级检查 |
CPU 利用率 |
|||
可用/已用内存 |
||||
磁盘空间使用情况 |
||||
网络统计信息 |
||||
进程 |
|
|
||
API 检查 |
||||
JMX |
||||
Java |
||||
日志文件 |
||||
严重事件 |
达到速率限制 |
|||
无法连接到后端服务器 (Hybris 或 SharePoint) |
||||
无法访问 FaaS (STS) |
||||
警告事件 |
无法连接到 SMTP 服务器 |
|||
违反了 SLA |