gpt4 book ai didi

Logstash解析进度条

转载 作者:行者123 更新时间:2023-12-02 04:16:58 26 4
gpt4 key购买 nike

我是 Logstash 的新手,我使用它来解析特定目录中的 500MB 日志文件,目前当我启动 Logstash 时,它不会显示任何进度条来显示已完成解析的百分比日志文件。有什么办法可以看到日志解析完成的进度吗?

最佳答案

不,Logstash 没有内置进度条功能。大多数情况下,这没有任何意义,因为 Logstash 旨在连续处理不断增长的日志,然后就没有真正的“完成”。

您可以做的是将sincedb 文件的内容与相应文件的文件大小相关联。 sincedb 文件是 Logstash 存储文件中当前偏移量的位置。文件格式的准确描述可以在 file input's documentation 中找到。 ,但您主要需要关心第一列和最后一列。第一列是inode编号,也可以在ls -li中找到。文件的输出,最后一列是当前偏移量。示例:

393309 0 64773 437

在这里,Logstash 位于 inode 393309 的文件的偏移量 437 处。

join 命令可用于将此文件与 ls -li 连接起来输出(其中文件的 inode 号位于第一列):

$ join /var/lib/logstash/.sincedb_f5fdf6ea0ea92860c6a6b2b354bfcbbc <(ls -li /var/log/syslog)
393309 0 64773 437 -rw-r----- 1 root adm 437 Oct 15 12:47 /var/log/syslog

最后,awk 可用于清理输出并生成完成百分比数字:

$ join /var/lib/logstash/.sincedb_f5fdf6ea0ea92860c6a6b2b354bfcbbc <(ls -li /var/log/syslog) | awk '{ printf "%-30s%.1f%\n", $13, 100 * $4 / $9 }'
/var/log/syslog 100.0%

关于Logstash解析进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33143437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com