Promtail:如何从文件名中删除时间戳?

Posted

技术标签:

【中文标题】Promtail:如何从文件名中删除时间戳?【英文标题】:Promtail: How to remove timestamps from filenames? 【发布时间】:2022-01-06 06:17:24 【问题描述】:

我有一个简单的问题:

我的日志文件的名称中有时间戳,即:

/var/log/html/access-2021-11-27.log
/var/log/html/access-2021-11-28.log
/var/log/html/access-2021-11-29.log

Promtail 正在抓取此内容,但没有“看到”access-2021-11-28.log 是 access-2021-11-27.log 的延续。所以它会在 28 日“检测”到一个日志文件 access-2021-11-28.log,不再显示 access-2021-11-27.log。我想只看几天的“access.log”数据。

我认为这应该是一个众所周知的场景,但我在 Internet 上找不到任何内容。

【问题讨论】:

【参考方案1】:

唯一的方法是更改​​生成日志的应用程序的日志配置,使用唯一的 access.log 代替 access-xxxx-xx-xx.log 文件的架构。不幸的是,这并不总是可行的。

但是……

仍然可以显示旧文件,这仅取决于使用的时间范围。这是一个例子:

您可以使用正则表达式来执行查询,如下例所示:

filename=~".*JIRA_INSTALL/logs/access_log\\..*"

【讨论】:

以上是关于Promtail:如何从文件名中删除时间戳?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 Excel 从时间戳中删除秒?

如何使用 Promtail / Loki - AlertManager 为我的日志中的每个错误发送警报?

Promtail 和 Grafana - 来自 docker 容器的 json 日志文件未显示

Kubernetes:如何将 Promtail 设置为 sidecar 以读取自定义日志路径

如何根据 json 文件从 Redis 排序集中删除项目

从 Google Drive V3 API 中的回收站恢复文件时未设置时间戳