(本文所有提及OSP=OpenStack Platform)
1 分析自动扩展
1)Ceilometer简介:
- Ceilometer是OpenStack 遥测服务,为基于OpenStack 的云提供用户级使用情况数据
- 遥测服务收集的数据可用于记账、系统监控和警报等
- Ceilometer从现有OpenStack 组件或底层技术(如Libvirt)发送的通知中
- 收集数据收集的数据汇总到MongoDB
- 数据库中收集的数据可用于触发警报,能用于自动收缩或扩展一组实例,还可用于监控OpenStack资源
2)遥测术语
- 通知代理: notification agent获取OpenStack 通知总线上生成的事件,并将它们转换为遥测样本(sample)
- 轮询代理: polling agent是在控制节点或者计算节点上运行的服务,用于测量使用情况并将结果发送到收集器
- 数据存储:datastore记录遥测服务所收集数据的存储系统
- 量表: meter是针对资源的不同度量。例如,一个实例具有多个量表,如实例正常运行时间、CPU使用量、磁盘I/O等。计量: metering是收集度量信息的过程
- 通知: notification是来自外部OpenStack 组件的消息,如Nova或Glance 的信息。通知一般通过通知器组件发送到遥测服务并被其接收。
- 资源: resource资源是被计量的OpenStack 资源,如实例、卷或镜像。样本: sample特定遥测量表的数据样本,如实例的CPU使用量
3)通过遥测跟踪资源:
- 管理员可以根据部署的OpenStack服务,使用遥测服务来跟踪其架构中的各种资源
- 遥测数据收集包括:
- 项目的VCPU数
- CPU使用量(百分比)
- 正在运行的实例数
- 已使用的内存大小
- 传入和传出的网络数据包数
4)遥测数据存储:
- 在数据存储中存储事件、样本、警报定义和警报
- 随着指标数据的增多,存储可能会成为性能瓶颈,影响遥测基础架构的性能推荐将指标数据存储在遥测数据库外
- OpenStack遥测服务支持许多后端服务来存储指标、警报和事件数据
Gnocchi :
Gnocchi是用于存储指标和资源数据的时间序列数据库
时间序列数据库对基于时间戳索弓|的数组进行了优化
此数据库是OpenStack项目的一部分,能够存储统计数据和大量指标数据此数据库可以轻松扩展,以满足云计算的要求
Aodh :
Aodh用于根据警报定义来触发警报操作
警报操作可生成HTTP回应或日志记录,或利用Zaqar 发送通知到消息传递服务
Panko :
Panko存储事件数据,用户能够捕获给定时间上OpenStack资源的状态信息此存储可以扩展,并可存储生命周期较长(与遥测服务相比)的数据
5)遥测服务:
遥测服务构建