Skip to main content

SNMP Troubleshooting

SNMP Troubleshooting

The InterSystems IRIS 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 InterSystems IRIS 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 InterSystems IRIS to communicate with the SNMP agent.

All Systems

  • Make sure the SNMP agent is working independently of InterSystems IRIS 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 InterSystems IRIS MIB, then check for a background process in InterSystems IRIS 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 messages.log and SNMP.log log files in the InterSystems IRIS install-dir/mgr directory. On Windows, iscsnmp.dll logs any errors it encounters in Windows\System32\snmpdbg.log (on a 64–bit Windows system, the file is in the SysWOW64 subdirectory).

  • Make sure the InterSystems IRIS %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 InterSystems IRIS subagent process. This logs details about each message received and sent.

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.

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

    Note:

    If InterSystems IRIS 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 InterSystems IRIS ^SNMP process is actually started by a callback from the SNMP service into InterSystems IRIS. It may take a few seconds for the process to start, and a few more seconds before it can respond to queries.

UNIX® Systems

Many UNIX operating systems (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 and macOS with Net-SNMP

  • 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 InterSystems IRIS subagent starts and runs without error, but no SNMP requests are forwarded to InterSystems IRIS. You must expand the “views” defined in snmpd.conf to include the InterSystems IRIS MIB subtree.

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

FeedbackOpens in a new tab