1258945SrobertoNTP SNMP subagent for Net-SNMP
2258945Sroberto
3258945SrobertoInstallation Guides:
4258945Sroberto
5258945Sroberto- install net-snmp from source (configure, make;, make install)
6258945Sroberto- edit the snmpd configuration file (/usr/local/share/snmp/snmpd.conf):
7258945Sroberto  add the lines
8258945Sroberto   master agentx
9258945Sroberto   agentXSocket   tcp:localhost:705
10258945Sroberto  and check which read-only community is configured (should be "rocommunity  public")  
11258945Sroberto- start snmpd (sudo /usr/local/sbin/snmpd) and check that it is running correctly by running the command
12258945Sroberto  snmpwalk -v2c -c public localhost
13258945Sroberto  (which should output a lot of data values for the supported built-in MIBs of net-snmp)
14258945Sroberto- build the libntpq and the libntp library
15258945Sroberto- build the ntpsnmpd application (make) and run it (./ntpsnmpd)
16258945Sroberto- now you can run 
17258945Sroberto   snmpwalk -v2c -c public localhost enterprises.5597.99
18258945Sroberto  which should give you a list of all currently supported NTP MIB objects and their current values
19258945Sroberto  
20258945SrobertoPlease 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). 
21258945SrobertoThe final OID has to be registered with IANA and this is done by the RFC Editor when the NTPv4 MIB RFC is standardized. 
22258945SrobertoI will try to do this earlier in order to be able to have a working solution at the end of this project.
23258945Sroberto
24258945SrobertoIn its current state the daemon supports these objects:
25258945Sroberto
26258945SrobertontpEntSoftwareName
27258945SrobertontpEntSoftwareVersion
28258945SrobertontpEntSoftwareVersionVal
29258945SrobertontpEntSoftwareVendor
30258945SrobertontpEntSystemType
31258945SrobertontpEntTimeResolution
32258945SrobertontpEntTimeResolutionVal
33258945SrobertontpEntTimePrecision
34258945SrobertontpEntTimePrecisionVal
35258945SrobertontpEntTimeDistance
36258945Sroberto
37258945SrobertoThey all use the libntpq library to access information from the ntpd instance with mode 6 packets.
38258945Sroberto
39258945SrobertoNext step is to implement the status section of the MIB (section 2). 
40258945Sroberto
41