Cordys monitoring using Hyperic


Cordys servers are a very complicated environment including lot of different JVM's (java virtual machines) and lot of connections to databases and other external systems, and in a Cordys cluster, different Cordys instances.
Therefore Cordys servers can run in trouble for many reasons, for example:
    •        Maximum heap memory exceeded
    •     Broken connections
    •     Load too high
    •     Lack of memory
    •     Slow database
It is the task of Cordys administrators to maintain and monitor Cordys servers in production environments in order to meet the SLA requirements of customers. For every Cordys Service Container the administrator must do the following:

  • Check if heap memory usage is not exceeding maximum memory
  • Check if it is available and restart it if necessary
  • Check the performance of its webservices
  • Check the performance of the databases used by the service container

Another task of the Cordys administrator is to optimize performance by adding more resources. For this the administrator needs to know the bottlenecks and the peak loads. So he needs lot of data accumulated over large periods and visualized in clear graphs.
So Cordys administrators needs a monitoring tool helping him to detect problems fast and to analyze trends of resource usages. This monitoring tool must be able to do the following:

  • Send alerts (mail and sms) when a critical threshold is exceeded
  • Data accumulated over large periods of time
  • Show clear graphs
  • Provide a dashboard summarizing the health of the Cordys server
  • The graphs must support drilldown: after the problem is found it must be possible to get more details about the problem by clicking on the graphs

Unfortunately Cordys does not provide such a monitoring tool. But Cordys supports JMX offering lot of information about the performance of the service containers. These JMX counters can be monitored in a tool supporting JMX.
Most customers only use JConsole of JVisualVM for monitoring these counters. However these tools have important limitations:

  • No data aggregation over large periods of time
  • Very limited dashboard en graph options
  • Lot of knowledge required for addressing the right counters and visualizing them

Hyperic User Interface


The dashboard is an overall view of the server's health and has a menu for looking up and creating monitored resources and their alerts. The dashboard is implemented as a portal with portlets showing different aspects of the resources.

Auto discovery

The Auto-Discovery portlet shows all resources found on the server. The administrator can select them and add them to the set of resources monitored by Hyperic. Thanks to the Cordys plugin the auto discovery is also able to locate the Cordys Service Containers, see the screenshot below for an example: 

Note: This autodiscovery plugin has been written by Ciber

Recent Alerts

The Recent Alerts portlets shows all spawned alerts. After solving the cause of these alerts the administrator can mark them here as fixed.

Alerts can be triggered, for example, when a service container is not available or when the heap memory exceeded a critical threshold. The application administrator will receive an email or an sms so that he can fix the problem fast.

Resources, Groups and Graphs

Hyperic shows graphs for every available metric for both groups and individual resources. The graphs of the groups are an aggregation of its members. This group view enables for a quick analysis of bottlenecks and drilldowns.
First analyze the metrics on group level:


Hyperic together with the Ciber plugin is a perfect tool to monitor the Cordys resources and can proactively warn administrators that something is (going) wrong, before the system is down, or that business processes are halted.


Cordys BOP4: Use of Functional Roles


Within your Cordys projects you have functional- and technical roles. These Roles can be used on services and in user interfaces to define ACLs (= Access Control Lists).
This small blog describes a best practice of how to set up the Roles. Currently i always use it like this within my projects and it works fine.


In my opinion there is a big difference between a functional role and a technical role within Cordys. You can define both.

"Is Functional Role" can be checked for a functional role.

Functional Roles should be used for Roles that are known by the business. These are the Roles that are used within Business Processes. These are the Roles that are used to assign Tasks to.

It is best practice to define functional roles within a separate Cordys project.

Within the Functional Roles you can define the UIs that are allowed to be used by that Role.

This has the consequence that there is a dependency from the Organisation project to the project where the UI is defined.
Furthermore within the Sub Roles you put other Functional Roles or Technical Roles that are to be defined within the projects itself. This way you can define what services can be used by the Functional Roles.

Cordys BPMS Certification

This month i started the BPMS Certification of Cordys. I already have my Fundamentals Certification.
My final goal is to get the Solution Architect Certification.

The certification has three parts:

  • Theoretical exam
  • Handson exam
  • Interview
Within the theoretical exam you are supposed to answer 60 questions within 1 hour. The questions can be made online and are quite detailed. You really have to know your stuff. In fact in my first attempt i only got 71% and you have to get 75%. So i took it too lightly.

The handson is one big case that you have to work out. It is also bigger (of course) than the exercises you get with the Fundamentals. You have 10 working days for the handson.

After the handson you get an interview. In this interview you have to explain your solution and you get answers about the handson.

Some tips:
  • Really dive into the learning path. You do not really have to follow a training course, you can do it self paced. 
  • Also install the Cordys VM and practice
  • Especially focus on the themes you do not often use in practice (especially BAM in my case)

I have my interview on the 8th of April, so looking forward to it and up to the Solution Architect exam ! ....

To be continued ....