适用于私有云的 Apigee Edge 包含 apigee-monit
,这是一个基于开源工具
monit 实用程序。定期apigee-monit
轮询 Edge 服务;如果某项服务不可用,apigee-monit
会尝试重启该服务。
如需使用 apigee-monit
,您必须手动安装它。它不属于
标准安装。
默认情况下,apigee-monit
每 60 秒检查一次 Edge 服务的状态。
快速入门
本部分将向您介绍如何快速启动并运行 apigee-monit
。
如果您使用的是 Amazon Linux 或 Oracle-Linux-7.X,请先 通过 Fedora 安装 monit。否则 请跳过此步骤。
sudo yum install -y https://kojipkgs.fedoraproject.org/packages/monit/5.25.1/1.el6/x86_64/monit-5.25.1-1.el6.x86_64.rpm
如需安装“apigee-monit
”,请按以下步骤操作:
安装 apigee-monit |
|
/opt/apigee/apigee-service/bin/apigee-service apigee-monit install 这会安装 |
|
停止监控组件 | |
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name /opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all |
|
开始监控组件 | |
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all |
|
获取摘要状态信息 | |
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report /opt/apigee/apigee-service/bin/apigee-service apigee-monit summary |
|
查看 apigee-monit 日志文件 |
|
cat /opt/apigee/var/log/apigee-monit/apigee-monit.log |
下面几个部分将详细介绍上述各个主题及其他主题。
apigee-monit 简介
apigee-monit
有助于确保节点上的所有组件都保持正常运行。它通过
提供各种服务,包括:
- 正在重启失败的服务
- 显示摘要信息
- Logging 监控状态
- 发送通知
- 监控非 Edge 服务
Apigee 建议您监控 apigee-monit
以确保其正在运行。如需更多信息
请参阅监控 apigee-monit。
apigee-monit 架构
在安装和配置适用于私有云的 Apigee Edge 期间,您可以选择安装单独的实例
(共 apigee-monit
个)。这些单独的 apigee-monit
实例独立于
它们不将自己的组件状态传达给其他节点,也不会
将监控实用程序本身出现的故障传达给任何中央服务。
下图显示了 5 节点集群中的 apigee-monit
架构:
组件配置
apigee-monit
使用组件配置来确定要监控的组件、哪些组件
检查组件的各个方面,以及在发生故障时要采取的操作。
默认情况下,apigee-monit
会使用预定义组件监控节点上的所有 Edge 组件
配置。如需查看默认设置,您可以查看 apigee-monit
组件配置
文件。您无法更改默认组件配置。
apigee-monit
会检查组件的不同方面,具体取决于要检查的组件。通过
下表列出了 apigee-monit
会针对每个组件进行检查,并说明了相应组件的位置
每个组件都有各自的配置请注意,有些组件是在单个配置中定义的
其他文件都有自己的配置。
组件 | 配置位置 | 监控的内容 |
---|---|---|
管理服务器 | /opt/apigee/edge-management-server/monit/default.conf |
apigee-monit 检查:
<ph type="x-smartling-placeholder">
此外,对于这些
|
消息处理器 | /opt/apigee/edge-message-processor/monit/default.conf |
|
Postgres 服务器 | /opt/apigee/edge-postgres-server/monit/default.conf |
|
Qpid 服务器 | /opt/apigee/edge-qpid-server/monit/default.conf |
|
路由器 | /opt/apigee/edge-router/monit/default.conf |
|
Cassandra Edge 界面 OpenLDAP Postgres Qpid ZooKeeper |
/opt/apigee/data/apigee-monit/monit.conf |
apigee-monit 检查:
<ph type="x-smartling-placeholder">
|
以下示例展示了 edge-router
的默认组件配置
组件:
check host edge-router with address localhost restart program = "/opt/apigee/apigee-service/bin/apigee-service edge-router monitrestart" if failed host 10.1.1.0 port 8081 and protocol http and request "/v1/servers/self/uuid" with timeout 15 seconds for 2 times within 3 cycles then restart if failed port 15999 and protocol http and request "/v1/servers/self" and status < 600 with timeout 15 seconds for 2 times within 3 cycles then restart
以下示例展示了经典版界面 (edge-ui
) 的默认配置
组件:
check process edge-ui with pidfile /opt/apigee/var/run/edge-ui/edge-ui.pid start program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui start" with timeout 55 seconds stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui stop"
这适用于传统版界面,不适用于组件名称为
edge-management-ui
。
您无法更改任何适用于私有云的 Apigee Edge 组件的默认组件配置。您可以
不过,您可以为外部服务(例如您的目标端点)添加您自己的组件配置
或 httpd
服务。如需了解详情,请参阅
非 Apigee 组件配置。
默认情况下,apigee-monit
会监控运行它的节点上的所有组件。您可以启用或
并为所有组件或单个组件停用此关联。如需了解详情,请参阅:
安装 apigee-monit
默认情况下,apigee-monit
未安装;你可以在升级或安装后手动安装
4.19.01 版或更高版本的 Apigee Edge for Private Cloud。
本部分介绍了如何安装 apigee-monit
。
如需了解如何卸载 apigee-monit
,请参阅
卸载 apigee-monit
。
安装 apigee-monit
本部分介绍了如何安装 apigee-monit
。
如需安装 apigee-monit
,请执行以下操作:
- 使用以下命令安装
apigee-monit
:/opt/apigee/apigee-service/bin/apigee-service apigee-monit install
- 使用以下命令配置
apigee-monit
:/opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
- 使用以下命令启动
apigee-monit
:/opt/apigee/apigee-service/bin/apigee-service apigee-monit start
- 在集群中的每个节点上重复此过程。
停止和启动监控组件
当服务因任何原因停止时,apigee-monit
会尝试重启该服务。
如果您想有意地停止组件,可能会导致问题。例如,您可以
在需要备份或升级组件时停止组件。
如果 apigee-monit
在备份或升级期间重启了服务,则维护过程可能如下:
并可能导致它失败
以下各部分介绍了用于停止监控组件的选项。
停止组件并取消监控
要停止并取消监控组件,请执行以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop-component -c component_name
apigee-cassandra
(卡桑德拉)apigee-openldap
(打开 LDAP)apigee-postgresql
(PostgreSQL 数据库)apigee-qpidd
(Qpidd)apigee-sso
(边缘单点登录)apigee-zookeeper
(ZooKeeper)edge-management-server
(管理服务器)edge-management-ui
(新版 Edge 界面)edge-message-processor
(消息处理器)edge-postgres-server
(Postgres 服务器)edge-qpid-server
(Qpid Server)edge-router
(边缘路由器)edge-ui
(传统版界面)
请注意,不是 stop-component
的有效选项。您可以停止和
使用 stop-component
一次仅取消监控一个组件。
要重新启动组件并恢复监控,请执行以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name
请注意,不是 start-component
的有效选项。
有关如何停止和取消监控所有组件的说明,请参见 停止所有组件并取消监控。
取消监控组件(但不停止监控)
如需取消监控(但不停止)组件,请执行以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
apigee-cassandra
(卡桑德拉)apigee-openldap
(打开 LDAP)apigee-postgresql
(PostgreSQL 数据库)apigee-qpidd
(Qpidd)apigee-sso
(边缘单点登录)apigee-zookeeper
(ZooKeeper)edge-management-server
(管理服务器)edge-management-ui
(新版 Edge 界面)edge-message-processor
(消息处理器)edge-postgres-server
(Postgres 服务器)edge-qpid-server
(Qpid Server)edge-router
(边缘路由器)edge-ui
(传统版界面)
要继续监控该组件,请执行以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name
取消监控所有组件(但不停止它们)
如需取消监控所有组件(但不停止它们),请执行以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
要继续监控所有组件,请执行以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
停止所有组件并取消监控它们
要停止所有组件并取消监控它们,请执行以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
/opt/apigee/apigee-service/bin/apigee-all stop
要重新启动所有组件并恢复监控,请执行以下命令:
/opt/apigee/apigee-service/bin/apigee-all start
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
如需停止监控所有组件,您还可以停用 apigee-monit
,如
停止、启动和停用 apigee-monit。
停止、启动和停用 apigee-monit
与任何服务一样,您可以使用 apigee-service
来停止和启动 apigee-monit
命令。此外,apigee-monit
还支持 unmonitor
命令,
暂时停止监控组件。
停止 apigee-monit
如需停止 apigee-monit
,请使用以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop
启动 apigee-monit
如需启动 apigee-monit
,请使用以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start
停用 apigee-monit
您可以使用以下命令暂停监控节点上的所有组件:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
或者,您可以从节点中卸载 apigee-monit
,从而永久停用它,如下所述
在卸载 apigee-monit
中找到。
卸载 apigee-monit
如需卸载 apigee-monit
,请执行以下操作:
- </ph>
- 修改以下文件:
/opt/apigee/customer/application/monit.properties
如果该文件不存在,请创建该文件并将所有者设置为“apigee”用户:
chown apigee:apigee /opt/apigee/customer/application/monit.properties
请注意,如果该文件已存在,则可能还定义了其他配置属性 范围之外的内容。除了 以上所列。
使用新值设置或替换属性值。
例如,如需将日志文件的位置更改为
/tmp
,请添加或修改 以下属性:conf_monit_monit_logdir=/tmp/apigee-monit.log
- 将所做的更改保存到
monit.properties
文件。 - 使用以下命令重新加载
apigee-monit
:/opt/apigee/apigee-service/bin/apigee-service apigee-monit reload
如果
apigee-monit
未重启,请检查日志文件是否存在错误(如 访问apigee-monit
日志文件。 - 对集群中的每个节点重复此过程。
- 通过复制
apigee-monit.cron
添加cron
支持 切换到/etc/cron.d
目录,如以下示例所示:cp /opt/apigee/apigee-monit/cron/apigee-monit.cron /etc/cron.d/
- 打开
apigee-monit.cron
文件以进行修改。apigee-monit.cron
文件定义要执行的cron
作业 以及执行该作业的频率。以下示例显示了默认的 值:# Cron entry to check if monit process is running. If not start it */2 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
此文件使用以下语法,其中前五个字段定义了
apigee-monit
执行操作:min hour day_of_month month day_of_week task_to_execute
例如,默认执行时间为
*/2 * * * *
,指示cron
,每 2 分钟检查一次apigee-monit
进程。执行
cron
作业的频率不能超过每分钟一次。如需详细了解如何使用
cron
,请参阅您服务器操作系统的文档或手册 页面。 - 请更改
cron
设置,使其符合贵组织的政策。例如, 将执行频率更改为每 5 分钟一次,将作业定义设置为以下内容:*/5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
- 保存
apigee-monit.cron
文件。 - 对集群中的每个节点重复此过程。
cron
作业定义后面有一个空白行。- 该文件中仅定义了一个
cron
作业。(注释行 count.) - 删除
/etc/cron.d/apigee-monit.cron
文件:sudo rm /etc/cron.d/apigee-monit.cron
如果出现以下情况,则必须重新复制 以后想重新启用
cron
来观看apigee-monit
。OR
- 修改
/etc/cron.d/apigee-monit.cron
文件并注释掉该作业 定义“#”到行首;例如:# 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
conf_monit_httpd_port
httpd
守护程序的端口。apigee-monit
将 httpd
用作其信息中心
应用,以及启用报告/摘要。默认值为 2812。
conf_monit_httpd_allow
httpd
守护程序的请求的限制。apigee-monit
人使用
httpd
以运行其信息中心应用并启用报告/摘要。该值必须
指向 localhost(运行 httpd
的主机)。
如需要求请求包含用户名和密码,请使用以下语法:
conf_monit_httpd_allow=allow username:"password"\nallow 127.0.0.1
添加用户名和密码时,请插入“\n”。错误做法 在值中插入实际的换行符或回车符。
conf_monit_monit_datadir
conf_monit_monit_delay_time
apigee-monit
在首次加载到内存中之后等待的时间
。这仅影响 apigee-monit
第一次进程检查。conf_monit_monit_logdir
apigee-monit
日志文件的位置。conf_monit_monit_retry_time
apigee-monit
尝试检查每个进程的频率;默认值为 60
。conf_monit_monit_rundir
apigee-monit
将其用于检查进程。如需自定义默认的 apigee-monit
控件设置,请执行以下操作:
请注意,这仅适用于非 Edge 组件。您无法自定义组件配置 适用于 Edge 组件。
访问 apigee-monit 日志文件
apigee-monit
会将所有活动(包括事件、重启、配置更改和提醒)记录到日志中
文件。
日志文件的默认位置为:
/opt/apigee/var/log/apigee-monit/apigee-monit.log
您可以通过自定义 apigee-monit
控件来更改默认位置。
设置。
日志文件条目的格式如下:
'edge-message-processor' trying to restart [UTC Dec 14 16:20:42] info : 'edge-message-processor' trying to restart 'edge-message-processor' restart: '/opt/apigee/apigee-service/bin/apigee-service edge-message-processor monitrestart'
您无法自定义 apigee-monit
日志文件条目的格式。
使用 apigee-monit 查看汇总状态
apigee-monit
包含以下命令,可为您提供有关
组件:
命令 | 用法 |
---|---|
report |
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report |
summary |
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary |
以下各部分更详细地介绍了这些命令。
报告
report
命令可为您提供已启用的组件数量的汇总摘要。
节点上发生故障、当前正在初始化或当前不受监控。通过
以下示例会调用 report
命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
以下示例展示了 AIO(一体式)上的 report
输出
配置:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report up: 11 (100.0%) down: 0 (0.0%) initialising: 0 (0.0%) unmonitored: 1 (8.3%) total: 12 services
在此示例中,apigee-monit
将 12 项服务中的 11 项报告为运行中。一项服务
目前正在监控中。
首次执行代码时,您可能会收到 Connection refused
错误,
report
命令。在本示例中,等待
conf_monit_monit_delay_time
属性,然后重试。
摘要
summary
命令会列出每个组件并提供其状态。以下
示例调用 summary
命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
以下示例展示了 AIO(一体式)上的 summary
输出
配置:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary Monit 5.25.1 uptime: 4h 20m Service Name Status Type host_name OK System apigee-zookeeper OK Process apigee-cassandra OK Process apigee-openldap OK Process apigee-qpidd OK Process apigee-postgresql OK Process edge-ui OK Process edge-qpid-server OK Remote Host edge-postgres-server OK Remote Host edge-management-server OK Remote Host edge-router OK Remote Host edge-message-processor OK Remote Host
如果您在首次执行 Connection refused
summary
命令,请尝试等待
conf_monit_monit_delay_time
属性,然后重试。
监控 apigee-monit
最佳做法是定期检查每个节点上是否运行着 apigee-monit
。
如需检查 apigee-monit
是否正在运行,请使用以下命令:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
Apigee 建议您在运行 apigee-monit
的每个节点上定期发出此命令。
实现此目的的方法之一是使用 cron
等实用程序,该实用程序在
预定义的时间间隔。
如需使用 cron
监控 apigee-monit
,请执行以下操作:
如果 cron
未开始监控 apigee-monit
,请检查并确保:
如果您想停止或暂时停用“apigee-monit
”,则必须停用此“cron
”作业。
否则 cron
会重启 apigee-monit
。
如需停用 cron
,请执行以下操作之一: