Dear List,
I have implemented JMelody (
http://code.google.com/p/javamelody/
) with just a small and simple modification of web.xml of the Debian
package of Nuxeo DM 5.4 (Tomcat) as described here
http://code.google.com/p/javamelody/wiki/UserGuideAdvanced#Deployment_on_Tomcat_without_modification_of_monitored_webapps_(
This works flawlessly and is quite nice. Next I integrated this monitor
facility into our monitoring system of choice Icinga (a Nagios fork)
with a plugin:
https://github.com/sbower/nagios_javamelody_plugin/wiki
Any pointers or insights regarding normal and abnormal/danger usage of
system resourced are very welcome!
This gives me besides a website with an overview of system/app/service
statuses the possibility to send alerts in various ways.
My problem now is how to define sensible warning & critical values
for the things JMelody can monitor:
(as defined in:
https://github.com/sbower/nagios_javamelody_plugin/blob/master/src/main/java/advws/net/nagios/jmeoldy/core/CheckJMelody.java
)
private final static String ACTIVE_CONNECTIONS = "activeConnections"; //activeConnections
private final static String ACTIVE_THREADS = "activeThreads"; //activeThreads
private final static String GC = "gc"; //gc
private final static String HTTP_HITS_RATE = "httpHitsRate"; //httpHitsRate
private final static String HTTP_MEAN_TIMES = "httpMeanTimes"; //httpMeanTimes
private final static String HTTP_SESSIONS = "httpSessions"; //httpSessions
private final static String HTTP_SYSTEM_ERRORS = "httpSystemErrors"; //httpSystemErrors
private final static String LOADED_CLASSES_COUNT = "loadedClassesCount"; //loadedClassesCount
private final static String SQL_HITS_RATE = "sqlHitsRate"; //sqlHitsRate
private final static String SQL_MEAN_TIMES = "sqlMeanTimes"; //sqlMeanTimes
private final static String SQL_SYSTEM_ERRORS = "sqlSystemErrors"; //sqlSystemErrors
private final static String THREAD_COUNT = "threadCount"; //threadCount
private final static String USED_CONNECTIONS = "usedConnections"; //usedConnections
private final static String USED_MEMORY = "usedMemory"; //usedMemory
private final static String USED_NON_HEAP_MEMORY = "usedNonHeapMemory"; //usedNonHeapMemory
So I am looking for critical and warning levels for each of these items. I understand that this has also to do with hardware, OS, number of users, database system in use and possibly other variables, but I have to start somewhere.
Any pointers or insights regarding normal and abnormal/dangerous usage of system resources are very welcome!
Thanks in advance,
Olaf
--
This message has been scanned for viruses and
dangerous content by
MailScanner, and is
believed to be clean.