logzio/logzio-fluentd在Kubernetes中,守护进程集(DaemonSet)确保部分或所有节点运行一个Pod副本。本实现通过Fluentd DaemonSet收集Kubernetes日志。Fluentd具备足够的灵活性,并拥有适当的插件可将日志分发到Logz.io等第三方平台。
logzio-k8s镜像预配置了Fluentd,可收集Kubernetes节点环境中的所有日志,并为日志附加适当的元数据。
您有两种部署选项:
logzio-daemonset-containerd.yaml下载并自定义。apiVersion: rbac.authorization.k8s.io/v1beta1。ClusterRole和ClusterRoleBinding的API版本位于logzio-daemonset-rbac.yaml和logzio-daemonset-containerd.yaml中。若运行K8S 1.17或更高版本,守护进程集默认使用apiVersion: rbac.authorization.k8s.io/v1,无需修改。logzio/logzio-fluentd拉取镜像。早期版本从logzio/logzio-k8s拉取。对于大多数环境,推荐使用默认配置。若环境需要,也可部署自定义配置。
守护进程集将部署在monitoring命名空间下。
shellkubectl create namespace monitoring
将Logz.io传输凭证保存为Kubernetes密钥。
将<<SHIPPING-TOKEN>>替换为要发送到的账户的令牌。
将<<LISTENER-HOST>>替换为您所在区域的监听器主机(例如listener.logz.io)。有关查找账户区域的更多信息,请参见账户区域。
shellkubectl create secret generic logzio-logs-secret \ --from-literal=logzio-log-shipping-token='<<SHIPPING-TOKEN>>' \ --from-literal=logzio-log-listener='https://<<LISTENER-HOST>>:8071' \ -n monitoring
对于RBAC集群:
shellkubectl apply -f [***] -f [***]
对于非RBAC集群:
shellkubectl apply -f [***] -f [***]
对于containerd运行时:
shellkubectl apply -f [***] -f [***]
等待一段时间让日志从系统传输到Logz.io,然后打开Kibana。
如果仍未看到日志,请参见日志传输故障排除。
您可以自定义Fluentd容器的配置,通过ConfigMap覆盖默认的守护进程集配置。
守护进程集将部署在该命名空间下。
shellkubectl create namespace monitoring
将Logz.io传输凭证保存为Kubernetes密钥。
将<<SHIPPING-TOKEN>>替换为要发送到的账户的令牌。
将<<LISTENER-HOST>>替换为您所在区域的监听器主机(例如listener.logz.io)。有关查找账户区域的更多信息,请参见账户区域。
shellkubectl create secret generic logzio-logs-secret \ --from-literal=logzio-log-shipping-token='<<SHIPPING-TOKEN>>' \ --from-literal=logzio-log-listener='https://<<LISTENER-HOST>>:8071' \ -n monitoring
有3种守护进程集选项:RBAC守护进程集、非RBAC守护进程集、Containerd。下载相关的守护进程集并在文本编辑器中打开进行编辑。
若要对Fluentd配置进行高级修改,可下载并编辑configmap yaml文件。
环境变量 以下环境变量可直接在守护进程集中编辑,无需修改ConfigMap。
| 参数 | 描述 |
|---|---|
| output_include_time | 默认值:true 若要在处理日志时附加时间戳,设为 true;否则设为false。 |
| LOGZIO_BUFFER_TYPE | 默认值:file 指定用作后端的插件。 |
| LOGZIO_BUFFER_PATH | 默认值:/var/log/Fluentd-buffers/stackdriver.buffer 缓冲区路径。 |
| LOGZIO_OVERFLOW_ACTION | 默认值:block 控制队列满时的行为。 |
| LOGZIO_CHUNK_LIMIT_SIZE | 默认值:2M 允许的最大块大小。 |
| LOGZIO_QUEUE_LIMIT_LENGTH | 默认值:6 输出队列的最大长度。 |
| LOGZIO_FLUSH_INTERVAL | 默认值:5s 调用下一次缓冲区刷新前的等待时间(秒)。 |
| LOGZIO_RETRY_MAX_INTERVAL | 默认值:30s 重试之间的最大等待时间(秒)。 |
| LOGZIO_FLUSH_THREAD_COUNT | 默认值:2 刷新缓冲区的线程数。 |
| LOGZIO_LOG_LEVEL | 默认值:info 容器的日志级别。 |
| INCLUDE_NAMESPACE | 默认值:""(所有命名空间) 若要发送特定K8s命名空间的日志,以空格分隔。格式应为: kubernetes.var.log.containers.**_<<要包含的命名空间>>_** kubernetes.var.log.containers.**_<<另一个命名空间>>_**。 |
| KUBERNETES_VERIFY_SSL | 默认值:true 启用以验证SSL证书。 |
| FLUENT_FILTER_KUBERNETES_URL | 默认值:nil(预构建的守护进程集中不显示) API服务器的URL。设置此项可从Kubernetes API服务器检索更多日志的Kubernetes元数据。若未指定,当 KUBERNETES_SERVICE_HOST和KUBERNETES_SERVICE_PORT环境变量均存在时(通常在Pod中运行Fluentd时为真),将使用这两个变量。注意:此参数未出现在守护进程集的预构建环境变量列表中。若要使用并设置此变量,需将其添加到守护进程集的环境变量中。 |
| AUDIT_LOG_FORMAT | 默认值:audit 审计日志的格式。若审计日志为JSON格式,设为 audit-json。 |
若要进一步修改Fluentd配置,下载configmap文件,在文本编辑器中打开并进行所需更改。
对于RBAC守护进程集:
shellkubectl apply -f /path/to/logzio-daemonset-rbac.yaml -f /path/to/configmap.yaml
对于非RBAC守护进程集:
shellkubectl apply -f /path/to/logzio-daemonset.yaml -f /path/to/configmap.yaml
对于containerd运行时:
shellkubectl apply -f /path/to/logzio-daemonset-containerd.yaml -f /path/to/configmap.yaml
等待一段时间让日志从系统传输到Logz.io,然后打开Kibana。
如果仍未看到日志,请参见日志传输故障排除。
要抑制Fluentd系统消息,在Kubernetes环境中将FLUENTD_SYSTEMD_CONF环境变量设置为disable。
默认情况下,最新镜像会启动prometheus插件以监控Fluentd。可通过在Kubernetes配置中将FLUENTD_PROMETHEUS_CONF环境变量设置为disable来禁用prometheus输入插件。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务