找不到 Filebeat 的 docker 日志文件

找不到 Filebeat 的 docker 日志文件

我正在尝试将 Kubernetes 集群中的日志聚合到 Elasticsearch 服务器中。
为此,我在集群上部署了 Filebeat,但我认为它没有机会工作,因为目录中/var/lib/docker/containers没有日志。

我可以通过 查看容器日志kubectl logs,但不知道如何让 Filebeat 访问它。
以下是命令输出的片段docker inspect

    "LogPath": "",
    "Name": "/k8s_POD_checkit-incubator-6bd48754c5-s64bk_checkit-incubator_2cb40353-c7b4-11e8-9574-005056b1f077_1",
    "RestartCount": 0,
    "Driver": "devicemapper",
    "MountLabel": "",
    "ProcessLabel": "",
    "AppArmorProfile": "",
    "ExecIDs": null,
    "HostConfig": {
        "Binds": null,
        "ContainerIDFile": "",
        "LogConfig": {
            "Type": "journald",
            "Config": {}
        },
        "NetworkMode": "none",
        "PortBindings": {},
        "RestartPolicy": {
            "Name": "",
            "MaximumRetryCount": 0
        },

有什么线索可以让我找出 Filebeat 的有效配置吗?

答案1

您的配置将日志发送到 journald,因此 journalctl 是您的工具。

告诉我们您正在运行什么 kubernetes 分布,kubespray、gke 或其他。

其次,您可能想要检查其他节点目录,例如/var/log/containers/容器日志。

第三次尝试使用 helm 或你的 k8s 发行版推荐的任何其他方式部署 filebeat。

相关内容