第 5 章 管理负载均衡服务实例日志
您可以启用租户流日志记录或阻止日志记录到 amphora 本地文件系统。您还可以将管理或租户流日志转发到一组容器中的 syslog 接收器,或者在您选择的端点处其他 syslog 接收器。
当您选择使用 TCP syslog 协议时,您可以在主端点失败时为管理和租户日志卸载指定一个或多个次要端点。
另外,您可以控制一系列其他日志功能,如设置 syslog facility 值、更改租户流日志格式,以及广泛的管理日志记录范围,使其包含来自内核和 cron 的源的日志。
5.1. 启用负载均衡服务实例管理日志卸载
默认情况下,负载均衡服务实例(amphorae)将日志存储在 systemd 日志中的本地机器上。但是,您可以指定 amphorae 卸载日志到 syslog 接收器,以汇总管理日志。日志卸载可让管理员进入日志的一个位置,并在轮转 amphorae 时保留日志。
流程
-
以
stack
用户身份登录 undercloud 主机。 提供 undercloud 凭证文件:
$ source ~/stackrc
创建自定义 YAML 环境文件。
示例
$ vi /home/stack/templates/my-octavia-environment.yaml
在
parameter_defaults
下的 YAML 环境文件中,将OctaviaLogOffload
设置为true
。parameter_defaults: OctaviaLogOffload: true ...
注意amphorae 卸载管理日志默认使用
local1
的 syslog 工具值,除非您使用OctaviaAdminLogFacility
参数指定另一个值。有效值为 0 iwl-wagon7。示例
parameter_defaults: OctaviaLogOffload: true OctaviaAdminLogFacility: 2 ...
amphorae 仅转发与负载均衡器相关的管理日志,如 haproxy admin 日志、keepalived 和 amphora 代理日志。如果要配置 amphorae 从 amphorae 发送所有管理日志,如内核、系统和安全日志,请将
OctaviaForwardAllLogs
设置为true
。示例
parameter_defaults: OctaviaLogOffload: true OctaviaForwardAllLogs: true ...
选择日志协议:UDP (默认)或 TCP。
如果主端点失败,则 amphorae 只有在日志协议是 TCP 时将其日志发送到二级端点。
parameter_defaults: OctaviaLogOffload: true OctaviaConnectionLogging: false OctaviaLogOffloadProtocol: tcp ...
amphorae 使用由编排服务(heat)定义的一组默认容器,其中包含侦听日志消息的 syslog 接收器。如果要使用不同的端点集合,您可以使用
OctaviaAdminLogTargets
参数指定它们。为租户流日志卸载配置的端点可以是用于管理日志卸载的端点。
另外,如果您的日志卸载协议是 TCP,如果第一个端点无法访问,则 amphorae 将按照您列出它们的顺序尝试额外的端点,直到连接成功为止。
OctaviaAdminLogTargets: <ip_address>:<port>[, <ip_address>:<port>]
示例
parameter_defaults: OctaviaLogOffload: true OctaviaLogOffloadProtocol: tcp OctaviaAdminLogTargets: 192.0.2.1:10514, 2001:db8:1::10:10514 ...
默认情况下,当您启用日志卸载时,租户流日志也会被卸载。
如果要禁用租户流日志卸载,请将
OctaviaConnectionLogging
设置为false
。示例
parameter_defaults: OctaviaLogOffload: true OctaviaConnectionLogging: false ...
运行部署命令,并包含核心 heat 模板、环境文件以及新的自定义环境文件。
重要环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源具有优先权。
示例
$ openstack overcloud deploy --templates \ -e [your-environment-files] \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/octavia.yaml \ -e /home/stack/templates/my-octavia-environment.yaml
验证
-
除非使用
OctaviaAdminLogTargets
或OctaviaTenantLogTargets
指定特定端点,否则 amphorae 卸载日志位于与其他 RHOSP 日志相同的位置(/var/log/containers/octavia-amphorae/
)。 检查以下日志文件是否存在适当的位置:
-
用于管理日志的 Octavia-amphora.log
-- 日志文件。 -
(如果启用)
octavia-tenant-traffic.log
-- Log 文件用于租户流量流日志。
-
其他资源
- 第 5.5 节 “负载均衡服务实例日志的 Heat 参数”
- 自定义 Red Hat OpenStack Platform 部署 指南中的环境文件 https://access.redhat.com/documentation/zh-cn/red_hat_openstack_platform/17.1/html/customizing_your_red_hat_openstack_platform_deployment/assembly_configuring-the-overcloud-with-the-orchestration-service#con_environment-files_understanding-heat-templates
- 在自定义 Red Hat OpenStack Platform 部署 指南中的 overcloud 创建中包括环境文件