This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.5. 使用 syslog 协议转发日志
您可以使用 syslog RFC3164 或 RFC5424 协议将日志副本发送到配置为接受该协议的外部日志聚合器(替代默认的 Elasticsearch 日志存储或作为它的补充)。您需要配置外部日志聚合器(如 syslog 服务器)来接收来自 OpenShift Container Platform 的日志。
要使用 syslog 协议配置日志转,,请创建一个 ClusterLogForwarder 自定义资源(CR),并将一个或多个输出输出到使用这些输出的 syslog 服务器和管道。syslog 输出可以使用 UDP、TCP 或 TLS 连接。
另外,您可以使用配置映射使用 syslog RFC3164 协议转发日志。但是,此方法在 OpenShift Container Platform 中已弃用,并将在以后的发行版本中删除。
先决条件
- 您必须有配置为使用指定协议或格式接收日志数据的日志服务器。
流程
创建一个类似如下的
ClusterLogForwarderCR YAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterLogForwarderCR 的名称必须是instance。- 2
ClusterLogForwarderCR 的命名空间必须是openshift-logging。- 3
- 指定输出的名称。
- 4
- 指定
syslog类型。 - 5
- 可选。指定以下列出的 syslog 参数。
- 6
- 指定外部 syslog 实例的 URL 和端口。您可以使用
udp(不安全)、tcp(不安全)或者tls(安全 TCP)协议。如果启用了使用 CIDR 注解的集群范围代理,输出必须是服务器名称或 FQDN,而不是 IP 地址。 - 7
- 如果使用
tls前缀,您必须为 TLS 通信指定端点所需的 secret 名称。secret 必须存在于openshift-logging项目中,且必须具有指向它们所代表的相应证书的 tls.crt、tls.key 和 ca-bundle.crt 的键。 - 8
- 可选:指定管道的名称。
- 9
- 指定使用该管道转发哪些日志类型:
application、infrastructure或audit。 - 10
- 指定要与该管道搭配使用的输出来转发日志。
- 11
- 可选:指定将日志转发到内部 Elasticsearch 实例的
default输出。 - 12
- 可选:转发结构化的 JSON 日志条目作为 JSON 对象,在
structured项。日志条目必须包含有效的结构化 JSON;否则,OpenShift Logging 会删除structured字段,并将日志条目发送到默认索引app-00000x。 - 13
- 可选:字符串。要添加到日志中的一个或多个标签。对值加引号(如 "true"),以便它们被识别为字符串值,而不是作为布尔值。
- 14
- 可选:配置多个输出,将日志转发到任何受支持类型的其他外部日志聚合器:
- 可选。描述管道的名称。
-
inputRefs是使用管道转发的日志类型:application、infrastructure或audit。 -
outputRefs是要使用的输出名称。 - 可选:字符串。要添加到日志中的一个或多个标签。
创建 CR 对象。
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat OpenShift Logging Operator 会重新部署 Fluentd Pod。如果 pod 没有重新部署,您可以删除 Fluentd pod 来强制重新部署。
oc delete pod --selector logging-infra=fluentd
$ oc delete pod --selector logging-infra=fluentd
7.5.1. syslog 参数 复制链接链接已复制到粘贴板!
您可以为 syslog 输出配置以下内容。如需更多信息,请参阅 syslog RFC3164 或 RFC5424 RFC。
facility: syslog facility.该值可以是十进制整数,也可以是区分大小写的关键字:
-
0或kern用于内核信息 -
1或user代表用户级信息(默认)。 -
2或mail用于邮件系统。 -
3或daemon用于系统守护进程 -
4或auth用于安全/身份验证信息 -
5或syslog用于 syslogd 内部生成的信息 -
6或lpr用于行打印机子系统 -
7或news用于网络新闻子系统 -
8或uucp用于 UUCP 子系统 -
9或cron用于 clock 守护进程 -
10或authpriv用于安全身份验证信息 -
11或ftp用于 FTP 守护进程 -
12或ntp用于 NTP 子系统 -
13或security用于 syslog audit 日志 -
14或console用于 syslog alert 日志 -
15或solaris-cron用于 scheduling 守护进程 -
16-23或local0-local7用于本地使用的工具
-
可选。
payloadKey:用作 syslog 消息有效负载的记录字段。注意配置
payloadKey参数可防止将其他参数转发到 syslog。- RFC:用于使用 syslog 发送日志的 RFC。默认为 RFC5424。
severity:设置传出的 syslog 记录的syslog 的严重性。该值可以是十进制整数,也可以是区分大小写的关键字:
-
0或Emergency用于代表系统不可用的信息 -
1或Alert用于代表立即执行操作的信息 -
2或Critical用于代表关键状况的信息 -
3或Error用于代表错误状况的信息 -
4或Warning用于代表警告条件的信息 -
5或Notice用于代表正常但存在重要条件的信息 -
6或Informational用于代表提示信息的信息 -
7或Debug用于代表调试级别的信息(默认)
-
- tag:Tag 指定记录字段,用作 syslog 消息上的标签。
- trimPrefix:从标签中删除指定的前缀。