本文整理汇总了Java中org.snmp4j.util.TableEvent.getColumns方法的典型用法代码示例。如果您正苦于以下问题:Java TableEvent.getColumns方法的具体用法?Java TableEvent.getColumns怎么用?Java TableEvent.getColumns使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.snmp4j.util.TableEvent
的用法示例。
在下文中一共展示了TableEvent.getColumns方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: querySingleSNMPTableByOID
import org.snmp4j.util.TableEvent; //导入方法依赖的package包/类
public List<SNMPTriple> querySingleSNMPTableByOID(String oid) throws IOException
{
if(oid == null || oid.isEmpty())return null;
if(!oid.startsWith("."))oid = "."+oid;
TableUtils tUtils = new TableUtils(snmp, new DefaultPDUFactory());
List<TableEvent> events = tUtils.getTable(getTarget(), new OID[]{new OID(oid)}, null, null);
List<SNMPTriple> snmpList = new ArrayList<SNMPTriple>();
for (TableEvent event : events) {
if(event.isError()) {
logger.warning("SNMP event error: "+event.getErrorMessage());
continue;
//throw new RuntimeException(event.getErrorMessage());
}
for(VariableBinding vb: event.getColumns()) {
String key = vb.getOid().toString();
String value = vb.getVariable().toString();
snmpList.add(new SNMPTriple(key, "", value));
}
}
return snmpList;
}
示例2: getDiskIndex
import org.snmp4j.util.TableEvent; //导入方法依赖的package包/类
private int getDiskIndex(String device) throws IOException {
TableUtils tUtils = new TableUtils(snmp, new DefaultPDUFactory());
logger.fine("Query "+this.address+" for disk data: "+device);
@SuppressWarnings("unchecked")
List<TableEvent> events = tUtils.getTable(getTarget(), new OID[]{new OID("."+DISK_TABLE_DEVICE_OID)}, null, null);
for (TableEvent event : events) {
if(event.isError()) {
logger.warning("SNMP event error: "+event.getErrorMessage());
continue;
//throw new RuntimeException(event.getErrorMessage());
}
for(VariableBinding vb: event.getColumns()) {
String key = vb.getOid().toString();
String value = vb.getVariable().toString();
if(value!=null && value.equals(device))
{
logger.fine("Find device OID entry: "+key);
int index = -1;
String[] strs = key.split("\\.");
try
{
index = Integer.parseInt(strs[strs.length-1]);
}catch(Exception ex){}
return index;
}
}
}
return -1;
}
示例3: getNetIfIndexes
import org.snmp4j.util.TableEvent; //导入方法依赖的package包/类
private Map<Integer, String> getNetIfIndexes(String device) throws IOException {
Map<Integer, String> ifMaps = new HashMap<Integer, String> ();
TableUtils tUtils = new TableUtils(snmp, new DefaultPDUFactory());
logger.fine("Query "+this.address+" for network interface, excluding lo");
@SuppressWarnings("unchecked")
List<TableEvent> events = tUtils.getTable(getTarget(), new OID[]{new OID("."+IF_TABLE_DEVICE_OID)}, null, null);
for (TableEvent event : events) {
if(event.isError()) {
logger.warning("SNMP event error: "+event.getErrorMessage());
continue;
//throw new RuntimeException(event.getErrorMessage());
}
for(VariableBinding vb: event.getColumns()) {
String key = vb.getOid().toString();
String value = vb.getVariable().toString();
if(device!=null && !device.isEmpty() && !value.equalsIgnoreCase(device))
continue;
if(value!=null && !value.equalsIgnoreCase("lo"))
{
logger.fine("Find device OID entry: "+key);
int index = -1;
String[] strs = key.split("\\.");
try
{
index = Integer.parseInt(strs[strs.length-1]);
ifMaps.put(index, value);
}catch(Exception ex){}
}
}
}
return ifMaps;
}
示例4: getProcessIndexes
import org.snmp4j.util.TableEvent; //导入方法依赖的package包/类
/**
* Query index for given process name. Note the parameter only provides 128 characters,
* so it could be difficult for us to differentiate each other if multi processes with same name exist.
* So we will return this list and use the sum from all processes for our metrics
* @param process
* @return
* @throws IOException
*/
private List<Integer> getProcessIndexes(String process) throws IOException {
List<Integer> indexes = new ArrayList<Integer> ();
if(process == null || process.isEmpty())return indexes;
TableUtils tUtils = new TableUtils(snmp, new DefaultPDUFactory());
logger.fine("Query "+this.address+" for process " + process);
@SuppressWarnings("unchecked")
List<TableEvent> events = tUtils.getTable(getTarget(), new OID[]{new OID("."+PROCESS_TABLE_OID)}, null, null);
for (TableEvent event : events) {
if(event.isError()) {
logger.warning("SNMP event error: "+event.getErrorMessage());
continue;
//throw new RuntimeException(event.getErrorMessage());
}
for(VariableBinding vb: event.getColumns()) {
String key = vb.getOid().toString();
String value = vb.getVariable().toString();
if(process!=null && !process.isEmpty() && !value.equalsIgnoreCase(process))
continue;
if(value!=null)
{
logger.fine("Find process OID entry: "+key);
int index = -1;
String[] strs = key.split("\\.");
try
{
index = Integer.parseInt(strs[strs.length-1]);
indexes.add(index);
}catch(Exception ex){}
}
}
}
return indexes;
}
示例5: row
import org.snmp4j.util.TableEvent; //导入方法依赖的package包/类
/**
* Decodes a row into name-value pairs; assuming the columns are supplied in
* order of table OID.
*
* @throws IllegalStateException if OIDs don't correspond
*/
public Map<String, Variable> row(TableEvent te) {
Map<String, Variable> map = new HashMap<String, Variable>();
for (int i = 0; i < te.getColumns().length; i++) {
String colName = columns.get(i);
VariableBinding vb = te.getColumns()[i];
if (!vb.getOid().startsWith(oids[i]))
throw new IllegalStateException(vb + " does not start with " + oids[i]);
map.put(colName, vb.getVariable());
}
return map;
}
示例6: decode
import org.snmp4j.util.TableEvent; //导入方法依赖的package包/类
/**
* Decode a table event for a table, assuming the columns are as ordered in the
* call to {@link #getTable(String)}.
*
* @param tableName
* @param te
* @return
*/
public Map<String, Variable> decode(String tableName, TableEvent te) {
HashMap<String, Variable> hm = new HashMap<String, Variable>();
log.debug(te);
for (VariableBinding vb : te.getColumns()) {
String key = oids.get(vb.getOid());
Variable var = vb.getVariable();
hm.put(key, var);
}
return hm;
}
示例7: getDiskIndexes
import org.snmp4j.util.TableEvent; //导入方法依赖的package包/类
private Map<Integer, String> getDiskIndexes() throws IOException {
Map<Integer, String> diskIndexes = new HashMap<Integer, String>();
TableUtils tUtils = new TableUtils(snmp, new DefaultPDUFactory());
logger.fine("Query "+this.address+" for disk oids");
@SuppressWarnings("unchecked")
List<TableEvent> events = tUtils.getTable(getTarget(), new OID[]{new OID("."+DISK_TABLE_DEVICE_OID)}, null, null);
for (TableEvent event : events) {
if(event.isError()) {
logger.warning("SNMP event error: "+event.getErrorMessage());
continue;
//throw new RuntimeException(event.getErrorMessage());
}
for(VariableBinding vb: event.getColumns()) {
String key = vb.getOid().toString();
String value = vb.getVariable().toString();
if(value == null || value.isEmpty() || value.startsWith("dm-"))continue;//ignore dm disk
if(value.startsWith("ram") || value.startsWith("loop") )continue;//ignore dm disk
char c = value.charAt(value.length()-1);
if(c>='0' && c<='9' )
{
if(value.startsWith("sd"))
{
if(value.length()>2)
{
char d = value.charAt(2);
if(d>='a' && d<='z')continue;
}
}
}
logger.fine("Find device OID entry: "+key);
int index = -1;
String[] strs = key.split("\\.");
try
{
index = Integer.parseInt(strs[strs.length-1]);
diskIndexes.put(index, value);
}catch(Exception ex){}
}
}
return diskIndexes;
}