- 論壇徽章:
- 0
|
欲通過調(diào)用Agent動(dòng)態(tài)獲取系統(tǒng)資源(比如:CPU利用百分?jǐn)?shù))
希望每次調(diào)用snmpget時(shí)得到的結(jié)果都是實(shí)時(shí)更新的。
目前我做的只能獲取一個(gè)靜態(tài)的值,即在調(diào)用snmpget的時(shí)候Agent沒有再次調(diào)用函數(shù)。
我的做法如下:
1. 寫mib文件,并使用mib2c編譯;
2. 將編譯生成的.c文件修改,關(guān)鍵部分為:
#include <...>
...
long testAgentCpu1 = 1; /* 欲輸出的變量 */
void init_testAgentCpu1(void){
static oid testAgentCpu1_oid[] = { 1,3,6,1,4,1,8072,2,4,1,1,1 };
al_share_mem(&testAgentCpu1); /* 俺寫的函數(shù) */
...
netsnmp_register_int_instance("testAgentCpu1",
testAgentCpu1_oid,
OID_LENGTH(testAgentCpu1_oid),
&testAgentCpu1, NULL);
}//file ended
將該文件編譯后,啟動(dòng)snmpd,用snmpget得到的值總是不變(實(shí)際上cpu的值是變化的),說明沒有調(diào)用al_share_mem()函數(shù)。
請高人指點(diǎn)。。 |
|