I’m happy to announce that from now on version 1.0.3 of the RealCore CPI Dashboard is available. I not just worked “under the hood” but also implemented a new feature – an own Alerting engine. If you’re wondering what the RealCore CPI dashboard is about, I’d recommend a look at the introduction blog post, because this article is only about the changes and new innovations.
The article is split into the following sections:
- Changes and new Features
- Alerting Engine
- Auto-refresh functionality
- How to install / upgrade
- Feedback and Summary
Changes and new Features
The current release (1.0.3) brings two new features as also some improvements and bug fixes with it. Let’s start with the biggest one…
The new release of the RealCore CPI Dashboard comes with its own alerting engine. You can configure alert rules via the dashboard and the dashboard’s alerting engine then will check the CPI in a regular interval for those rules. In case of a matching rule (=error) the alerting engine will send out an e-mail to the person(s) who are configured in the respecting alert rules.
When setting up alerting rules, you can choose between rules for messages which filter for specific message criteria or rules for certificates, which can check the validity of keystore entries.
The following screenshot shows the alert rule section of the dashboard. From here on you can either edit or delete existing rules or create new ones.
Clicking on the “Add alerting rule” or “Edit” button will bring up the alert rule editor. The editor displays different fields and filters depending on whether a rule for messages or a rule for certificates should be created. (By the way – you can click the screenshots to enlarge them.)
For message-based rules you can use the message status (failed, retry, completed, …), the sender- and receiver-system name as also the artifact id (it’s the id – not to be confused with the display name of an IFlow!). For sender, receiver and artifact id you can use * as wildcard operator. (Multiple usage of * is possible.) If you don’t enter a value (=empty string), the rule will ignore the filter field.
For certificate-based rules you can filter by name as well as the number of days from which you are warned. (For example, if you set the value to 7, you will be alerted one week before the matching certificates expire.)
Changes in the alert rules will be handled immediately without any deployments, etc.
Alerting – how does it work technically?
You might wonder how this works. Let me give you a short and a detailed answer.
Alert rules, configured in the web-frontend of the dashboard, will be send via a webservice to an endpoint of the dashboard-IFlow. The IFlow then saves the alert configuration as JSON file in the CPI’s data store. Another integration process of the dashboard’s IFlow runs regularly, trigger via a timer, reads the alert configuration, then queries the CPI’s apis for messages and keystore entries and compares the results with the given alert rules. If a message or a certificate matches a rule an e-mail will be generated and send out to the receiver defined in the rules.
The alert engine integration process remembers the time of its last run and always queries the delta between the last and the current run. (Only for the very first run, it just checks for the last hour, because there’s no value for “last run date”.) By configuring the timer object, you can define how often the alert engine should do its checks and send out mails.
The RealCore CPI dashboard is open source. You can inspect the code and items to the last detail. Feel free to deep dive into our Github repository.
A second new feature is the “auto-refresh” mode. On the upper right corner (near to the “Print” button) you will find a new button to activate the auto-refresh mode. When activated, the dashboard data will be refreshed automatically every x seconds. The refresh interval can be configured via the small input box right to the auto-refresh button.
Note: There is one restriction for auto-refresh feature. Since this isn’t a real page refresh after some time the session cookie (which stores the credentials you entered when accessing the dashboard) looses its validity. From that point on you will be greeted by a messagebox showing an “401 unauthorized” error. Simply reload the website (F5 key) to re-logon. If you have an idea to bypass this “problem” let me know. Nevertheless, I think its a useful feature, when you want to tightly monitor some of the resource values for a couple of minutes.
Besides the above mentioned new features there are some minor changes “under the hood” which I want to share with you.
- OAuth handling: The OAuth handling for accessing the SAP CPI OData api was changed from a custom one to the standard solution (via OAuth credential in the HTTP receiver channels). Thus, I hope for a more efficient token handling. (Some users reported OAuth token end of life errors for the last version of the dashboard.)
- The code to retrieve usernames/passwords (aka security material) was improved. In the last version it could come to crashes when there were security materials with empty passwords.
- The overall error handling was improved. (Even if I hope you never get in touch with errors in the dashboard, in case they occur, they should be shown in a readable manner now.)
How to install / upgrade
Let’s head over to the topic installation/configuration. If you’ve never used the dashboard, you can just follow the installation manual in this blog post.
If you already use the dashboard and want to upgrade, let me summarize the main changes in configuration:
- Upload the new IFlow from the Github release page
- Reconfigure the receiver for receiver system “SAP CPI” (the installation manual, linked above, points out the differences)
- Setup the new mail receiver
- Set the alert sender address in the “More” tab
- Configure the alert engine timer in the “Timer” tab
As always – if you have any questions, don’t hesitate to ask me/write a comment.
Feedback and Summary
Round about one and a half month ago I released the initial version of the RealCore CPI dashboard and the feedback since then was overwhelming. I never thought that there would be so much interest in this small tool. Thanks for all your comments, your valuable input, your Github issues reports and the new contacts I made. By delivering this update I hope to give back some of the positive energy to the community.
As written in the last articles – I really appreciate your feedback, ideas and comments. So please let me know what you think about the new version. If you struggle to set it up – write a comment – together we can make it!