Question
Glenn van Bavel · May 4, 2017

SNMP Service can't connect with Caché SNMP agent

Whenever the Windows SNMP Service restarts, the snmpdbg log says the following. 

13:08:59 :Attempting initial TCP connection(s) with 1 Cache instances ...
13:08:59 :Get connection with ENSEMBLE on port 1972
13:08:59 :Connection refused on port 1972, check if Cache instance ENSEMBLE is started.
13:08:59 :Cache iscsnmp.dll initialized for 1 configs

Ensemble and all productions are running. I've set up Caché SNMP agent on many other servers in our company and those are working fine. However this one server won't budge. 

Does anyone have any idea what the problem may be here? 

Regards,

Glenn

00
4 0 10 868
Log in or sign up to continue

Any information appearing in cconsole.log on the server? Or in the audit database?

Is this a local SNMP service connecting to a local Ensemble instance? Any chance of it being a firewalling issue?

Hi John, the cconsole.log and audit database hasnt shown any information regarding SNMP. (SNMP debug is enabled)

Otherwise, everything is locally installed on the server. I've also tried disabling the Firewall.

 

SNMP Service was installed prior to the Cache SNMP agent. Registering the agent was succesful (I believe you helped me with that in a earlier post)  I've also rebooted the entire server which helped with a few other servers I've set up. 

Ah yes, I have seen that article. However most of it is intended for Redhat OS. 

I am currently out of options to troubleshoot. Either way, thank you for your help. If I come about a solution, I will post it here. 

 

Hi Fabian, thanks for the list of things to try.

I registered the iscnmp.dll again. %Monitor Services are running. Productions are running. ENSEMBLE instance is running. 

However I did not see any SNMP listing in the System > Processes list. 

Ireasoning MIB browser can succesfuly walk the Windows MIB file. But when I walk an entry in the Cache-MIB it displays (No data available)

Have any thoughts?

Hi!

A couple of things to note/check on your end:

  • %SYS_Monitor service is enabled (and is not restricting access for your IP)
  • Make sure the iscsnmp.dll is registered. You can run
    d $ZU(190,5,0) to delete the registry entries
    and
    d $ZU(190,5,1) to add them again.

  • Restart SNMP in Cache:
    zn "%SYS"
    d stop^SNMP
    d start^SNMP

  • Make sure there is a SNMP job running in your instance (System -> Processes, filter for SNMP)

  • Make sure the windows firewall allows connections, in doubt you could disable the windows
    firewall service temporarily

For debugging you can set:

  s  ^SYS("MONITOR","SNMP","DEBUG")=1

Which will create a SNMP.log file in your mgr directory.

As well as in the registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intersystems\Cache\SNMP\CurrentVersion

(for 64bit)

"Debug" = "true" (String value)

Which will create a file snmpdbg.log in c:\windows\syswow64\snmpdbg.log

Then you can try and get a value directly like this:

snmpwalk -r:"localhost" -os:.1.3.6.1.4.1.16563.1.1.1.1.3 -op:.1.3.6.1.4.1.16563.1.1.1.1.4

(or you can use a tool like the iReasoning MIBBrowser..., import the MIB from directory>/SNMP)

Hope this helps.

Best,
Fabian

Did you try starting it?

If you mean "w $$start^SNMP()" then yes. 

I also ran "ccontrol start ENSEMBLE"

 

I meet the same error on windows server 2012, could you tell how to resove this problem?

I find some errors in snmpdbg.log in c:\windows\syswow64\snmpdbg.log

16:58:25 :Debug tracing enabled for SNMP agent
16:58:25 :SnmpExtensionInit called, pid=4432, tid=12276
16:58:25 :CreateEvent for CacheSNMPTrap suceeded
16:58:25 :register Cache OID 1.3.6.1.4.1.16563.1
16:58:25 :Get all Cache configs ... 16:58:25 :found 1 configs
16:58:25 :Add ENSEMBLE config to list ... 
16:58:25 :RegOpenKey for SOFTWARE\InterSystems\Cache\Configurations\ENSEMBLE\Properties
16:58:25 :Open config file c:\intersystems\ensemble\cache.cpf
16:58:25 :Config port = 1972, SNMP-capable = 1
16:58:25 : sorted (end) as index[0]
16:58:25 :RegOpenKey for mgr dir SOFTWARE\InterSystems\Cache\Configurations\ENSEMBLE\Directory
16:58:25 :Open ExtApp file C:\InterSystems\Ensemble\mgr\snmpext.dat
16:58:25 :Unable to open ExtApp file C:\InterSystems\Ensemble\mgr\snmpext.dat - error 2
16:58:25 :Found 1 configs which support SNMP
16:58:25 :Config 0, index=8-ENSEMBLE, port=1972, extapp=0
16:58:25 :No Service Firewall Rules necessary for Version 6.1
16:58:25 :Attempting initial TCP connection(s) with 1 Cache instances ...
16:58:25 :Get connection with ENSEMBLE on port 1972
16:58:25 :Sending data ... 14 bytes
16:58:25 :Sending data ... 20 bytes
16:58:25 :Read from TCP port 16:58:25 : 28 bytes read
16:58:25 :Error code 267 in RESPONSE-PDU from ENSEMBLE
16:58:25 :Error response from Cache instance ENSEMBLE 'requestDenied', make sure $$start^SNMP has been run.
16:58:25 :Cache iscsnmp.dll initialized for 1 configs
16:58:25 :SnmpExtensionInitEx called, pid=4432, tid=12276
16:58:25 :register Ensemble OID 1.3.6.1.4.1.16563.2
16:58:25 :SnmpExtensionInitEx called, pid=4432, tid=12276
16:58:25 :register TrakCare OID 1.3.6.1.4.1.16563.3
16:58:25 :SnmpExtensionInitEx called, pid=4432, tid=12276
16:58:25 :Extension list starts at 0: 0,0,0
16:58:25 :end of extension list at 10