如何用Splunk筛选存在多SNMP社区字符串的Peer设备
Splunk查询实现需求方案
直接通过stats命令分组统计即可完成需求,无需复杂关联查询,具体语句如下:
index="snmp_index" securityName="trap*" | regex securityName!="(?i)trap...(A[K,L,R,Z]|BH|C[A,H,O,T]|D[C,E]|FL|GA|HI|I[A,D]|I[L,N]|K[S,Y]|LA|M[A,D-E,I,N,O,S-T]|N[C-E,H,J,M,V,Y]|O[H,K,R]|P[A,G]|RI|S[C-D,P]|SP|T[N,X]|UT|V[A,T]|W[A,I,V,Y])" | stats dc(securityName) as unique_sn_count values(securityName) as sn_list by peer | where unique_sn_count >= 2
语句各部分说明:
index="snmp_index" securityName="trap*":基础过滤,限定SNMP索引和以trap开头的社区字符串regex securityName!="...":排除符合你定义的有效正则的字符串,仅保留不符合规则的记录stats dc(securityName) as unique_sn_count values(securityName) as sn_list by peer:按设备peer分组,统计每个设备下唯一的无效社区字符串数量,同时列出这些字符串where unique_sn_count >= 2:筛选出拥有2个及以上无效唯一字符串的设备
执行后会直接返回符合条件的peer列表,以及对应的无效字符串集合,无需再借助Excel整理。
内容的提问来源于stack exchange,提问作者Egotagged
相关产品推荐
相关产品推荐

