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