问题标签 [logstash-file]
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.
logstash - Logstash 文件输入:sincedb_path
重新启动 Logstash 后,有时会观察到 Logstash 复制日志事件。想知道应用配置选项start_position
的正确方法sincedb_path
是什么。sincedb_write_interval
- 当在同一位置有多个文件时会发生什么,如下面的示例所示
/home/tom/testData/*.log
- 当文件轮换发生时会发生什么,例如
XXX.log
文件被重命名为XXX-<date>.log
并创建一个新XXX.log
文件。在这种情况下,名称不会改变,但 inode 会改变。
如果有人能对此有所了解,将不胜感激。
logstash - Logstash:since_db 没有被创建
正在使用该since_db
选项,并且似乎未创建 sincedb 文件。下面是我的 LogstashFile
配置。我已经验证我可以手动创建文件,所以没有权限问题。如果有人可以对此进行更多说明,将不胜感激。
tomcat - 如何使用logstash转发器实现容错?
我正在使用 Logstash Forwarder 来处理 tomcat 日志。
我的 logstash 转发器配置文件包含:
我正在使用日志轮换,因此它会在一段时间后或文件大小超过 1MB 时将日志文件存档到不同的文件夹。
如果 logstash-forwarder 关闭了几分钟,日志将被归档并且它不会处理这些日志。
我正在使用 monit 监控 logstash 转发器,但仍有可能丢失日志。
有没有办法通过logstash转发器实现容错?
json - Logstash: Handling of large messages
I'm trying to parse a large message with Logstash using a file input, a json filter, and an elasticsearch output. 99% of the time this works fine, but when one of my log messages is too large, I get JSON parse errors, as the initial message is broken up into two partial invalid JSON streams. The size of such messages is about 40,000+ characters long. I've looked to see if there is any information on the size of the buffer, or some max length that I should try to stay under, but haven't had any luck. The only answers I found related to the udp input, and being able to change the buffer size.
Does Logstash has a limit size for each event-message? https://github.com/elastic/logstash/issues/1505
This could also be similar to this question, but there were never any replies or suggestions: Logstash Json filter behaving unexpectedly for large nested JSONs
As a workaround, I wanted to split my message up into multiple messages, but I'm unable to do this, as I need all the information to be in the same record in Elasticsearch. I don't believe there is a way to call the Update API from logstash. Additionally, most of the data is in an array, so while I can update an Elasticsearch record's array using a script (Elasticsearch upserting and appending to array), I can't do that from Logstash.
The data records look something like this:
Does anyone know of a way to have Logstash process these large JSON messages, or a way that I can split them up and have them end up in the same Elasticsearch record (using Logstash)?
Any help is appreciated, and I'm happy to add any information needed!
elasticsearch - Logstash 关闭文件描述符?
背景:
我们rsyslog
创建了日志文件目录,例如:/var/log/rsyslog/SERVER-NAME/LOG-DATE/LOG-FILE-NAME
因此,多个服务器将其不同日期的日志溢出到一个中心位置。
现在要读取这些日志并将它们存储在 elasticsearch 中以进行分析,我的 logstash 配置文件如下所示:
问题 :
现在随着目录中日志文件数量的增加,logstash 会为新文件打开文件描述符 (FD),并且不会为已读取的日志文件释放 FD。由于日志文件是按日期生成的,因此一旦读取,之后就没有用了,因为在该日期之后不会更新。
我已将文件打开限制增加到 65K/etc/security/limits.conf
我们可以让logstash在一段时间后关闭句柄,这样打开的文件句柄的数量就不会增加太多吗?
elasticsearch - 在特定一天之后阅读日志?
背景:
我们rsyslog
创建了日志文件目录,例如:/var/log/rsyslog/SERVER-NAME/LOG-DATE/LOG-FILE-NAME
因此,多个服务器将其不同日期的日志溢出到一个中心位置。
现在要读取这些日志并将它们存储在 elasticsearch 中以进行分析,我的 logstash 配置文件如下所示:
问题:
现在我们要在特定日期之后读取日志文件。例如,如果目录/var/log/rsyslog
中有 2015 年 4 月、5 月、6 月的日志,并且我想在特定日期之后读取所有日志,请说 > 15.05.2015
。
这可以使用logstashfile
输入来实现吗?
编辑:
阅读更多内容后,我想使用输入无法实现,file
而是可以使用drop
过滤器在日期后删除日志。
正则表达式删除日期 > 15.05.2015
?? 如何使用regex
?
logging - 消费后删除日志:logstash
我让 logstash 监视主机上的目录。每次它看到与我在 logstash 配置中指定的路径匹配的日志时,它就会开始将数据导入我的 elasticsearch 集群。logstash 是否有办法在使用完日志后删除它?
我想编写脚本来删除logstash已经完成的日志,但是我应该如何知道他完成了哪些日志?
也许你们以前做过这个或者知道如何实现这个?
logstash - 如何使用 logstash.conf 文件配置多个文件
我将配置位置中存在的所有日志文件(D:\Logs文件夹)
日志文件是
1.Magna_Log4Net.log.20150623_bak
2.Magna_Log4Net.log.20150624_bak
3.Magna_Log4Net.log.20150625_bak
4.Magna_Log4Net.log.20150626_bak
logstash.conf 文件
我无法将所有文件加载到弹性搜索中,我不明白这里的问题。任何人都可以帮助如何将多个文件解析为logstash配置文件???
logstash - Logstash 简单文件输入配置
我是 Logstash 的新手,我一直在尝试制作一个简单的.conf
文件来从示例日志文件中读取日志。我已经尝试了从制作sincedb_path
到$HOME/.sincedb
设置start_path
为“开始”的所有方法,但我似乎无法将数据读取到stdout
. 以下是我的示例日志中的示例行:
10.209.12.40 - - [06/Aug/2014:22:59:18 +0000] "GET /robots.txt HTTP/1.1" 200 220 "-" "Example-Prg/1.0"
www.example.com 10.209.11.40 - - [06/Aug/2014:23:05:15 +0000] "GET /robots.txt HTTP/1.1" 200 220 "-" "Example-Prog/1.0"
www.example.com 10.209.11.40 - - [06/Aug/2014:23:10:21 +0000] "GET /File/location-path HTTP/1.1" 404 25493 " http://blog.example.com/ link-1 " "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36(KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
以下是.conf
我正在使用的文件:
我正在运行它stdout
以检查我是否得到输出。我得到以下输出:
我花了好几个小时试图找出问题所在。请告诉我哪里出错了。
提前致谢。
编辑:这是文件名中的错误。
input - logstash 支持的最大行长?
logstash 可以从文件中作为单个事件读取的最大字符长度是多少(单行输入,而不是多行输入)?logstash 是否也将行之间的特定数量的空格/制表符作为换行符?