1*2b15cb3dSCy SchubertNTP SNMP subagent for Net-SNMP 2*2b15cb3dSCy Schubert 3*2b15cb3dSCy SchubertInstallation Guides: 4*2b15cb3dSCy Schubert 5*2b15cb3dSCy Schubert- install net-snmp from source (configure, make;, make install) 6*2b15cb3dSCy Schubert- edit the snmpd configuration file (/usr/local/share/snmp/snmpd.conf): 7*2b15cb3dSCy Schubert add the lines 8*2b15cb3dSCy Schubert master agentx 9*2b15cb3dSCy Schubert agentXSocket tcp:localhost:705 10*2b15cb3dSCy Schubert and check which read-only community is configured (should be "rocommunity public") 11*2b15cb3dSCy Schubert- start snmpd (sudo /usr/local/sbin/snmpd) and check that it is running correctly by running the command 12*2b15cb3dSCy Schubert snmpwalk -v2c -c public localhost 13*2b15cb3dSCy Schubert (which should output a lot of data values for the supported built-in MIBs of net-snmp) 14*2b15cb3dSCy Schubert- build the libntpq and the libntp library 15*2b15cb3dSCy Schubert- build the ntpsnmpd application (make) and run it (./ntpsnmpd) 16*2b15cb3dSCy Schubert- now you can run 17*2b15cb3dSCy Schubert snmpwalk -v2c -c public localhost enterprises.5597.99 18*2b15cb3dSCy Schubert which should give you a list of all currently supported NTP MIB objects and their current values 19*2b15cb3dSCy Schubert 20*2b15cb3dSCy SchubertPlease note that currently I use a private MIB OID (enterprises.5597 is the Meinberg top level OEM OID and 99 is my temporary working space for this project). 21*2b15cb3dSCy SchubertThe final OID has to be registered with IANA and this is done by the RFC Editor when the NTPv4 MIB RFC is standardized. 22*2b15cb3dSCy SchubertI will try to do this earlier in order to be able to have a working solution at the end of this project. 23*2b15cb3dSCy Schubert 24*2b15cb3dSCy SchubertIn its current state the daemon supports these objects: 25*2b15cb3dSCy Schubert 26*2b15cb3dSCy SchubertntpEntSoftwareName 27*2b15cb3dSCy SchubertntpEntSoftwareVersion 28*2b15cb3dSCy SchubertntpEntSoftwareVersionVal 29*2b15cb3dSCy SchubertntpEntSoftwareVendor 30*2b15cb3dSCy SchubertntpEntSystemType 31*2b15cb3dSCy SchubertntpEntTimeResolution 32*2b15cb3dSCy SchubertntpEntTimeResolutionVal 33*2b15cb3dSCy SchubertntpEntTimePrecision 34*2b15cb3dSCy SchubertntpEntTimePrecisionVal 35*2b15cb3dSCy SchubertntpEntTimeDistance 36*2b15cb3dSCy Schubert 37*2b15cb3dSCy SchubertThey all use the libntpq library to access information from the ntpd instance with mode 6 packets. 38*2b15cb3dSCy Schubert 39*2b15cb3dSCy SchubertNext step is to implement the status section of the MIB (section 2). 40*2b15cb3dSCy Schubert 41