首页 > 解决方案 > Splunk 部署服务器在哪里存储自己的校验和数据?

问题描述

这对我来说是一个很大的谜。

Splunk 部署服务器通过比较校验和来跟踪它对部署客户端所做的更改。您可以在客户端的 splunkd.log 中看到:

Checksum mismatch 0 <> 12612942278184057003 for app=myapp

如果不匹配,部署服务器决定将其应用程序的更新版本发送到客户端。然后将校验和写入 $SPLUNK_HOME/var/run/serverclass.xml 以供以后使用。

我的问题是部署服务器在哪里存储自己的副本?我期待有一个类似的 xml 样式文件,但我还没有找到它。

我唯一看到与此相关的数据的地方是在服务器端的 splunkd.log 中,在实际校验和的创建期间。然后,此日志条目将被索引到 _internal。

这是否意味着 Splunk DS 搜索 _internal 以确定其客户端是否是最新的?如果是这样,当索引滚动时会发生什么?它是否只是在意识到忘记了哪些客户端具有哪个校验和之后才重新部署其应用程序?

还是部署服务器仅在内存中保存此校验和数据?如果发生中断,这似乎不太好,对吧?

标签: checksumsplunk

解决方案


简短的回答是校验和存储在部署服务器的一个文件中:$SPLUNK_HOME/var/run/serverclass.xml

此处全面描述了校验和机制的工作原理: https ://www.hurricanelabs.com/splunk-tutorials/under-the-hood-examineing-your-splunk-deployment-server 在A Word on Checksums段落下


推荐阅读