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

Promtail: How to remove timestamps from filenames?

我有一个简单的问题:

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

/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 上找不到任何关于此的内容。

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

但是...

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

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

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