Note: There might not be an snmpd.conf file on the machine and so it is presented here in its entirety.
########################################################################### # # snmpd.conf # # - created by the snmpconf configuration program # ########################################################################### # SECTION: Trap Destinations # # Here we define who the agent will send traps to. # trapcommunity: Default trap sink community to use # arguments: community-string trapcommunity UofW # authtrapenable: Should we send traps when authentication failures occur # arguments: 1 | 2 (1 = yes, 2 = no) authtrapenable 2 ########################################################################### # SECTION: System Information Setup # # This section defines some of the information reported in # the "system" mib group in the mibII tree. # syslocation: The [typically physical] location of the system. # Note that setting this value here means that when trying to # perform an snmp SET operation to the sysLocation.0 variable will make # the agent return the "notWritable" error code. IE, including # this token in the snmpd.conf file will disable write access to # the variable. # arguments: location_string syslocation "School of Computer Science, University of Wateloo" # syscontact: The contact information for the administrator # Note that setting this value here means that when trying to # perform an snmp SET operation to the sysContact.0 variable will make # the agent return the "notWritable" error code. IE, including # this token in the snmpd.conf file will disable write access to # the variable. # arguments: contact_string syscontact "csi-snmp@cscf.cs.uwaterloo.ca" # sysservices: The proper value for the sysServices object. # arguments: sysservices_number sysservices 76 ########################################################################### # SECTION: Access Control Setup # # This section defines who is allowed to talk to your running # snmp agent # rwuser: a SNMPv3 read-write user # arguments: user [noauth|auth|priv] [restriction_oid] #rwuser cscfadm # rouser: a SNMPv3 read-only user # arguments: user [noauth|auth|priv] [restriction_oid] #rouser UofW # rocommunity: a SNMPv1/SNMPv2c read-only access community name # arguments: community [default|hostname|network/bits] [oid] rocommunity "UofW" 129.97.0.0/16 rocommunity "UofW" 172.16.0.0/12 rocommunity "UofW" 10.0.0.0/8 rocommunity "UofW" 127.0.0.1 # rwcommunity: a SNMPv1/SNMPv2c read-write access community name # arguments: community [default|hostname|network/bits] [oid] ########################################################################### # SECTION: Monitor Various Aspects of the Running Host # # The following check up on various aspects of a host. # proc: Check for processes that should be running. # proc NAME [MAX=0] [MIN=0] # # NAME: the name of the process to check for. It must match # exactly (ie, http will not find httpd processes). # MAX: the maximum number allowed to be running. Defaults to 0. # MIN: the minimum number to be running. Defaults to 0. # # The results are reported in the prTable section of the UCD-SNMP-MIB tree # Special Case: When the min and max numbers are both 0, it assumes # you want a max of infinity and a min of 1. # disk: Check for disk space usage of a partition. # The agent can check the amount of available disk space, and make # sure it is above a set limit. # # disk PATH [MIN=100000] # # PATH: mount path to the disk in question. # MIN: Disks with space below this value will have the Mib's errorFlag set. # Can be a raw byte value or a percentage followed by the % # symbol. Default value = 100000. # # The results are reported in the dskTable section of the UCD-SNMP-MIB tree disk "/" MIN=5% # load: Check for unreasonable load average values. # Watch the load average levels on the machine. # # load [1MAX=12.0] [5MAX=12.0] [15MAX=12.0] # # 1MAX: If the 1 minute load average is above this limit at query # time, the errorFlag will be set. # 5MAX: Similar, but for 5 min average. # 15MAX: Similar, but for 15 min average. # # The results are reported in the laTable section of the UCD-SNMP-MIB tree load 20 15 10 # file: Check on the size of a file. # Display a files size statistics. # If it grows to be too large, report an error about it. # # file /path/to/file [maxsize_in_bytes] # # if maxsize is not specified, assume only size reporting is needed. # # The results are reported in the fileTable section of the UCD-SNMP-MIB tree file /var/log/system.log 1000000
Also, /System/Library/LaunchDaemons/org.net-snmp.snmpd.plist needs to be modified with the following:
\f0\fs24 \cf0 <?xml version="1.0" encoding="UTF-8"?>\ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\ <plist version="1.0">\ <dict>\ <key>Disabled</key>\ <false/> <key>Label</key>\ <string>org.net-snmp.snmpd</string>\ <key>OnDemand</key>\ <false/>\ <key>Program</key>\ <string>/usr/sbin/snmpd</string>\ <key>ProgramArguments</key>\ <array>\ <string>snmpd</string>\ <string>-f</string>\ </array>\ <key>RunAtLoad</key> <true/>\ <key>ServiceIPC</key>\ <false/>\ </dict>\ </plist>\
Currently the plist as shipped in base Mac OS X image is as follows:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <true/> <key>Label</key> <string>org.net-snmp.snmpd</string> <key>OnDemand</key> <false/> <key>Program</key> <string>/usr/sbin/snmpd</string> <key>ProgramArguments</key> <array> <string>snmpd</string> <string>-f</string> </array> <key>ServiceIPC</key> <false/> </dict> </plist>Initially the "Disabled" key is true and needs to be false (in order to run i.e. you want to enable it to run) and I included a "RunAtLoad" key (where RunAtLoad is equivalent to the "launchctl load -w" command).
-- EdwardChrzanowski - 2014-10-27