Monitoring eSciDocEnhanced Scientific Documentation Infrastructure
For now it's not set how the monitored values are delivered to external systems. Of course SNMPSimple Network Management Protocol seems to be a good options and an log4j snmp adapter could be used.
Which values are to monitor? We should define a prioritized list.
Which monitoring system do you currently use?
- we use OpenNMS in MPDLMax Planck Digital Library. (Also one other System Management Framework at GWDGGesellschaft für Wissenschaftliche Datenverarbeitung Göttingen, but OpenNMS when we have the choice). Opennms already has a jmxcollector official documentation and there is some more up-to-date user-supplied documentation Tomcat6 in OpenNMS JMS Howto.
- For a first step, it's nice that they have this collector running locally (on the OpenNMS machine, not on the ESciDocEnhanced Scientific Documentation machine being monitored) because it's simple to setup and test, and it means no SNMPSimple Network Management Protocol stack in the ESciDocEnhanced Scientific Documentation Java VMVirtual Machine.. JMXJava Management Extensions-Remoting as described in this documentation is however not a good idea at all in terms of security. A local JMXJava Management Extensions Connector that is configurable to either log (via Log4J for example, just so long as there is then a way to import the logged performance data into a spreedsheet the log format is not something that bothers me) or transmit the data that has been configured for collection out via SNMPSimple Network Management Protocol would be much better. Security is something else I will be working on over the next year.
- As regards what should be monitored, here is my initial, brainstormed list.
- HeapFreePercent from JVM runtime
- FullGCs. Is there any way to gather the data on number of fullGCs and average duration of each FullGC? I should probably test it with VisualVM. It certainly can be graphed within that tool
- Per Threadpool Number of Idle Threads, number of active threads.
- If there is in JBossOpen source Java EE-based application server a JMXJava Management Extensions-reachable parameter for what I know from my (BEA WebLogic) background as "Execute Queuelength", then I haven't found it, and I want to. (But I need to find and install a JBoss4-capable Adminserver eg EmbeddedJopr and double check that. "Execute QueueLength" is the number of requests accepted via sockets into JBossOpen source Java EE-based application server and not yet dispatched to a free worker Thread in the Threadpool. I really find it difficult to believe that JBossOpen source Java EE-based application server 4.2.x doesn't track that information, but I certainly never found it by clicking around in the JMXJava Management Extensions-Console. And the System Administration documentation of JBossOpen source Java EE-based application server free edition is pretty limited, that sort of functionality is normally a cue for RedHat to talk to the customer about upgrading to the Enterprise Edition, I think :)
- jdbc connection pool to PostgreSQL number of free connections, number of active connections
- Lots more possible measurement within the ESciDocEnhanced Scientific Documentation application itself. I'm still climbing the learning curve and don't want to speculate.
- --Bourke 09:48, 27 July 2011 (CESTCentral European Summer Time)