[ proc @ 17.02.2020. 07:10 ] @
Zdravo, Nesto pravim za Grafana pa sam nasao Python pysnmp modul sa ugradjenim SNMP koji sam mislio adaptirati sa OID ... http://snmplabs.com/pysnmp/exa...mdgen/modifying-variables.html Sve fercera ali bi htio promijeniti return ... naime preko scripta posaljem pitanje ka SNMP serveru u vidu OID i u "return" se ispise odgovor - u ovom slucaju wholeMsg ... Code: # noinspection PyUnusedLocal,PyUnusedLocal def cbRecvFun(transportDispatcher, transportDomain, transportAddress, wholeMsg, reqPDU=reqPDU): while wholeMsg: rspMsg, wholeMsg = decoder.decode(wholeMsg, asn1Spec=pMod.Message()) rspPDU = pMod.apiMessage.getPDU(rspMsg) # Match response to request if pMod.apiPDU.getRequestID(reqPDU) == pMod.apiPDU.getRequestID(rspPDU): # Check for SNMP errors reported errorStatus = pMod.apiPDU.getErrorStatus(rspPDU) if errorStatus: print(errorStatus.prettyPrint()) else: for oid, val in pMod.apiPDU.getVarBinds(rspPDU): print('%s = %s' % (oid.prettyPrint(), val.prettyPrint())) transportDispatcher.jobFinished(1) return wholeMsg Interesira me kako bih mogao promijejiti return, da nekako postavljene OID (lista valjda ?) nekako prevedem kako ja hocu ... nesto kao neka "translate" funckija koja bi recimo bila npr umjesto .1.3.6.1.2.1.1.3.0 koje je OID za uptime - u return-u bilo samo uptime i value ... itd Znam da postoje list u Python programiranju (nisam nikakav expert) ali bih bio zahvalan za neki prijedlog/pomoc oko ovog return koje me zakocilo fakat. Hvala. |