当前位置: 首页 > 知识库问答 >
问题:

run命令后的logstash stucks

沃宇
2023-03-14

我已经定义了这个配置文件

input {
  file {
    path => "C:\Users\Jack\Desktop\logsatash_practice"
    type => "txt"
  }
}


output {
  file {
    path => "C:\Users\Jack\Desktop\logsatash_practice\op"
  }
}

并通过cmd运行“logstash agent-f local_config.conf”命令。

在那之后,我收到一条信息,然后超过1小时没有任何事情发生。

打印的消息:“C:\用户\杰克\桌面\logstash-1.4.2\bin

可以肯定的是,我确认配置文件存在于我在配置文件中定义的路径中。

有什么想法吗?

共有1个答案

单于海荣
2023-03-14

Logstash第一次看到文件时,其行为取决于您设置的start\u位置。您似乎期望它从文件的开头读取,但默认行为是从结尾开始。

所以,你可能需要:

  file {
    path => "C:\Users\Jack\Desktop\logsatash_practice"
    type => "txt"
    start_position => "beginning"
  }

但是,每次Logstash看到一个文件时,它都会用sincedb条目标记其进度。既然Logstash已经看过您的文件一次,它就不会再将其视为“新”文件了。如果删除该条目并重新启动Logstash,它将忘记已看到该文件。

sincedb数据保存在文件中。您可以为它们指定路径,但默认设置会将它们保留在主目录中。

如果您只是在练习,并不关心您的数据,那么您可以简单地删除所有数据。

如果您确实想要小心,您可以使用-v运行Logstash以打印出每条inkedb路径,并找到需要删除的特定文件。

 类似资料:
  • Python 或者 Lua 语言可以在不输出二进制的情况下,将代码使用虚拟机直接执行。Go语言虽然不使用虚拟机,但可使用 指令达到同样的效果。 命令会编译源码,并且直接执行源码的 main() 函数,不会在当前目录留下可执行文件。 下面我们准备一个 main.go 的文件来观察 的运行结果,源码如下: 这段代码的功能是将输入的参数打印出来。使用 运行这个源码文件,命令如下: $ go run ma

  • 问题内容: 我有一个创建的容器,但我不记得我用来启动它的确切命令。有什么办法可以找回吗? 这与在Docker中查看运行/停止容器的完整命令不同, 我想知道的是生成容器的完整docker命令,而不是容器内的命令。 问题答案: 通过查看的输出,您可以推断出大部分信息。 例如,您可以通过查看键来发现在容器内部启动的命令。如果我运行: 我以后可以运行: 得到: 同样,的输出还将包含有关容器中使用的Dock

  • 我有一个我创建的容器,但我记不起我用来启动它的确切的docker run命令。有什么方法可以找回吗? 这与在Docker中查看运行/停止容器的完整命令不同,我想知道的是生成容器的完整Docker命令,而不是容器中的命令。

  • 命令失败:/usr/libexec/plistbuddy-c print:cfbundleidentifier build/build/products/debug-iphonesimulator/reactdemonavigation.app/info.plist print:条目“:cfbundleidentifier”不存在

  • 在Docker文件中,我有几个运行命令,每次构建Docker图像时,我都希望使用这些命令运行。 我知道docker构建-无缓存将禁用整个Dockerfile的缓存。 是否可以禁用特定RUN命令的缓存?

  • 这意味着:在容器中运行一个bash命令,将一些文本推入容器中的文件。 现在,Azure容器实例表示您不能传递:https://docs.microsoft.com/en-us/Azure/container-instances/container-instances-exec的命令参数 那么,在Azure的自动化构建/发布过程中,您将如何构建、发布和配置容器?