Skip to main content

SNMP Troubleshooting

SNMP Troubleshooting

The Caché subagent (running the ^SNMP routine) depends on the correct installation and configuration of the SNMP master agent supplied by the operating system. As noted in Caché as a Subagent, there are two main ways in which the ^SNMP routine communicates with this master agent:

  • Primarily, ^SNMP uses the AgentX protocol on TCP port 705

  • On Windows, ^SNMP uses a Windows extension agent DLL installed as iscsnmp.dll.

Detailed instructions for configuring the SNMP agent should be supplied with the operating system, and system managers should take some time to understand how to do this. The following are some basic guidelines and tips for troubleshooting if problems are encountered in getting Caché to communicate with the SNMP agent.


On all systems:

  • Make sure the SNMP agent is working independently of Caché and you can at least query the mib-2.system tree for general system information. If this fails, on Windows check the Windows SNMP Service; on UNIX®/Linux see if the SNMP daemon (snmpd) is running.

  • If you can successfully query the SNMP system information but not the Caché MIB, then check for a background process in Caché running the ^SNMP routine. Try starting it using the $$start^SNMP() function. If the routine starts but does not continue running, check for errors in the cconsole.log and SNMP.log log files in the Caché install-dir/mgr directory. On Windows, iscsnmp.dll logs any errors it encounters in %System%\System32\snmpdbg.log (on a 64–bit Windows system, the file is in the SysWOW64 subdirectory).

  • Make sure the Caché %Service_Monitor service is enabled.

  • More information can be logged to the SNMP.log file if you set ^SYS(“MONITOR”,”SNMP”,”DEBUG”)=1 in the %SYS namespace and restart the ^SNMP Caché subagent process. This logs details about each message received and sent.


On Windows systems:

  • Not all Windows versions install the Windows SNMP service by default. You may need to do this as an additional step. Make sure the Security tab of the Properties dialog for the service has at least a public community with READ rights. To send SNMP traps, you must define a Community Name and Destination on the Trap tab of the properties dialog.

  • Caché expects the SNMP service to be installed before you install Caché, so it can add iscsnmp.dll to the proper Registry keys. Once Caché is installed, the SNMP service must be restarted so that it properly loads iscsnmp.dll and will find and communicate with the new Caché instance.


    If Caché is installed before the SNMP service, iscsnmp.dll cannot be properly registered, and you must use the set myStatus=$$Register^SNMP() function to do this after the Windows SNMP service is installed. Once this is done the SNMP service must be restarted.

  • On Windows, the $$start^SNMP() function only signals the SNMP service, and the Caché ^SNMP process is actually started by a callback from the SNMP service into Cache. It may take a few seconds for the process to start, and a few more seconds before it can respond to queries.


Many UNIX operating systems (such as IBM AIX®) do not support the AgentX protocol at this time. If your system does not support AgentX, you must install a separate SNMP agent which supports AgentX, such as Net-SNMP.

Linux/Mac OS X and Net-SNMP

On Linux and Mac OS X systems:

  • AgentX support is not enabled by default, and the default port is not 705. You must modify the snmpd.conf file and add master agentx and agentXSocket TCP:localhost:705, or use snmpd -x TCP:localhost:705 on the command line.

  • Basic system information like syslocation, syscontact and sysservices must be defined in snmpd.conf to enable successful startup of the snmpd daemon.

  • Recent versions of Net-SNMP also implement VACM (View-based Access Control Model) security and, by default, allow access to the mib-2.system subtree only; as a result, the Caché subagent starts and runs without error, but no SNMP requests are forwarded to Caché. You must expand the “views” defined in snmpd.conf to include the Caché MIB subtree.

  • To send SNMP traps, you must define a destination using the trapsink parameter in snmpd.conf, for example trapsink public.

FeedbackOpens in a new tab