As some of you already noticed, TM1 applications server (the java engine that drives your Contributor Applications, Operations Console and (from 10.2) TM1Web), is quite a sensitive beast. And where there’s sensitivity, there’s a need for monitoring. In this post I’ll show how to attach JConsole to TM1 Application Server for monitoring.
TM1 apps server (by default) is the good old Tomcat in the background, so you can use JMX to monitor and gather quite detailed stats about it. There are multiple different JMX monitors (see Nagios, Moskito or JavaMelody () for example), but for the simplicity’s sake I’ll just show the standard JConsole that is packaged into any Java Development Kit.
Looks like this, that’s a freshly ran TM1 app server with just a few web sheets open (you can see spikes in memory usage). I can’t show you the production one, trust me it’s more impressive )
By default, TM1 application server JMX requires SSL connection and SSL can be quite cumbersome (you need to pick up and register applix certificate as in this instruction). An easier workaround is to disable SSL, so that you can use any JMX monitor without messing with certificate files.
To do that, you need to:
service_pmpsvc.bat uninstall— this will remove your TM1 application server service
Enjoy your new server with an open JMX port, you can connect any JMX monitoring tool to it without any issues.
What to look for in monitoring? If you have really heavy spikes when certain web sheets are open then it might be worth redesigning them (less conditional formatting & other Excel magic). See performance section of this note, anything not IIS related still applies.
You can even couple it with some proper stress testing using JMeter as per this Best Practice article.