问题标签 [promtail]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 配置 Promtail/loki 以使用 helm chart 从运行在 kubernetes pod 中的容器收集其他日志文件
我通过以下链接在我的 Kubernetes 集群中使用 helm 图表安装了 promtail/loki
https://grafana.com/docs/loki/latest/installation/helm/
但默认情况下,它只收集容器日志。我想以一种能够从容器中收集应用程序日志文件的方式配置我的 promtail。
示例:我有 ngnix pod,它有 2 组日志文件,如 access.log 和 error.log,我想将这两个文件流式传输到 loki。
grafana - Grafana Loki 时间戳,LogQL 查询问题
我是 PLG 的新手,在监控方面遇到一些问题,请就此提出建议。
我的日志格式如下所示 - 以 utc 时间作为时间戳
持续时间 ip 用户名方法消息
例如:2021-09-27T06:39:42.1756Z 200 00:00.001 1.1.17.110 testuser GET 这是日志消息
下面是promtail配置
问题:
- grafana 仪表板中显示的时间戳是日志添加到 Loki 的时间。
- 旧日志未处理,只有新日志显示在 grafana 中。
- 如何计算(LogQL 查询)每个服务器(主机标签)中所有调用的平均持续时间?
提前致谢。
promtail - 我们可以使用 Promtail 连接到 API(Post)吗
我正在一个项目中进行 promtail loki graphana 集成。众所周知,Promtail 是一个代理,它将本地日志的内容传送到私有 Loki 实例或 Grafana Cloud。
除了向 loki 发送日志之外,我还想为某些事件/日志触发 rest api,是否可以使用 logstash 之类的 promtail。
logging - Loki Distributed with S3 backend - 时间戳和 Grafana 连接问题
我已经使用官方helm图表设置了 Loki Distributed 。
此时,所有 pod 都已启动并运行。
然后我使用官方helm图表安装了 Promtail 。
Values.yaml 文件(截断未修改的字段)
我遇到了很多问题:
- 当我尝试在 grafana(网关端点)中添加 Loki 源时。Grafana 抛出错误:
Loki:内部服务器错误。500. rpc 错误:代码 = 不可用 desc = 名称解析器错误:产生零地址
level=warn ts=2021-10-06T10:41:23.729163833Z caller=grpc_logging.go:38 method=/logproto.Pusher/Push duration=86.664µs err=“rpc error: code = Code(400) desc = entry with时间戳 2021-10-06 10:41:22.689555007 +0000 UTC 被忽略,原因:流的“输入无序”:{namespace=“integration”},\nentry 时间戳为 2021-10-06 10:41:22.689562602 + 0000 UTC 被忽略,原因:流的“输入无序”:{namespace=“integration”},\nentry 时间戳为 2021-10-06 10:41:22.689582704 +0000 UTC 被忽略,原因:“输入无序”对于流:{namespace=“integration”},\n总被忽略:6 个中有 3 个” msg=“gRPC\n”</p>
我不确定我做错了什么。我尝试了值文件中所有可能的更改。
我怀疑 Loki 配置文件有问题。
注意:当我尝试使用默认 values.yaml 文件安装 Loki 和 promtail 时,它可以工作,但我仍然可以看到错误。
原因:'输入乱序'</p>
kubernetes - Helm 图表忽略配置文件或给定键值
我不确定这个问题是否与 promtail(使用的舵图)或舵本身有关。
我想将 loki 图表的默认主机值更新为 kubernetes 上使用的本地主机,所以我尝试了这个:
并使用这样的自定义 values.yaml:
但它仍然使用错误的默认网址:
如果我检查 config.yaml,它的使用不会使用我在安装期间提供的内部 url:
有任何想法吗?或者我错过了什么?
谢谢
openshift - Grafana loki 和 promtail:非常冗长的日志和行序问题
在 Grafana 论坛中询问,但到目前为止没有回应。我们在 OpenShift 上遇到 Loki 问题,以及来自 pod 的非常详细的日志。比如说,如果一个微服务在一秒钟内产生 300 多行日志,有时它们会在 Loki 中以错误的顺序出现:
585线赶上来有点晚。
日志通常包含带有 yamls 或 sqls 的多行消息,错误的行号顺序使它们很难阅读。
我还没有找到任何可能有帮助的 Loki 设置(比如缓冲并将日志从 promtail 分块发送到 Grafana)。Promtail pod 或 Grafana 不会阻塞,并且有足够的 CPU/RAM。
我想知道到目前为止,我是否是唯一一个用 Loki/Promtail 解决这个问题的人。
amazon-web-services - EKS 中的 AWS 跨账户 Loki promtail 设置
这是我的设置。
我有 2 个 AWS 账户。
- 应用程序帐户
- 监控账户
应用账户有 EKS + Istio + 应用相关的微服务 + promtail 代理。
监控账户在 EKS + Istio + 内有集中式日志系统(Grafana & Prometheus & loki pods running)
从应用程序帐户,我想将日志推送到 Loki on Monitoring a/c。我尝试在监控 a/c 之外公开 Loki 服务,但我遇到了将 loki url 设置为 https://<DNS_URL>/loki 的问题。我通过在此处和此处使用建议来尝试进行此更改,但这对我不起作用。我已经从这个 url安装了 loki-stack
问题是如何从应用程序帐户访问 loki URL,以便可以在应用程序 a/c 的 promtail 中对其进行配置?请注意,这两个帐户都在 EKS 中使用 pod,而不是独立的 loki 或 promtail。
谢谢并恭祝安康。
入口与 AWS ALB 相关联。
我想从 http(s)://my-alb-url/loki 之类的 ALB URL 访问 Loki 我希望我现在已经提供了所需的详细信息。让我知道。谢谢。
kubernetes - Kubernetes:如何将 Promtail 设置为 sidecar 以读取自定义日志路径
有谁知道如何配置 Promtail 来监视和跟踪 Kubernetes pod 中的自定义日志路径?我有一个在这样的目录中创建自定义日志文件的部署/var/log/myapp
。我在这里找到了一些文档,上面说将 Promtail 作为 sidecar 部署到要从中收集日志的容器中。我希望有人可以解释这种方法在实践中是如何工作的。是否需要作为 sidecar 来完成,还是可以作为 Daemonset 来完成?或者,如果您有已证明有效的替代解决方案,请给我看一个例子。
grafana - 在 grafana loki 查询 (LogQL) 上使用变量
我已在服务器上成功安装 Loki,在数据中心的多台主机上安装 Promtail。每个主机运行不同数量的 tomcat,例如 tomcat10、tomcat11...tomcat20。
所以在 promtail 上,我的工作得到一个带有主机名的标签,__path__
类似于work/java/tomcat*/logs*
.
现在我在 Postgre 上添加与这些 tomcat 相关的不同应用程序名称,以及主机及其名称。
但我正在努力使用 Grafana 上的 LogQL 查询来访问这些变量。例如,我在 Grafana 中定义了以下名为varHost的变量
select server __value, server __text from loki_promtail.servers order by id ASC
假设我想访问 Host Saturn上的每个日志。它很容易使用{job="saturn"}
,但我想使用 ${varHost} 代替 Saturn(这是主机的名称),因此同一个面板可以显示多个主机信息。
同样,假设我正在尝试访问/work/java/tomcat10/logs/catalina.out
. 我希望能够在 LogQL 查询中连接 varApp,因此,
{filename="/work/java/tomcat10/logs/catalina.out"}
我不想要类似的东西{filename="/work/java/tomcat${varApp}/logs/catalina.out"}
,我正在使用正则表达式
但在 Grafana 中的 ${varApp} 中{filename=~"/work/java/tomcat${varApp}/logs/catalina.out"}
选择所有内容时失败。
我怎么能做到这一点?
提前谢谢你!
docker - docker-compose 如何访问窗口外的文件?
我在我的 Windows 系统上使用 loki 的 docker-compose 设置,我想更改 promtial 配置以访问我的 Windows 日志文件。但它使码头工人无法访问外部路径。