songjiayang / nginx-log-exporter

A HTTP log exporter for prometheus metrics.
88 stars 21 forks source link

source_files支持通配符吗 #10

Open susson opened 1 year ago

susson commented 1 year ago

请问source_files支持读取整个目录内的log文件吗,也就是支持通配符吗?

songjiayang commented 1 year ago

好主意,这个比较容易支持

shengbinxu commented 1 year ago

mtail库支持类似的特性。 /usr/local/prometheus/mtail/mtail --progs /usr/local/prometheus/mtail/progs --logs '/var/log/tidecloud/*/info*.log' --logs '/var/log/tidecloud/*/*/info*.log'

另外,当目录中新增一个文件(类似info-2023-09-01.log这种按天拆分的日志),mtail会定期执行通配符匹配,以读取新增日志文件。

想把mtail这块代码整合到这个项目,不知道合适不?

songjiayang commented 1 year ago

l这块代码整合到这个项目,不知道合适不?

合适的,使用mtail 就直接替换原始的 github.com/hpcloud/tai, 而且 hpcloud/tai 不怎么维护了

shengbinxu commented 1 year ago

l这块代码整合到这个项目,不知道合适不?

合适的,使用mtail 就直接替换原始的 github.com/hpcloud/tail, 而且 hpcloud/tai 不怎么维护了

google的这个mtail库,定位和hpcloud/tail有些差异: 1、hpcloud/tail 实现的是tail -f 功能 2、google/mtail “mtail is a tool for extracting metrics from application logs to be exported into a timeseries database or timeseries calculator for alerting and dashboarding.”

它不光支持tail -f,更重要的定位是把日志转换成metircs。

我近期抽空看下,把google/mtail当作一个module引入是否能适配?如不能适配,就把tail -f相关的代码整合到咱这个项目中。

songjiayang commented 1 year ago

如果这样的化,感觉 mtail 确实比较重了,而且做了我们做的很多事情,所以是否还是利用 hpcloud/tail, 先手动实现这部分功能,比如我们先通过配置的正则找到对应的文件。

shengbinxu commented 1 year ago

如果这样的化,感觉 mtail 确实比较重了,而且做了我们做的很多事情,所以是否还是利用 hpcloud/tail, 先手动实现这部分功能,比如我们先通过配置的正则找到对应的文件。

ok。正在按照这种思路,实现该feature