如何在SumoLogic中存储IP列表并跨查询复用?
在SumoLogic中复用IP过滤列表的解决方案
给你几个直接可行的方法,不用每次重复粘贴IP列表:
方案1:使用查找表(Lookup Tables)
这是SumoLogic官方推荐的存储静态/半静态复用数据的方式,适合IP黑名单这类场景:
- 准备一个CSV文件,比如命名为
blocked_ips.csv,内容格式如下:blocked_ip 192.168.1.1 10.0.0.5 203.0.113.22 - 登录SumoLogic,进入Manage Data > Lookups > Lookup Tables,上传这个CSV文件,设置好名称和匹配字段
- 在查询中通过
lookup命令关联并过滤:
如果需要保留黑名单IP,就把-- 过滤掉黑名单IP,保留正常流量 * | lookup blocked_ips.csv ON ip = blocked_ip | where isnull(blocked_ip)isnull改成not isnull。后续要更新IP列表,直接替换查找表文件即可,所有引用的查询都会自动生效。
方案2:使用仪表板变量(Dashboard Variables)
如果你的查询主要在仪表板中使用,用变量更灵活:
- 打开目标仪表板,点击右上角的Edit,进入编辑模式
- 添加一个变量:类型选Text,输入名称(比如
blocked_ips),在“Default Value”里填入用逗号分隔的IP列表,比如'192.168.1.1','10.0.0.5','203.0.113.22' - 在查询中直接引用变量:
要是IP列表需要动态生成,还能把变量类型改成Query,用一个查询来动态获取IP列表(比如从日志中提取最新的恶意IP)。* | where ip NOT IN ($blocked_ips$)
方案3:使用保存的函数(Saved Functions)
适合把过滤逻辑打包复用,不止是IP列表,还能复用整个查询片段:
- 写好过滤IP的查询片段,比如:
| where ip NOT IN ('192.168.1.1', '10.0.0.5', '203.0.113.22') - 选中这段代码,点击查询编辑器上方的Save as Function,给函数命名(比如
exclude_blocked_ips) - 在其他查询中,直接调用这个函数即可:
后续要更新IP列表,只需要编辑这个保存的函数,所有引用它的查询都会同步更新。* | exclude_blocked_ips
以上方法都比自定义数据源更直接,也解决了模板只能参数化、无法跨查询复用的问题。
内容的提问来源于stack exchange,提问作者Scott Antipa
相关产品推荐
相关产品推荐

