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