2.5. 关于向量
Vector 是一个日志收集器,作为日志记录子系统的 Fluentd 的替代选择。
以下输出受支持:
-
elasticsearch.一个外部 Elasticsearch 实例。elasticsearch输出可以使用 TLS 连接。 -
kafka.Kafka 代理。kafka输出可以使用不安全的或 TLS 连接。 -
loki。Loki,可横向扩展、高度可用、多租户日志聚合系统。
2.5.1. 启用向量
默认不启用向量。使用以下步骤在 Red Hat OpenShift Service on AWS 集群上启用 Vector。
先决条件
- Red Hat OpenShift Service on AWS: 4.13
- Red Hat OpenShift 的 logging 子系统: 5.4
流程
编辑
openshift-logging项目中的ClusterLogging自定义资源(CR):$ oc -n openshift-logging edit ClusterLogging instance
-
为
ClusterLogging自定义资源(CR)添加logging.openshift.io/preview-vector-collector: enabled注解。 -
在
ClusterLogging自定义资源(CR)中添加vector作为集合类型。
apiVersion: "logging.openshift.io/v1"
kind: "ClusterLogging"
metadata:
name: "instance"
namespace: "openshift-logging"
annotations:
logging.openshift.io/preview-vector-collector: enabled
spec:
collection:
logs:
type: "vector"
vector: {}其他资源
2.5.2. 收集器功能
表 2.1. 日志源
| 功能 | Fluentd | Vector |
|---|---|---|
| 应用程序容器日志 | ✓ | ✓ |
| 特定于应用程序的路由 | ✓ | ✓ |
| 命名空间划分应用程序特定路由 | ✓ | ✓ |
| Infra 容器日志 | ✓ | ✓ |
| Infra 日志 | ✓ | ✓ |
| kube API 审计日志 | ✓ | ✓ |
| OpenShift API 审计日志 | ✓ | ✓ |
| 打开虚拟网络 (OVN) 审计日志 | ✓ | ✓ |
表 2.2. 输出
| 功能 | Fluentd | Vector |
|---|---|---|
| Elasticsearch v5-v7 | ✓ | ✓ |
| Fluent 转发 | ✓ | |
| Syslog RFC3164 | ✓ | IANA (logging 5.7+) |
| Syslog RFC5424 | ✓ | IANA (logging 5.7+) |
| Kafka | ✓ | ✓ |
| Cloudwatch | ✓ | ✓ |
| Loki | ✓ | ✓ |
| HTTP | ✓ | IANA (logging 5.7+) |
表 2.3. 授权和身份验证
| 功能 | Fluentd | Vector |
|---|---|---|
| Elasticsearch 证书 | ✓ | ✓ |
| Elasticsearch 用户名/密码 | ✓ | ✓ |
| Cloudwatch keys | ✓ | ✓ |
| Cloudwatch STS | ✓ | ✓ |
| Kafka 证书 | ✓ | ✓ |
| Kafka 用户名/密码 | ✓ | ✓ |
| Kafka SASL | ✓ | ✓ |
| Loki bearer 令牌 | ✓ | ✓ |
表 2.4. 规范化和转换
| 功能 | Fluentd | Vector |
|---|---|---|
| ViaQ 数据模型 - 应用程序 | ✓ | ✓ |
| ViaQ 数据模型 - infra | ✓ | ✓ |
| ViaQ 数据模型 - infra(journal) | ✓ | ✓ |
| ViaQ 数据模型 - Linux 审计 | ✓ | ✓ |
| ViaQ 数据模型 - kube-apiserver 审计 | ✓ | ✓ |
| ViaQ 数据模型 - OpenShift API 审计 | ✓ | ✓ |
| ViaQ 数据模型 - OVN | ✓ | ✓ |
| loglevel Normalization | ✓ | ✓ |
| JSON 解析 | ✓ | ✓ |
| 结构化索引 | ✓ | ✓ |
| 多行错误检测 | ✓ | ✓ |
| multicontainer/ split 索引 | ✓ | ✓ |
| Flatten 标签 | ✓ | ✓ |
| CLF 静态标签 | ✓ | ✓ |
表 2.5. Tuning
| 功能 | Fluentd | Vector |
|---|---|---|
| Fluentd readlinelimit | ✓ | |
| Fluentd 缓冲 | ✓ | |
| - chunklimitsize | ✓ | |
| - totallimitsize | ✓ | |
| - overflowaction | ✓ | |
| - flushthreadcount | ✓ | |
| - flushmode | ✓ | |
| - flushinterval | ✓ | |
| - retrywait | ✓ | |
| - retrytype | ✓ | |
| - retrymaxinterval | ✓ | |
| - retrytimeout | ✓ |
表 2.6. 可见性
| 功能 | Fluentd | Vector |
|---|---|---|
| 指标 | ✓ | ✓ |
| Dashboard | ✓ | ✓ |
| 警报 | ✓ |
表 2.7. 其它
| 功能 | Fluentd | Vector |
|---|---|---|
| 全局代理支持 | ✓ | ✓ |
| x86 支持 | ✓ | ✓ |
| ARM 支持 | ✓ | ✓ |
| IPv6 支持 | ✓ | ✓ |
| 日志事件缓冲 | ✓ | |
| 断开连接的集群 | ✓ | ✓ |