【问题标题】:Showing crashed/terminated pod logs on Kibana在 Kibana 上显示崩溃/终止的 pod 日志
【发布时间】:2019-09-03 09:46:23
【问题描述】:

我目前正在为我的 Kubernetes 集群设置 ELK。我为所有 pod 设置了日志记录,幸运的是,它运行良好。

现在我想将所有终止/崩溃的 pod 日志(我们通过描述但不是 docker 日志获得)也推送到我的 Kibana 实例。

我在我的服务器上检查了这些日志,但它们似乎没有存储在我机器上的任何位置。 (在 /var/log/ 内) 也许它没有启用,或者我可能不知道在哪里可以找到它们。

如果这些日志在类似于系统日志的日志文件中可用,那么我认为将它们放在 Kibana 上会很容易。

如果有人能帮助我实现这一点,那将是一个很大的帮助。

【问题讨论】:

    标签: elasticsearch kubernetes logstash kibana


    【解决方案1】:

    您需要使用 kube-state-metrics 来获取所有 pod 相关的指标。您可以配置到您的 kube-state-metrics 以连接弹性搜索。它将为不同类型的指标创建索引。然后,您可以轻松地使用该索引在 Kibana UI 中显示您的图表/图形。

    https://github.com/kubernetes/kube-state-metrics

    【讨论】:

    • 感谢@sounak 我确实在我的集群上安装了 metrics-beat 和 Kube-state-metrics 并尝试完全按照您的建议进行操作。现在我可以看到 pod 是否准备好、部署是否可用等统计信息,这很好,但不能完全解决我的问题。我想了解 kibana 中 pod 失败的原因。截至目前,它仅显示 pod 是否正在运行,但不是原因
    • 您可以从 Kube-state-metrics 生成/计算不同类型的指标。您可以按照此blog.freshtracks.io/… 进行不同类型的计算。出于您的目的,您可以使用 kube_pod_container_status_terminated_reason/kube_pod_container_status_terminated_reason 指标键来获取数据。 github.com/kubernetes/kube-state-metrics/blob/master/docs/… 中提供的所有其他密钥信息。
    • 谢谢你。有效。我没有使用原始指标,而是使用了 metricbeat-kubernetes 模块附带的“事件”指标集。
    猜你喜欢
    • 2010-11-09
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    相关资源
    最近更新 更多