Implemented in 4.5 and 5.x

 

Goal

Have a comprehensive overview of what/when/by whom has been activated and more. Provide it on page in AdminCentral and via JMX Console.

What will be monitored?

  • No. of activations
  • No. of activations for each workspace
  • No. of activation errors
  • No. of commited transactions
  • No. of rollbacked transactions
  • List of activated contents by each user
  • Size of activated contents
  • Response time/speed of activation to different subscribers

 

What tools will be used for monitoring?

Monitoring will be based on JMX MBeans, which we for example use in cache module.

AdminCentral page

We will need new page for monitor, i would put it under Tools/Activation monitor.

How that page could look like:

Storage

Storing all information about what has been activated and storing the same information for each user in memory would probably ended up with memory problems.

Therefore we should go another way, probably store these kind of information in files (e.g. each user will have its own activation log) and after certain period of time clean these logs. I assume most of these logs could easily grow to gigabytes in a short period of time, in this case we could add job that will clean them when they exceed some size.

There are basically three options how to store informations:

  1. Memory
    (plus) fast
    (plus) easy to implement
    (minus) cannot hold big logs in memory (needs to be cleaned for example after 500 entries)
  2. Workspace
    (plus) all records permanently stored
    (plus) accessible via JCR API
    (plus) can be processed for later use?
    (minus) need of new workspace
    (minus) harder to implement
    (minus) concurrent write
    (minus) higher magnolia load?
  3. Filesystem
    (plus) fast
    (minus) access rights
    (minus) parsing files
    (minus) harder to implement

We will go for all these three options. Users will be able to configure which of these storages they prefer.

Questions

Is this logging also needed on public instance? If yes, why?

Should we log what has been activated? There is a similar log in Tools/Log Viewer.

What other things we should log?

 

 

  • No labels