交换机端口过滤
This commit is contained in:
@@ -23,6 +23,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class SwitchBoardServiceImpl implements SwitchBoardService {
|
public class SwitchBoardServiceImpl implements SwitchBoardService {
|
||||||
@@ -404,6 +405,7 @@ public class SwitchBoardServiceImpl implements SwitchBoardService {
|
|||||||
ifNumberOID = GlobalConfig.OTHER_INDEX_OID;
|
ifNumberOID = GlobalConfig.OTHER_INDEX_OID;
|
||||||
filter_value = GlobalConfig.OTHER_FILTER;
|
filter_value = GlobalConfig.OTHER_FILTER;
|
||||||
}
|
}
|
||||||
|
AssertLog.info("交换机采集type={},筛选端口={}",type,JSON.toJSONString(filter_value));
|
||||||
if(StringUtils.isBlank(ifNumberOID)){
|
if(StringUtils.isBlank(ifNumberOID)){
|
||||||
System.err.println("未初始化索引OID");
|
System.err.println("未初始化索引OID");
|
||||||
return "";
|
return "";
|
||||||
@@ -437,19 +439,28 @@ public class SwitchBoardServiceImpl implements SwitchBoardService {
|
|||||||
}
|
}
|
||||||
// 提取最后一个值:就是 ifIndex 编号
|
// 提取最后一个值:就是 ifIndex 编号
|
||||||
int ifIndex = returnedOid.get(returnedOid.size() - 1);
|
int ifIndex = returnedOid.get(returnedOid.size() - 1);
|
||||||
// System.out.println("Found port index: " + ifIndex);
|
int value = vb.getVariable().toInt();
|
||||||
if(!filter_value.contains(String.valueOf(ifIndex))){
|
if(CollectionUtil.isEmpty(filter_value)){
|
||||||
|
// AssertLog.info("交换机采集type={},索引返回:值={}",type,vb);
|
||||||
indexes.add(ifIndex);
|
indexes.add(ifIndex);
|
||||||
|
}else{
|
||||||
|
if(filter_value.contains(String.valueOf(value))){
|
||||||
|
// AssertLog.info("交换机采集type={},索引返回:值={}",type,vb);
|
||||||
|
indexes.add(ifIndex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 更新下一次请求的起始 OID(SNMP Walk)
|
// 更新下一次请求的起始 OID(SNMP Walk)
|
||||||
pdu.set(0, new VariableBinding(responsePdu.getVariableBindings().get(0).getOid()));
|
pdu.set(0, new VariableBinding(responsePdu.getVariableBindings().get(0).getOid()));
|
||||||
}
|
}
|
||||||
System.out.println("\n=== 接口数量: " + indexes.size() + " ===");
|
|
||||||
if(CollectionUtil.isEmpty(indexes)){
|
if(CollectionUtil.isEmpty(indexes)){
|
||||||
System.err.println("返回获取索引列表为空");
|
System.err.println("返回获取索引列表为空");
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
//去重
|
||||||
|
indexes = indexes.stream().distinct().collect(Collectors.toList());
|
||||||
|
System.out.println("\n=== 接口数量: " + indexes.size() + " ===");
|
||||||
|
System.out.println("\n=== 接口列表: " + JSON.toJSONString(indexes));
|
||||||
String[] ifOIDs = oidParams.keySet().toArray(new String[0]);
|
String[] ifOIDs = oidParams.keySet().toArray(new String[0]);
|
||||||
String[] params = oidParams.values().toArray(new String[0]);
|
String[] params = oidParams.values().toArray(new String[0]);
|
||||||
if(!StringUtils.equals(type,"switchNet") && !StringUtils.equals(type,"switchModule")
|
if(!StringUtils.equals(type,"switchNet") && !StringUtils.equals(type,"switchModule")
|
||||||
@@ -514,7 +525,7 @@ public class SwitchBoardServiceImpl implements SwitchBoardService {
|
|||||||
if (event != null && event.getResponse() != null) {
|
if (event != null && event.getResponse() != null) {
|
||||||
VariableBinding[] vbs = event.getResponse().getVariableBindings().toArray(new VariableBinding[0]);
|
VariableBinding[] vbs = event.getResponse().getVariableBindings().toArray(new VariableBinding[0]);
|
||||||
for (int m = 0; m < params.length; m++) {
|
for (int m = 0; m < params.length; m++) {
|
||||||
AssertLog.info("参数名:{},值={}", params[m],vbs[m]);
|
// AssertLog.info("参数名:{},值={}", params[m],vbs[m]);
|
||||||
json.put(params[m],vbs[m].getVariable().toString());
|
json.put(params[m],vbs[m].getVariable().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user