我有一个如下所示的查找表:
因此,我有一个Splunk查询,该查询生成一个具有IP地址的表,并且我想自动填充相关的DNS名称。
我使用以下内容,但不起作用:
Index=servers signature_id=4624
| stats count by IpAddress
**| lookup lookup.csv "ip" AS IpAddress OUTPUT "dns" AS server_name**
| stats count by server_name IpAddress
有什么办法解决吗?
也许我需要在查找之前做类似的事情
| makemv delim="|" ip | mvexpand ip | fields ip dns ?
答案 0 :(得分:0)
Splunk查找使用精确,通配符或CIDR匹配,但不能选择多个值之一。默认值为精确,这意味着数据必须与指定的查找列中的值精确匹配。在您的示例中,“ ip”字段必须为“ ip1 | ip2 | ip3”才能返回“ server1”。
通配符匹配是指在查找文件中具有“ ”。例如,它将允许“ ip”匹配“ subnet1 ”。
CIDR匹配允许在查找文件中使用CIDR字符串,例如,使“ ip”匹配“ ip1 / 24”。
通配符和CIDR匹配都必须在查找定义中进行配置。请参阅设置->查找->查找定义。
考虑将您的查找文件重构为每行具有一个IP地址。
dns ip
server1 ip1
server1 ip2
server1 ip3
server2 ip4
server2 ip5
这将与您现有的查询一起使用。但是,查找dns字段只会返回该服务器的第一个IP地址。