我对一家使用Splunk专业服务来构建Splunk云环境的公司相对陌生。到目前为止,IT公司已经加入了许多AWS、Azure、prem和网络设备。我正在努力验证他们是否真的在将日志发送到Splunk索引中,以便我最终可以在日志上应用用例和警报,并对那些没有发送但应该发送的主机进行故障排除。公司中没有Splunk资源,所以我正在尽我所能地计算它。(经典(
IT经理给了我一个电子表格,里面有所有转发日志的设备的主机名和私人IP地址。起初,我想我可以进行搜索,将他的列表与主机名收到的日志进行比较,但我想不通。以下是我所做的。
在30天的搜索中,我运行了| metadata type=hosts index=*
,并将结果导出到csv中。我从导出中提取了"hosts"列(主机名和IP地址的组合(,并与IT经理的主机名/IP地址列表进行了比较,在哪里找不到它,假设它在那段时间内没有发送日志。库存中总共有大约850件商品,据推测这些商品已经上市,我看到了大约250件的日志。显然,由于三角洲,我在事后猜测自己。
当我从Splunk IT的资产清单电子表格中抽查一些主机名/IP地址时,有些没有返回结果,有些只是来自该服务器的DNS或FW流量(因此需要登录以获取服务器日志(,但另一些则是我得到的结果,其中"主机"字段是云设备(如Meraki(,主机名或IP与其他字段匹配,如"dvc_up","deviceName"或"dvc"字段。这真的让我很困惑,让我怀疑是否有更好的方法。那么,是吗?您通常如何审核和验证您的日志是否仍被接收到您的Splunk实例中?
非常感谢您的帮助,并期待学习!
搜索不存在的数据总是比搜索现有数据更难。。。因为发现";什么都没有";不可能
然而,可以模拟找不到这样的东西:
index=ndx sourcetype=srctp ip=* earliest=-7d
| stats count by ip
| append
[| inputlookup myListOfIPs
| fields ip ]
| stats values(count) as filter by ip
| where isnull(filter)
这种搜索的作用:
- 通过上周找到的所有IP进行简单计数
- 将";主列表";IP到
stats
'd输出 - 执行表中所有IP的值`统计(在事件数据和查找表中找到(
- 使用
where
筛选出filter
字段中具有某些值的所有项目
在上周的中,未在有问题的索引中找到所有结果IP
根据需要调整字段名称、时间范围等