我对ELK堆栈比较陌生,我正在尝试将日志从linux服务器发送到elasticsearch。我选择的路径是-我已经在linux服务器上安装了文件节拍,我的应用程序日志就是在这里生成的>通过logstash解析它们,然后->将它们发送给elasticsearch。
我的问题是-拥有应用程序日志的linux服务器根据其运行的日期/月/时间动态地生成和存储目录中的日志,例如,我在上午11:45为06/10/2022日志创建的目录结构如下:
-/var/log/2022/06/10/11/abc.txt
我希望让filebeat.yml中的日志动态地获取路径,这样我就不必不断地更改路径并重新启动文件节拍服务,所以我尝试使用-/var/log/2022/*..txt之类的方法。
但是,当我使用通配符(如/var/log/2022/*..txt)指定文件路径时,我没有收到任何日志,文件节拍服务也运行得很好,但是,当我更改为不使用通配符(如-/var/log/2022/06/10/11/abc.txt )来具体指向任何文件夹时,收割机总是会显示0个文件,而不需要使用通配符-/var/log/2022/022/10/11/abc.txt。因此,我想知道我应该怎么做才能使这个动态路径工作,并且我使用的文件节拍版本是7.17.0。如果你们有什么想法请告诉我。
(注:2022年内有12个文件夹,如- 01,02,03等。)在这些文件夹中有几个月的子文件夹支持日期取决于月份中的天数(例如- 01,02.29,30 ...etc ),其中有23个子文件夹用于一天中的几个小时,例如-00,01,02. 23 )
发布于 2022-06-10 18:30:29
您试过使用双星号吗?https://github.com/elastic/beats/pull/3980实现了一个更改(FileBeat 6.0,因此它应该在7.x中工作)来扩展**,最多可扩展到16个级别。
# Paths that should be crawled and fetched. Glob based paths.
paths:
- /path/to/logs/**/myfiles.loghttps://stackoverflow.com/questions/72577235
复制相似问题