第 8 章 日志记录安全组操作
在 OpenShift (RHOSO)环境的 Red Hat OpenStack Services 中,要监控虚拟机(VM)实例的流量流,您可以为安全组创建数据包日志。每个日志生成有关数据包流事件的数据流,并将其附加到启动虚拟机实例的 Compute 主机上的通用日志文件。
您可以将任何实例端口与一个或多个安全组关联,并为每个安全组定义一个或多个规则。例如,您可以创建一个规则,允许安全组中任何虚拟机的入站 SSH 流量。您可以在同一安全组中创建另一条规则,以允许该组中的虚拟机启动和响应 ICMP (ping)消息。
然后,您可以创建日志来记录数据包流事件的组合。例如,以下命令会创建一个日志来捕获安全组 security-group1
中的所有 ACCEPT
事件。
openstack network log create my-log1 \ --resource-type security_group \ --resource security-group1 \ --event ACCEPT
$ openstack network log create my-log1 \
--resource-type security_group \
--resource security-group1 \
--event ACCEPT
您可以创建多个日志来捕获有关安全组和数据包流事件特定组合的数据。
您可以配置以下参数:
--resource-type
-
您必须将此必需参数设置为
security_group
。 --resource <security_group_name|security_group_ID>
- 可选:将日志限制为特定的安全组。如果没有指定资源,日志将从项目中指定端口上的所有安全组捕获事件。
--target <port_ID|port_name>
- 可选:将日志限制为安全组中的特定端口。如果没有指定目标,日志将从项目中的所有端口捕获事件。
--event
(要记录的事件类型)您可以选择记录以下数据包流事件:
DROP
:为每个丢弃的传入或传出会话记录一个DROP
日志条目。注意如果您在一个或多个安全组上记录丢弃的流量,网络服务会记录所有安全组上丢弃的流量。
-
ACCEPT
:为安全组允许的每个新会话记录一个ACCEPT
日志条目。 -
ALL
(拖放和接受):记录所有DROP
和ACCEPT
事件。如果没有设置 -eventACCEPT
或 -eventDROP
,则网络服务默认为ALL
。
网络服务将所有日志数据写入每个 Compute 节点上的同一文件中: /var/log/containers/openvswitch/ovn-controller.log
。
本节包含以下主题:
8.1. 验证安全组日志记录是否已启用 复制链接链接已复制到粘贴板!
要为网络数据包日志记录准备 Red Hat OpenStack Services on OpenShift (RHOSO)环境,请确保网络服务(neutron)已加载日志记录服务插件和日志扩展。
先决条件
-
在工作站上安装了
oc
命令行工具。 -
以具有
cluster-admin
权限的用户身份登录到可访问 RHOSO 控制平面的工作站。
流程
从您的工作站访问 OpenStackClient pod 的远程 shell:
oc rsh -n openstack openstackclient
$ oc rsh -n openstack openstackclient
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令:
openstack extension list --network --max-width=72 | grep logging
$ openstack extension list --network --max-width=72 | grep logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果网络服务载入了日志记录服务插件和扩展,输出包括:
| Logging API | logging | Provides a logging API |
| Logging API | logging | Provides a logging API |
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 openstack extension list 输出不包括
Logging API 扩展
,请更新 control plane:创建 YAML 文件并添加以下内容:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用更新的
OpenStackControlPlane
CR 配置:oc apply -f <control_plane_update.yaml>
$ oc apply -f <control_plane_update.yaml>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<control_plane_updates.yaml
> 替换为包含您更新的 YAML 文件的名称。
-
将
等待 RHOCP 创建与
OpenStackControlPlane
CR 相关的资源。检查 control plane 部署的状态:oc get openstackcontrolplane -n openstack
$ oc get openstackcontrolplane -n openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME STATUS MESSAGE openstack-control-plane Unknown Setup started
NAME STATUS MESSAGE openstack-control-plane Unknown Setup started
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当状态为 "Setup complete" 时,会创建 OpenStackControlPlane 资源。
提示将
-w
选项附加到get
命令,以跟踪部署进度。
验证
-
通过重复步骤 1 确认网络服务已成功载入
Logging API 扩展
。
其他资源
- 命令行界面参考中的 扩展列表