利用snmp4j通過SNMP獲取遠端伺服器狀態

2021-08-21 21:43:48 字數 1287 閱讀 7022

執行命令yum install net-snmp-utils net-snmp 即可安裝。

配置:vi /etc/snmp/snmpd.conf 配置檔案,找到view    systemview    included這一行,在下面加上一行:

view    all    included   .1,同時修改一行:access  notconfiggroup ""      any       noauth    exact  systemview none none中的systemview為all。重啟snmpd服務:service snmpd restart。

可以執行相關指令測試:

snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.4.5.0  //給出指定的oid獲取其值

snmptranslate -tp .1.3.6.1.2.1 | more  //顯示出整個mib樹以及其上oid的資訊

1、新增依賴:

org.snmp4j

snmp4j

2.6.2

2、**示例:     

public class snmpgetasyn

pdu pdu = new pdu();

for (string oid : oidlist)

final countdownlatch latch = new countdownlatch(1);

responselistener listener = new responselistener() else if (response.geterrorstatus() != 0) else

system.out.println("snmp asyn getlist oid finished. ");

latch.countdown();}}

};pdu.settype(pdu.get);

snmp.send(pdu, target, null, listener);

system.out.println("asyn send pdu wait for response...");

boolean wait = latch.await(30, timeunit.seconds);

system.out.println("latch.await =:" + wait);

snmp.close();

} catch (exception e)

return cpudata;

}public static void main(string args)

}

使用snmp4j實現Snmp功能(一)

上面的這段 直接參考snmp4j api說明文件中提供的例子,是乙個最簡單的snmp4j的應用。只要你的機器裡安裝了snmp通訊元件,上面的 應該可以執行成功。在上乙個例子中,我們只做了讀取的工作,接下來,我們進行一下設定操作,通過snmp修改讀取的機器名。public的預設許可權是唯讀,要想進行寫...

使用snmp4j實現Snmp功能(三)

前兩篇文章講了如何使用snmp4j實現set get 使用snmp4j實現snmp功能 一 以及傳送 接收trap 使用snmp4j實現snmp功能 二 功能。在我們前面的實現中,如果訪問mib庫中不存在的oid,get方式的話,我們會得到乙個null值,而set方式時agent端會把我們發過去的p...

Snmp4j程式設計簡介之一

snmp4j程式設計簡介之一 target 關於snmp4j包,最重要三個概念,也是三個類 snmp target pdu。target,表示被管理的裝置。對於乙個被管理的裝置,我們關注它的address,它使用的協議版本version,訪問它的使用者名稱和密碼 以及對這個裝置我們設定跟它打交道的一...