3.10. 使用 Telemetry 服务进行容量 metering
OpenStack Telemetry 服务提供可用于计费、收费和回放用途的使用指标。第三方应用也可以使用此类指标数据来规划集群上的容量,也可以使用 OpenStack Heat 自动扩展虚拟实例。如需更多信息,请参阅 实例的自动扩展。
您可以使用 Ceilometer 和 Gnocchi 的组合来监控和警报。这在小型集群中支持,以及已知的限制。对于实时监控,Red Hat OpenStack Platform 附带了提供指标数据的代理,并可以被独立的监控基础架构和应用程序使用。如需更多信息,请参阅监控工具配置。
3.10.1. 查看测量结果 复制链接链接已复制到粘贴板!
列出特定资源的所有测量结果:
openstack metric measures show --resource-id UUID METER_NAME
# openstack metric measures show --resource-id UUID METER_NAME
仅列出特定资源的测量结果,位于时间戳范围内:
openstack metric measures show --aggregation mean --start <START_TIME> --stop <STOP_TIME> --resource-id UUID METER_NAME
# openstack metric measures show --aggregation mean --start <START_TIME> --stop <STOP_TIME> --resource-id UUID METER_NAME
时间戳变量 <START_TIME> 和 <STOP_TIME> 使用格式 iso-dateThh:mm:ss。
3.10.2. 创建新测量结果 复制链接链接已复制到粘贴板!
您可以使用测量结果将数据发送到 Telemetry 服务,它们不需要与之前定义的量表对应。例如:
openstack metrics measures add -m 2015-01-12T17:56:23@42 --resource-id UUID METER_NAME
# openstack metrics measures add -m 2015-01-12T17:56:23@42 --resource-id UUID METER_NAME
3.10.3. 示例:查看云使用测量结果 复制链接链接已复制到粘贴板!
本例显示每个项目的所有实例的平均内存用量。
openstack metric measures aggregation --resource-type instance --groupby project_id -m memory
# openstack metric measures aggregation --resource-type instance --groupby project_id -m memory
3.10.4. 查看现有警报 复制链接链接已复制到粘贴板!
要列出现有的 Telemetry 警报,请使用 aodh
命令。例如:
若要列出分配给资源的计量,请指定资源的 UUID (实例、镜像或卷等)。例如:
gnocchi resource show 5e3fcbe2-7aab-475d-b42c-a440aa42e5ad
# gnocchi resource show 5e3fcbe2-7aab-475d-b42c-a440aa42e5ad
3.10.5. 创建警报 复制链接链接已复制到粘贴板!
您可以使用 aodh
创建在达到阈值时激活的警报。在本例中,警报激活,并在单个实例的平均 CPU 使用率超过 80% 时添加一个日志条目。查询用于隔离特定实例的 id (94619081-abf5-4f1f-81c7-9cedaa872403
)用于监控目的:
要编辑现有的阈值警报,请使用 aodh alarm update
命令。例如,将警报阈值增加到 75%:
aodh alarm update --name cpu_usage_high --threshold 75
# aodh alarm update --name cpu_usage_high --threshold 75
3.10.6. 禁用或删除警报 复制链接链接已复制到粘贴板!
禁用警报:
aodh alarm update --name cpu_usage_high --enabled=false
# aodh alarm update --name cpu_usage_high --enabled=false
删除警报:
aodh alarm delete --name cpu_usage_high
# aodh alarm delete --name cpu_usage_high
3.10.7. 示例:监控实例的磁盘活动 复制链接链接已复制到粘贴板!
以下示例演示了如何使用 Aodh 警报来监控特定项目中包含的所有实例的累积磁盘活动。
1.检查现有项目,然后选择您需要监控的项目的适当 UUID。本例使用 admin
项目:
2.使用项目的 UUID 创建一个警报,用于分析 admin
项目中实例生成的所有读取请求的 sum ()
(可以使用 --query
参数进行进一步的其余部分)。
3.10.8. 示例:监控 CPU 用量 复制链接链接已复制到粘贴板!
如果要监控实例的性能,首先要检查 gnocchi 数据库以确定您可以监控哪些指标,如内存或 CPU 使用量。例如,针对实例运行 gnocchi 资源显示
,以识别可以监控哪些指标:
查询特定实例 UUID 的可用指标:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 因此,
metrics
值列出了您可以使用 Aodh 警报监控的组件,如cpu_util
。要监控 CPU 用量,您需要
cpu_util
指标。查看此指标的更多信息:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
archive_policy
- 定义计算std, count, min, max, sum, mean
值的聚合间隔。
-
使用 Aodh 创建查询
cpu_util
的监控任务。此任务将根据您指定的设置触发事件。例如,在延长持续时间内,当实例的 CPU 高峰超过 80% 时引发日志条目:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
compare-operator
-ge
运算符定义,如果 CPU 使用率大于(或等于) 80%,警报将触发。 -
granularity
- 指标关联了一个归档策略,策略可以具有各种粒度(例如,1 小时有 5 分钟的,一个月有 1 小时的聚合)。granularity
值必须与归档策略中描述的持续时间匹配。 -
evaluation-periods
- 在警报触发前需要传递的粒度
周期数。例如,将此值设置为2
意味着,在警报触发前,CPU 使用率需要超过 80%。 [U'log://']
- 这个值会将事件记录到 Aodh 日志文件。注意您可以定义在警报触发时运行的不同操作(
alarm_actions
),以及返回正常状态(ok_actions
),如 Webhook URL。
-
要检查您的警报是否已触发,请查询警报的历史记录:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.10.9. 管理资源类型 复制链接链接已复制到粘贴板!
以前硬编码的 Telemetry 资源类型现在可以由 gnocchi 客户端管理。您可以使用 gnocchi 客户端创建、查看和删除资源类型,您可以使用 gnocchi API 更新或删除属性。
1.创建新的 resource-type :
2.查看 resource-type 的配置:
3.删除 resource-type :
gnocchi resource-type delete testResource01
$ gnocchi resource-type delete testResource01
如果资源正在使用,则无法删除资源类型。