TabMon Fails on Startup- TabMon.TabMonAgent failed to initialize
See original GitHub issueI have set up TabMon to monitor our Production (2 node) environment as well as as our Test (1 node) environment, but startup fails after adding the production cluster to TabMon.conf. Both environments are running 2018.3 and I am running the lastest version of TabMon on my workstation.
If I comment out all but the Test cluster, TabMon starts as expected.
I have verified that jmx services are enabled on the Production environment and that Performance Logs & Alerts are set to start automatically on both nodes.
Here’s my TabMon.conf file (I’ve removed my actual server names and IPs, all three servers are on the same subnet):
And here’s the error from the log:
2018-11-13 13:29:46,620 [5] INFO TabMon.Config.TabMonConfigReader - Loading TabMon user configuration…
2018-11-13 13:29:46,651 [5] DEBUG TabMon.Config.TabMonConfigReader - Loading database configuration…
2018-11-13 13:29:46,652 [5] INFO TabMon.Config.TabMonConfigReader - Connecting to results database…
2018-11-13 13:29:48,073 [5] INFO TabMon.Config.TabMonConfigReader - Successfully loaded TabMon config options! [Hosts=‘Production\x.x.x.x\server2,Production\x.x.x.x\server1,Test\x.x.x.x\testserver’, Writer=‘Database Writer (Postgres Driver)’, PollInterval=‘60’, TableName=‘countersamples’]
2018-11-13 13:29:48,074 [5] INFO TabMon.TabMonAgent - Initializing TabMon…
2018-11-13 13:29:48,075 [5] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loading persistent performance counters from C:\Program Files (x86)\TabMon\Config\Counters.config…
2018-11-13 13:29:48,080 [5] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loading performance counters from C:\Program Files (x86)\TabMon\Config\Counters.config…
2018-11-13 13:29:48,086 [5] DEBUG TabMon.CounterConfig.CounterConfigLoader - Successfully validated ‘Config\Counters.config’ against ‘Resources\CountersConfig.xsd’.
2018-11-13 13:29:48,086 [5] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loading Perfmon counters…
2018-11-13 13:29:48,854 [5] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loaded 40 persistent Perfmon counters on x.x.x.x.
2018-11-13 13:29:49,593 [5] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loaded 53 persistent Perfmon counters on x.x.x.x.
2018-11-13 13:29:50,612 [5] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loaded 59 persistent Perfmon counters on x.x.x.x.
2018-11-13 13:29:50,612 [5] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loading MBean counters…
2018-11-13 13:29:50,616 [5] DEBUG TabMon.Counters.MBean.MBeanClientFactory - Scanning JMX port(s) “8272, 8235, 8705, 8126” on x.x.x.x.
2018-11-13 13:29:51,754 [5] DEBUG TabMon.Counters.MBean.JmxConnectorProxy - Opened connection to JMX server at x.x.x.x:8272.
2018-11-13 13:29:51,754 [5] DEBUG TabMon.Counters.MBean.MBeanClientFactory - Created JMX client for x.x.x.x:8272.
2018-11-13 13:29:51,786 [5] DEBUG TabMon.Counters.MBean.JmxConnectorProxy - Opened connection to JMX server at x.x.x.x:8235.
2018-11-13 13:29:51,786 [5] DEBUG TabMon.Counters.MBean.MBeanClientFactory - Created JMX client for x.x.x.x:8235.
2018-11-13 13:29:51,821 [5] DEBUG TabMon.Counters.MBean.JmxConnectorProxy - Opened connection to JMX server at x.x.x.x:8705.
2018-11-13 13:29:51,821 [5] DEBUG TabMon.Counters.MBean.MBeanClientFactory - Created JMX client for x.x.x.x:8705.
2018-11-13 13:29:51,854 [5] DEBUG TabMon.Counters.MBean.JmxConnectorProxy - Opened connection to JMX server at x.x.x.x:8126.
2018-11-13 13:29:51,854 [5] DEBUG TabMon.Counters.MBean.MBeanClientFactory - Created JMX client for x.x.x.x:8126.
2018-11-13 13:29:51,858 [5] ERROR TabMon.TabMonAgent - Failed to initialize counter sampler using counters from configuration file: The given key was not present in the dictionary.
Aborting…
2018-11-13 13:29:51,859 [5] FATAL Topshelf.Runtime.Windows.WindowsServiceHost - The service did not start successfully
Topshelf.TopshelfException: The service did not start successfully (returned false).
at Topshelf.Runtime.Windows.WindowsServiceHost.OnStart(String[] args)
2018-11-13 13:29:51,862 [1] ERROR Topshelf.HostFactory - The service terminated abnormally
System.NullReferenceException: Object reference not set to an instance of an object.
at TabMon.TabMonAgent.Dispose(Boolean disposing)
at TabMonService.TabMonServiceBootstrapper.Dispose(Boolean disposing)
at TabMonService.TabMonServiceBootstrapper.Dispose()
at Topshelf.Builders.ControlServiceBuilder1.ControlServiceHandle.Dispose() at Topshelf.Runtime.Windows.WindowsServiceHost.Dispose(Boolean disposing) at System.ComponentModel.Component.Dispose() at System.ServiceProcess.ServiceBase.Run(ServiceBase[] services) at System.ServiceProcess.ServiceBase.Run(ServiceBase service) at Topshelf.Runtime.Windows.WindowsServiceHost.Run() at Topshelf.HostFactory.Run(Action
1 configureCallback)
Issue Analytics
- State:
- Created 5 years ago
- Comments:6 (3 by maintainers)
Hi creadmi,
I experienced the same issue (running a backgrounder host). It appears that all of the processes for each host should be defined in the config file. For example:
This allowed the service to start correctly. Also to note if you use 2018.x, some of the process names are prefixed with “run-” so you’ll need to account for those in the sample workbook (Tableau Service dimension) or you won’t see the data.
Hi @danjrahm , this thread mentions a problem I ran into at another customer, where TabMon didn’t work out-of-the-box with a dedicated Backgrounder node unless these lines were inserted into TabMon.config for that particular node: