首页 > 解决方案 > 是否可以重定向 Kubernetes 中的日志记录?

问题描述

我是 Kubernetes 的新手,当我使用 Docker swarm 时,我能够通过以下方式重定向日志记录:

  myapp:
    image: myregistry:443/mydomain/myapp
    deploy:
      mode: global
      restart_policy:
        condition: on-failure
    logging:
      driver: gelf
      options:
        gelf-address: "udp://localhost:12201"
    environment:
      - LOGGING_LEVEL=WARN

这样,docker service logs -f myapp在这种情况下,我不会使用 or查询日志,而是kubectl logs -f myapp将它们重定向以集中监控它们(例如使用 ELK)。

这对 Kubernetes 可行吗?什么是等效的解决方案?

谢谢您的帮助

标签: dockerkubernetesdocker-swarmelastic-stack

解决方案


是的,有许多开源和商业解决方案可以将所有 kubernetes 日志(应用程序和集群以及所有内容)发送到 ELK 等系统。

假设您已经设置了 ElasticSearch。

我们正在使用 FluentBit 将 K8S 日志发送到 EFK:

Fluent Bit DaemonSet 已准备好与普通 Kubernetes 集群上的 Elasticsearch 一起使用

https://github.com/fluent/fluent-bit-kubernetes-logging

我们还使用带有 ELk 的 SearchGurard 来限制用户只能查看属于在他们自己的命名空间中运行的应用程序的日志。


推荐阅读