kubernetes - 将日志移入 Kubernetes 集群
问题描述
我在 Kubernetes 集群中运行了 Grafana,我想将来自 Kubernetes 外部的日志(未在 K8s/DB 等中运行的应用程序)推送到 kubernetes 中,以便我可以在 Grafana 集群中查看它们。这样做的最佳方法是什么?
解决方案
所以 Grafana 是一个用于报告存储在其他数据库中的数据的 GUI。听起来您正在从集群中捕获指标,并且这些数据存储在另一个数据库中。如果您正在运行 Prometheus,这是 Grafana 时间序列数据的数据库。您还可能最终会在未来运行像灭霸这样的长期存储系统,以便这些数据随着时间的推移而保留,具体取决于数据量。
回到日志记录...与使用 Grafana 记录日志类似,您需要实现某种日志记录数据库。最受欢迎的是以前的开源 ELK(ElasticSearch、Logstash、Kibana)堆栈。您现在可以使用 OpenSearch,它是 ElasticSearch 和 Kibana 的开源版本。大多数 K8S 发行版都带有 Fluentd,它取代了用于发送数据的 logstash。您还可以在任何主机上安装 Fluentd 或 Fluentbit 以将数据发送到此堆栈。你会发现 Grafana 并不是最适合日志分析的,所以大多数人使用 Kibana(OpenSearch Dashboards)。但是,您也可以使用 Grafana,这只是 IMO 的痛苦。
如果您不想运行 ELK,另一个选择是使用 Grafana Loki,这是另一个用于日志记录的开源数据库。它要简单得多,但由于它的索引方式,您如何查询日志也受到更多限制。它与 Grafana 配合得很好,但这又不是全文索引技术,所以它会受到一些限制。
希望这对您有所帮助,如果您有任何问题,请告诉我!
推荐阅读
- python - Api 调用 post 方法抛出错误:证书验证
- c# - MsBuild 找不到适用于 C# 的 Godot SDK
- javascript - 未呈现样式化组件的 CSS 类的特定目标 - React
- reactjs - sublime text 4:如何添加 JSX 语法高亮
- flutter - 添加一些对象后的部分列表不完整
- vuex - 在 Vuex 操作中返回一个值是否违背了 Store 的全部目的?
- lua - 罗技游戏软件 Lua 中出现莫名其妙的语法错误
- wordpress - Wordpress 上传图片失败 – 后处理错误
- c# - 在 Roslyn 中将 DeclaredAccessibility 转换为 C# 字符串
- node.js - NodeJS客户端上的Redis错误:错误:getaddrinfo EAI_AGAIN