Ceilometer/blueprints/在Ceilometer中添加计费
目录
简介
此蓝图旨在为私有云设施的管理员提供查看已启动实例的用量和计费详情。管理员可以查看该项目每个实例的项目级计费详情。实例的资源使用情况将以磁盘使用量、网络使用量和 CPU 使用量来衡量。将计算每个项目的总成本。管理员可以创建资费方案。资费方案将根据实例的使用情况定义费用。任何资费方案都可以应用于任何实例以计算其计费成本。如果管理员未明确指定要使用的资费方案,将应用默认资费方案。为了获取每个租户/实例的计费详情,我们将添加更多的 Ceilometer API。Ceilometer 将以磁盘使用量、网络使用量和 CPU 使用量来衡量资源的使用情况。对于每个实例,将显示以下计量数据的用法详情
1. Disk Read Bytes 2. Disk Write Bytes 3. Disk Write requests 4. Disk Read requests 5. Network Outgoing bytes 6. Network Incoming bytes 7. Network outgoing Packets 8. Network incoming Packets 9. CPU
对于每个实例,Ceilometer 会创建这些累积计量器。
用户故事
- 查看已启动实例的计费详情的功能。
- 该项目每个实例的项目级详情。
- 实例的资源使用情况将以磁盘使用量、网络使用量和 CPU 使用量来衡量。
- 根据定义的资费方案计算每个项目的总成本。资费方案将定义 CPU、网络、磁盘使用量和风味的费用。
- 当实例启动并进入 ACTIVE 状态时,其计费将从那时开始。最初将应用默认资费方案。
- 查看/添加/应用和删除资费方案的功能。
- 这些用例仅供管理员访问
设计
数据库
在 ceilometer 中,我们将添加两个表到 ceilometer 数据库中,一个用于存储资费方案,另一个用于存储每个实例的计费详情。
1.资费方案表将具有以下属性
- Rateplaneid
- 姓名
- 每秒 CPU 成本
- 每 MB 磁盘成本
- 每 MB 网络成本
- 风味成本
2.实例账单表将具有以下属性
- resource_id
- ratepaln_id
- 计算账单的时间和日期
- resource_bill
API
| 查询类型 | 资源 |
|---|---|
| GET | V2/bills |
| GET | V2/bills/(instance_id) |
| GET | V2/rateplans |
| GET | V2/rateplans/(rateplan_id) |
| POST | V2/rateplans |
| DELETE | V2/rateplans/(rate_plan_id) |
| PUT | V2/billing/(instance_id)/rateplans/(rate_plan_id) |
实现
UI 变更
为了便于此,将在 OpenStack Horizon 中添加一个“计费”面板组。将在“计费”面板组中添加以下三个面板
1. 添加资费方案
选择“添加资费方案”后,将向管理员用户显示一个表单,要求提供每个风味和计量器的成本。只有管理员可以创建新的资费方案。资费方案将用于计算每个项目的账单
2. 查看资费方案
选择“查看资费方案”后,将向管理员用户显示可用资费方案的列表。
3. 用量和计费
从“计费”面板组中选择“用量和计费”面板后,将向管理员用户显示所有项目及其成本的列表。选择项目后,管理员可以查看该项目的用量和账单计算详情。
代码变更
将在 ceilometer 中添加计费 API。添加代码以在 horizon 中进行 ceilometer API 调用,以获取每个实例的计量数据。
测试/演示计划
这不必在规范接近 Beta 之前添加或完成。
BoF 议程和讨论
使用此部分在 BoF 期间记录笔记,如果将其包含在批准的规范中,请用于总结讨论的内容并记录被拒绝的选项。