将日志移入 Kubernetes 集群

时间:2021-07-16 08:52:48

标签: kubernetes logging

我在 Kubernetes 集群内运行 Grafana,我想将日志从 Kubernetes 外部(不在 K8s/DB 等中运行的应用程序)推送到 kubernetes,以便我可以在 Grafana 集群内查看它们。这样做的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

所以 Grafana 是一个用于报告存储在其他数据库中的数据的 GUI。听起来您正在从集群中捕获指标,并且此数据存储在另一个数据库中。如果您正在运行 Prometheus,这是 Grafana 时间序列数据的数据库。您将来也可能最终运行像 Thanos 这样的长期存储系统,以便根据数据量随时间保留这些数据。

回到日志... 与使用 Grafana 日志类似,您需要实现某种日志数据库。最受欢迎的是以前开源的 ELK(ElasticSearch、Logstash、Kibana)堆栈。您现在可以使用 OpenSearch,它是 ElasticSearch 和 Kibana 的开源版本。大多数 K8S 发行版都带有 Fluentd,它取代了用于发送数据的 logstash。您还可以在任何主机上安装 Fluentd 或 Fluentbit,以将数据发送到此堆栈。您会发现 Grafana 不是最好的日志分析工具,因此大多数人使用 Kibana(OpenSearch Dashboards)。但是,您也可以使用 Grafana,这只是 IMO 的痛苦。

如果您不想运行 ELK,另一个选择是使用 Grafana Loki,这是另一个用于日志记录的开源数据库。它要简单得多,但由于它的索引方式,在如何查询日志方面也受到更多限制。它与 Grafana 配合得很好,但再次强调,这不是全文索引技术,因此会受到一些限制。

希望对您有所帮助,如果您有任何问题,请告诉我!

相关问题