【问题标题】:Jenkins to Splunk send files by mapping different sourcetypes to different sources(files)Jenkins 通过将不同的源类型映射到不同的源(文件)来向 Splunk 发送文件
【发布时间】:2019-10-29 19:21:38
【问题描述】:

我需要将文件(例如:XML 和 CSV)从 Jenkins 发送到 Splunk。 为此, 我已经使用下面的方法集成了 Jenkins 和 Splunk

1) Splunk 中的 Jenkins 应用(Splunk app for Jenkins)

2) Jenkins 中的 Splunk 插件

在 Jenkins 中,我已经像这样配置了“自定义元数据”

[Data Source->'logfile', Config Item->'Source Type', Value->'custom_xml_sourcetype' ] [数据源->'logfile', Config Item-> '源类型', Value->'csv' ]

在 Splunk 中,索引文件(例如:a.xml 和 b.csv)具有相同的 sourcetype ->'custom_xml_sourcetype'。理想情况下,两者都需要映射到确切的源类型。应该是这样的

a.xml -> 'custom_xml_sourcetype'

b.csv->'csv'

但是,它是这样映射的,

a.xml -> 'custom_xml_sourcetype'

b.csv->'custom_xml_sourcetype'

不确定如何将源类型映射到源(文件)。 也没有可用的作业级别配置信息。

我的要求非常简单,可以让 jenkins 构建工件生成的不同文件使用不同的源类型进行 splunk。 Jenkins 配置为主 -> 从设置。

这在 Jenkins 的 Splunk 插件应用程序中是否可行,还是我应该采用不同的方法?

非常感谢。

【问题讨论】:

    标签: jenkins splunk


    【解决方案1】:

    无法从 Jenkins 将 .xml 到 Splunk 等不同源类型的索引编入索引,但可以再次以 .csv 或 .json 格式索引键值对,但有其自身的局限性。

    这是由于 splunk 中的 HEC,它只侦听一个源类型,它也需要在键:值对中。 Jenkin的Splunk Plugin是一个代理,它通过解析jenkin系统中的文件来转发数据,如果文件的数据是key:value对,那么它们将在Json paylod中的events key中通过HEC发送给SPLUNK,例如: {“事件”:“键:值”}。

    但是,如果文件的数据不是 key:value 对 ex:xml,那么不能保证从 xml 中提取出确切的 key:value 对。由于 jenkin 的 splunk 插件代理对非 key:value 对源类型的数据提取将失败。

    基本上,Splunk 的 HEC 在使用非键:值对源类型内容时的用例有限。 Jenkins 与 Splunk 之间的通信通过这种方式发生,对于索引所有具有不同文件格式的文件没有用处。

    解决方案: jenkins 端需要有转换脚本来将所有非键:值对转换为键:值对。这将有助于将适当的数据索引到 splunk,但同样不能将其映射到多个源类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多