CMS Critical Services
Introduction
This is the new CMS Critical Services monitoring system. As before it uses treemap visualization technique. In this new version treemap is generated on client side rather then half on server and half on client like it was earlier. In case of any questions contact
lukasz.kokoszkiewcz@cernNOSPAMPLEASE.ch. For any feature request, bugfix or small changes please use Savannah.
SVN repository
http://svnweb.cern.ch/world/wsvn/dashboard/trunk/arda.dashboard.cms-crit-services/
Installation on SLC5
yum install dashboard-cms-crit-services
service httpd restart
Adding SLS instances
To add, for example, instance named 'Visualization', with the criticality level 5 and you have sls url like this:
https://sls.cern.ch/sls/service.php?id=VISUALIZATION-TESTSERVICE
You will have to edit lib/dashboard/cmscritservices/services.py file. It consists a relatively simple array of services, all that needs to be done is to add:
["Visualization",
5, # Criticality level
"",
"SLS", # Indication that we take data from SLS
[
"VISUALIZATION-TESTSERVICE", # Service ID
""
]
],
The services are organized 'by criticality level' descending and you should keep this structure.
After that, you will have to build an RPM and follow normal install/upgrade procedure.
Presentation
View consists of 3 elements:
- Treemap
- Services list
- Dynamic status indicator bar
Rectangles size
- Rectangles size are calculated from hardcoded list taken from the old servicemap (so data, as far as I know, originated from SAM DB)
Rectangles colours
- Rectangle colours are calculated from SLC service requests. It uses color interpolation so colours are fluently calculated from red (0%) thru yellow (70%) to dark green (100%).
Known issues
- Bug in Internet Explorer preventing from scrolling left panel services list (waiting for bugfix from Microsoft)
- Bug in Internet Explorer where tooltip appears only after mouse is over node label
- Bug in Opera where height of the page increases after toggling the left panel causing page scrollbar to appear.
Technologies utilized
- jQuery - javascript framework
- InfoVis - toolkit for creating client side charts
- flashcanvas - to enable InfoVis treemap in Internet Explorer
Also, application follows MVC design pattern.
File structure
.
|-- client
| |-- index.html
| `-- media
| |-- css
| | `-- style.css
| |-- images
| | |-- cmslogo.gif
| | |-- scale.png
| | `-- twikilogo.png
| |-- lib
| | |-- canvas2png.js
| | |-- flash10canvas.swf
| | |-- flash9canvas.swf
| | |-- flashcanvas.js
| | |-- jit-treemap.js
| | `-- jquery-1.4.4.min.js
| `-- scripts
| |-- controller.js
| |-- data.js
| |-- events.js
| `-- view.js
|-- config
| `-- dashboard-actions_cms-crit-services.xml
`-- lib
`-- dashboard
|-- cmscritservices
| |-- cache.py
| |-- config.py
| |-- __init__.py
| |-- init.py
| `-- services.py
`-- http
`-- actions
`-- cmscritservices
|-- GetStatuses.py
`-- __init__.py
--
LukaszKokoszkiewicz - 09-Feb-2011
Topic revision: r11 - 2012-05-23
- unknown