【问题标题】:Search in Splunk in a lookup table with multivalue fields在具有多值字段的查找表中搜索 Splunk
【发布时间】:2020-05-07 14:18:22
【问题描述】:

我有一个如下所示的查找表:

所以我有一个 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 ?

【问题讨论】:

    标签: splunk


    【解决方案1】:

    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 地址。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-06
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      相关资源
      最近更新 更多