3,880
社区成员




#include <iostream>
#include <string>
#include <snmp_pp/snmp_pp.h>
//cpu
//.1.3.6.1.4.1.2021.11.11.0 idle percentage
//.1.3.6.1.2.1.25.2.2.0 memory size
//.1.3.6.1.2.1.25.2.3.1.6.1 free_mem_used
//-
//.1.3.6.1.2.1.25.2.3.1.6.6 free_mem_buffers
//-
//.1.3.6.1.2.1.25.2.3.1.6.7 free_mem_cached
//disk
//.1.3.6.1.4.1.2021.9.1.7 disk available
//.1.3.6.1.4.1.2021.9.1.8 disk used
//.1.3.6.1.4.1.2021.9.1.9 disk used percentage
//network
const std::string cpuIdleOid("1.3.6.1.4.1.2021.9.1.7");
void get_system(){
int status;
CTarget ctarget((IpAddress)"202.127.204.190");
Oid id(cpuIdleOid.c_str());
std::cout<<id.get_printable()<<std::endl;
//ctarget.set_timeout(100);//unit 1/100s 100* 1/100s
Vb vb(Oid(cpuIdleOid.c_str()));
Pdu pdu;
Snmp snmp(status);
if(status!=SNMP_CLASS_SUCCESS){
std::cout<<snmp.error_msg(status)<<std::endl;
return;
}
pdu+=vb;
if((status=snmp.get(pdu,ctarget))!=SNMP_CLASS_SUCCESS){
std::cout<<"error:"<<snmp.error_msg(status)<<std::endl;
}else{
pdu.get_vb(vb,0);
std::cout<<"System Descriptor="<<vb.get_printable_value()<<std::endl;
}
}
int main(int argc,char**argv){
get_system();
return 0;
}