启用多租户支持 Tempo是一个支持多租户的分布式追踪系统。它通过使用一个名为X-Scope-OrgID的header来实现多租户支持。 前面我们部署了Tempo,但使用OTEL Collector向其中推送追踪数据时并没有启用多租户支持,通过查……
阅读全文
可以使用Grafana Agent将分布式追踪数据发送到Tempo,但这不是必需的。实际上,Tempo服务是一个暴露符合Open Telemetry TraceService标准的gRPC端点,通过HTTP Basic授权进行访问。任何能够使用正确的HTTP请求头……
阅读全文
如何部署Tempo取决于我们的tracing需求。Tempo有两种部署模式:单体式或微服务式。当使用Helm在Kubernetes集群上部署Tempo时,对这两种模式都支持。 使用Tempo的Helm Charts可以在Kubernetes集群……
阅读全文
Tempo介绍 Grafana Tempo是一个开源的、易于使用的且高吞容量的分布式追踪后端。Tempo具有成本效益高的特点,只需要一个对象存储来运行。Tempo可以和Grafana、Mimir、Prometheus和Loki 深度集成。可以使用Tempo与……
阅读全文
kubeadm是Kubernetes官方提供的用于快速安部署Kubernetes集群的工具。伴随Kubernetes每个版本的发布,kubeadm可能会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方……
阅读全文
前面学习了Loki中日志的保留策略,本文整理一下对于使用Loki官方helm chart部署Loki时如何在values.yaml中配置日志保留策略。 所有的配置参考都可以在这个helm chart的默认的values.yaml中获得,地址是ht……
阅读全文
BoltDB Shipper使您能够在不依赖于NoSQL存储的情况下运行Loki,用来存储索引。它将索引以BoltDB文件的形式在本地存储,并将这些文件发送到共享对象存储(即用于存储数据块chunks的相同对象存储)。它还通过从共享对象存储同步Bolt……
阅读全文
Loki需要存储两种不同类型的数据:块(chunks)和索引(indexes)。 Loki接收来自不同流的日志,每个流通过其租户ID和标签集来唯一标识。当来自流的日志条目到达时,它们会被压缩为“块”(chunks)并保存在块存储(chunks……
阅读全文
前面学习了Promtail的基础知识和配置示例,本节做一个实战练习,使用Promtail收集Java应用日志发送给Loki。 这里假设的场景是一个Spring Boot的Java程序,日志框架使用了Logback。这个程序使用Logback将日……
阅读全文
1.静态配置(static config)示例 尽管Promtail可能是以Prometheus服务发现代码命名的,但该代码同样适用于在虚拟机或裸机上直接追踪没有容器或容器环境的日志,并且能够很好地发挥作用。 1server: 2 http_listen_port: 9080 3 grpc_listen_port: 0 4 5positions: 6 filename: /var/log/positions.yaml # Promt……
阅读全文