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
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.
In case you haven't already reviewed it, this article by @Murray Oldfield contains some debugging tips that could be useful.
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:
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)
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