如何使用 Splunk 处理核心转储?

如何使用 Splunk 处理核心转储?

我们正在管理一个应用程序,它有时会崩溃并转储核心。我们有一个脚本,它可以从核心输出应用程序的堆栈——以及一些其他对调试有用的详细信息。

是否可以将 Splunk 配置为在目录中遇到新的核心转储时调用脚本 - 并将脚本的输出存储在集中式服务器上?

我知道,我们可以自己做这件事——调用脚本,将其输出存储在日志中,并让 Splunk 监控该日志。但如果 Splunk 自己进行监控,那么在我们的环境中会更方便(出于非技术原因)...

四年后再次回到这个问题......“脚本输入”解决方案并不是一个很好的解决方案,因为它放弃了通用转发器中已经内置的文件跟踪 - 自定义脚本必须完成以下三项操作:

  1. 检测新的核心转储。
  2. 处理所有新检测到的核心转储。
  3. 跟踪已处理的核心转储。

这使得它比简单地使用 cron 或 incrond 稍微好一点。

我更希望能够对项目 1. 和 3 使用标准 UF 设施——并且只执行第二步,作为我自己的core2json...可以做下面这样的事情吗?

[monitor:///my/application/directory/core.*]
disabled=0
sourcetype=coredump
process_with=/my/scripts/core2json

process_with语法里有类似的东西吗inputs.conf

答案1

Splunk 可以做到这一点。您正在寻找的是脚本输入。

Splunk 有关于此内容的文档http://docs.splunk.com/Documentation/Splunk/7.0.2/AdvancedDev/ScriptedInputsIntro

我认为,与监视核心转储相比,定期运行脚本输入、处理任何核心转储,然后将它们移动到不同的目录(或删除它们)会更有效率,这样就不会重复处理相同的核心转储。

相关内容