计量网络服务 - 虚拟专用网络即服务¶
https://blueprints.launchpad.net/ceilometer/+spec/ceilometer-meter-vpnaas
问题描述¶
Ceilometer 目前不支持计量虚拟专用网络即服务 (VPNaaS)。云提供商/运营商需要监控和计量网络服务的各个方面。本规范涉及对虚拟专用网络即服务 (VPNaaS) 进行计量。
提议的变更¶
用于计量 VPNaaS 的测量指标分为提供商级别和业务级别两类。以下是计划包含在 Ceilometer 中的测量指标
提供商级别指标
VPN 类型(Openswan、Cisco 等)- 取决于 neutron 中的 flavor 框架(参见依赖项)
业务级别指标
VPN 服务状态
连接数
带宽 - 需要修改 neutron VPNaaS(参见依赖项)
指标定义
名称 |
类型 |
单位 |
来源 |
|---|---|---|---|
network.services.vpn |
g |
vpn |
p |
network.services.vpn.type |
g |
vpn |
p |
network.services.vpn.connections |
g |
连接/秒 |
p |
network.services.vpn.incoming.bytes |
c |
B |
p |
network.services.vpn.outgoing.bytes |
c |
B |
p |
g = gauge(瞬时值), c = cumulative(累积值), p = pollster(轮询器)
状态以枚举式的值形式捕获在样本 volume 中,而不是资源元数据中,针对每个 VPN。
与这些指标相关的资源作为资源发现的一部分被捕获。Neutron 暴露了 API 以捕获这些数据,这些数据通过 Ceilometer 侧的轮询器调用。Neutron 服务侧的通知信息比较有限。随着我们在 Neutron 侧添加这些通知消息,我们将增强 Ceilometer 侧以通过通知处理程序捕获这些事件。
作为 Neutron 侧的参考实现,将有一个 API 调用来检索诸如连接数和带宽之类的统计信息。
替代方案¶
无
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
Pipeline 影响¶
需要为每个共享发现扩展的轮询器组在 pipeline.yaml 中包含新的来源。以下是一个示例
sources:
- name: fw_source
interval: 600
meters:
- "network.services.vpn"
discovery:
- "vpn"
sinks:
- network_services_sink
类似地,我们将为连接数和带宽提供来源。
其他最终用户影响¶
最终用户应该能够通过现有的 API 和 CLI 进行交互。
将这些指标暴露在 horizon 仪表板上会很好,但这超出了本规范的范围。
性能/可扩展性影响¶
此更改不应对性能/可扩展性产生重大影响。
其他部署影响¶
无
开发者影响¶
此功能对开发人员的持续维护应该产生最小的影响
实现¶
负责人¶
- 主要负责人
pkilambi
- 其他贡献者
无
- 持续维护者
pkilambi
工作项¶
在 neutron_client.py 中添加 neutron 客户端 API 以查询 VPNaaS 调用
添加新的轮询器和通知处理程序
添加单元/集成测试覆盖
更新测量文档
未来生命周期¶
围绕 VPNaaS 和其他网络服务的新的测量指标将是网络轮询器和通知的一部分。因此,持续维护将由 Ceilometer 团队处理,包括我自己。
依赖项¶
Neutron 中的 Flavor 框架用于确定防火墙的类型。- https://blueprints.launchpad.net/neutron/+spec/neutron-flavor-framework
需要 neutron VPNaaS 侧的命中计数统计调用,以支持连接数和带宽。
测试¶
将添加单元和集成测试,以涵盖必要的 neutron_client 调用、轮询器和通知。
文档影响¶
需要更新测量文档,以反映从 VPNaaS API 和通知中捕获的新计量器。