About

The Service Control Point Alarm is an alarm designed to help setting up notifications based on the change of status of Service Control Points / Basic Service Control Points / Arbitrary folders in the SmartConsole. It has evolved over time and now also allows notification by component.

Model-based monitoring vs Message-based notification

Even though VISUAL Message Center’s roots are in its message processing capabilities, one of its main features resides at a higher level in the modeling that one can set up in SmartConsole’s Business Tree.

It’s tree-based structure and the rules that can be set up for Criticalness propagation of folders and criticalness configuration of components allow to model most situations, be it a server, an application or a more sophisticated process. To such an extent that the tree is usually considered the reference for representing the status of the monitored elements . As a consequence, it is very common that the alerting that needs to be set up should be somehow “in sync” with the tree. Due to SmartConsole’s current architecture, this is not yet possible out of the box, as its alerting system is essentially based on received messages. Reproducing the tree model in the Alarms configuration would involve duplicating every single filter from the tree and create a corresponding alarm with this filter. This would be completely insane to maintain : as modifications in the tree occur, they should also be made in the alarm structure… Some Criticalness configurations from the tree would be very difficult, if not impossible to reproduce in an alarm.

The SCP Alarm has been developed to solve this issue and allow for the creation of model-based alarms, i.e. alarms that would be trigger based on the changes seen in the tree. Not only does it agilize the configuration process, it also helps focus on the important matter in process-monitoring: the modeling. This also ensures that any issue notified by an alert can always be seen in the SmartConsole’s tree.

With the SCP alert, alerting is no longer message based but component-based. That is, you will no longer receive notifications about the arrival of a critical message, but instead receive notification about the unavailability of a given component, where the message provides additional information.

At an even higher level, you will no longer get distinct messages for simultaneous problems (about a disk in a bad state or an unavailable interface network for instance), but instead receive a unique notification about your important application not running properly because of 2 incorrect components : the disk and the network interface, with additional details provided by the corresponding messages.

The advantage of working at component-level is that you get all the existing Business Modeling functionalities of SmartConsole for free : you get information about the Root causes of a Process/Application‘s unavailability, but you can also retrieve the real-time impact of an unavailable component.

Basic Principles

The SCP alarm is based on a functionality introduced in SmartConsole 7.5 : the ALEV function SEND_CONSOLE_MESSAGE. It allows to generate arbitrary messages in the SmartConsole that can be used as any other messages processed by the console : trigger alarms, show up in Business Views and Web SmartConsole, appear in Events…

The so-called SCP alarm is actually a set of Action Sets that are run after each SmartConsole refresh (as part of the PostCycle) and Global Variables that allow to keep track persistently of the statuses of folders.

After each refresh of the SmartConsole, the action set is run, checks the status of the folders (SCP/BSCP/folders) and generates console messages if some changes are detected.

Generated Console messages

Because the real interest in the SCP Alarm is the messages that it generates, it is important to understand what messages are generated and how they must be filtered, in order to set up relevant alarms.

Global messages - By folder

Some messages generated by the alarm inform about the changes in the status of Service Control Points / Basic Service Control Points / Arbitrary folders (the list of checked folders must be defined by the user. The procedure is explained later in this document)

Detected situations

Messages are generated when the following occurs :

  • The controlled folder’s color has changed since the last refresh (some problems appeared or some older problems were solved)
  • The folder’s color has not changed, but the list of root causes has changed. For instance the application is still not working but a problem was added to the causes.

Root-cause based notification

Important

it is important to understand that the messages sent at this level are based on Root Causes, and not on children. The Action does nothing more than retrieving the list of components that normally appears when you click on a folder

This means that :

  • if a folder is currently red, some warning children will not appear as they are not impacting the application.

  • based on the Criticalness configuration of the folder, the folder might be red even though no child is actually in a critical state.

  • The information retrieves deals with components only. No information about the subfolders can be retrieved. A component impacting in several subfolders of a folder will be seen only once.

Generated messages

The generated messages look like this :

The text message is automatically generated and can be customized. The sections that can appear are :

Part Description Content Example
General summary general information name of the folder + kind of change 0.Business\MyScp1 : Warning->Minor
New Problems Listing of components that are affecting the folder and did not on the last check number of new problems + information for each new impacting component -- NEW ISSUES (2) --

1.Component 1
-Status: Critical
-Cost: 0
-Reason: This is a critical message (88). There's definitely something wrong here, and you should check it out.
-Impacted Applications: MyBscp1, MyBscp2, MyScp2

2.Component 2
-Status: Critical
-Cost: 0
-Reason: This is a critical message (88). There's definitely something wrong here, and you should check it out.
-Impacted Applications: MyBscp1, MyBscp2, MyBscp3, MyScp1

Solved Problems Listing of components that are no longer affecting the folder number of solved problems + information for each solved problems -- SOLVED ISSUES (2) --

1.Component 2
-Status: Success
-Reason: Criticalness reset by user

2.Component 6
-Status: Success
-Reason: Criticalness reset by user

Remaining Problems Listing of components that are impacting the folder, but were notified earlier number of remaining problems + information -- REMAINING ISSUES (3) --

Component 1 (Critical), Component 2 (Critical), Component 3 (Critical)

Variables mapping

The following information is stored in the variables of the messages. This is useful to know in order to set up alarms that will be triggered by those messages. It can also be used in the templates for the alarm's notifications.

Here is what you see when you double-click a message :

 

  • AGENTCODE : contains 3 possible values : SCP, BSCP or FOLDER depending of the kind of monitored folder
  • SYSTEM : contains the full path of the impacted folder
  • MESSAGEID : contains information about the change that happened in the form PreviousCriticalness->NewCriticalness. This can be useful to detect changes from a status to another one. Note that the text for those criticalness can be translated if necessary.
  • CRITICALNESS : this is the color that appears in the message list. For the generated messages, this is the color of the folder after the change.

When filtering, this is this part of the filter :

  • MESSAGETYPE : it is represented by the icon on top of the color and can have 3 values : Information, Warning or Error. In the generated messages, it represents the direction of the change that happened.
    • Information means that the state of the folder has improved (ex : Critical->Warning, Warning->Success ...)
    • Error means that the state of the folder has decreased (ex : Success->Warning, Success->Critical...)
    • Warning means that the color of the folder has not changed, but the root causes have.

When designing filters, use this part :

Component messages

In latest versions of the SCP alarm, a feature was added to notify about individual components (i.e. Business Views) impacting folders. In order to do that, the Action set generates another kind of messages.

Detected situations

Component-level messages are generated in the following situations :

  • a component starts impacting a folder "critically", that is, the folder is in a Critical status, and the component is in the root causes (and was not before)
  • a component no longer impacts a folder "critically", that is, the folder is no longer in a critical status or the folder is still critical, but the component is no longer a root cause.

The list of critical impacts for each folder is stored persistently in a global variable.

The notification is based on root causes, therefore, the same precautions as folder messages apply.

Generated messages

The generated messages look like this :

The content of the text message is automatically generated.

Variables mapping

The following information is stored in the variables of the messages. This is useful to know in order to set up alarms that will be triggered by those messages. It can also be used in the templates for the alarm's notifications.

Here is what you see when you double-click a message :

  • AGENTCODE : contains 3 possible values : SCP-CMP, BSCP-CMP or FOLDER-CMP depending of the kind of monitored folder
  • SYSTEM : contains the full path of the impacted folder
  • MESSAGEID : contains the name of the component. It is the name of the Business View only ,as it is not possible to access the path.
  • CRITICALNESS : this is the color that appears in the message list. For the generated messages, this is the color of the component after the change.
Important

When a component starts impacting a folder, its color is not necessarily RED, and in the same way, a component that has just finished impacting a folder is not necessarily GREEN.

When filtering, this is this part of the filter :

  • MESSAGETYPE : it is represented by the icon on top of the color and can have 2 values : Information or Error. In the generated messages, it represents the direction of the change that happened.
    • Information means that the component is no longer impacting the folder
    • Error means that the component has started to impact the folder.

When designing filters, use this part :

Installation

In order to have this alarm working, here are some instructions.

Pre-requisites

The SCP alarm works with SmartConsole 7.5 HF01 and higher. The generated messages also appear in Web SmartConsole from SmartConsole 7.5 SP1

Global variables

The following global variables must exist

Variable Description Example of value
SUPPORT_FOLDERS_CAUSES root causes for each monitored folder (associative array) [ '0.Business\MyBscp1':[ 'Component 1', 'Component 2', 'Component 3', 'Component 4' ], '0.Business\MyBscp2':[ 'Component 1', 'Component 2' ]]
SUPPORT_FOLDERS_STATUS criticalness of each monitored folder (associative array) [ '0.Business\MyBscp1':3, '0.Business\MyBscp2':1, '1.Other Folders\Important Folder':1 ]
SUPPORT_FOLDER_CRITICAL_CAUSES critically impacting components for the monitored folders (associative array) [ '0.Business\Folder With Subfolders':[ 'Component 6' ], '0.Business\MyScp1':[ 'Component 4' ], '0.Business\MyScp2':[ 'Component 4' ], '0.Business\test starting with lowercase t':[ 'Component 6' ] ]

Action-Set

The action set usually called BSCP/SCP/Folder Control must exist.

It must run in the PostCycle (i.e. after each SmartConsole refresh). This is configured in the menu Options>PreCycle/PostCycle of the SmartConsole :

To acomplish this, there are 2 ways :

  • you can define the BSCP/SCP/Folder Control as the PostCycle Action set direcly

or

  • (recommended) you can create a new Action Set (for instance PostCycle) that runs all the Action Sets to run in Post Cycle, and define it as the PostCycle Action.

Procedure

To get the SCP Alarm up and running

  1. Import the global variables
  2. Import the Action Set
  3. Configure the Action Set to run as part of the PostCycle. See above
  4. (optional) Import the Business Views to check that messages are generated and help you understand the alarm filters and customisations to add.
  5. (optional) Import and enable sample alarms to test them
  6. (optional) Edit the Action sets to fit your needs - see Configuration / Customization

Configuration/customization

The Action Set can be customized editing the ALEV code. There is one part for each type of folder to be controled : Service Control Points, Basic Service Control Points and a specific list of folders.

Monitored folders

In addition to the SCPs and BSCPs whose list is always up-to-date, you can monitor a specific list of folders. This can be useful if you only want to control a specific list of folders wihtout having to define them as Basic Service Control Point. You can define the list at the beginning of the Action called Manual Folder Check, as in :

/*Edit the following list manually to control some specific folders*/ Services := ['1.Other Folders\\Important Folder','1.Other Folders\\Another Folder']; 
Important

the paths to type here ignore the root folder of the SmartConsole. In addition, the path separators are anti-slashes (\). In ALEV, they need to be escaped typing \\

Messages to send

In most cases, you will only need to edit this part of the code in order to change the messages that are sent and the information that appears in the messages.

/******************************* CONFIGURATION ***************************/ /*----Summary Messages----*/ /*1.Send messages by folder ?*/ Const SEND_SUMMARY_MESSAGES :=True ; /*1.1.Show the section with the list of new problems?*/ Const SHOW_NEW_PROBLEMS := True; /*1.1.x.For each new problem :*/ Const SHOW_NEW_PROBLEMS_STATUS := True; /*show the status of the problem*/ Const SHOW_NEW_PROBLEMS_COST := True; /*show the cost of the problem*/ Const SHOW_NEW_PROBLEMS_MSG := True; /*show the las message of this component*/ Const SHOW_NEW_PROBLEMS_IMPACT := True; /*Show the list of impacted applications (SCPs + BSCPs) for this component*/ /*1.2.Show the section with the list of solved problems? - problems that are no longer impacting*/ Const SHOW_SOLVED_PROBLEMS := True; /*1.2.x.For each solved problem :*/ Const SHOW_SOLVED_PROBLEMS_STATUS := True; /*show the status of the problem*/ Const SHOW_SOLVED_PROBLEMS_MSG := True; /*Show the last message received by this component = message of resolution*/ /*1.3.Show the section with the list of remaining problems? - list of impacting components that were reported earlier and still exist*/ Const SHOW_PREVIOUS_PROBLEMS := True; /*1.3.x.For each remaining problem*/ Const SHOW_PREVIOUS_PROBLEMS_STATUS := True; /*Include the last status for this problem*/ /*----Component Messages----*/ /*2.1.Send messages for each new component problem or solved problems*/ Const SEND_COMPONENT_NEW_PROBLEMS_MESSAGE := True; /*Format for these messages is defined lower*/ Const SEND_COMPONENT_SOLVED_PROBLEMS_MESSAGE := True; /*Format for these messages is defined lower*/ 

The following values can be configured :

SEND_SUMMARY_MESSAGES
Determines if folder-level messages should be sent

SHOW_NEW_PROBLEMS
Determines if the section with new problems should appear in folder-level messages
SHOW_NEW_PROBLEMS_STATUS
Determines if the component's status should be shown for new problems. It is usually something like : -Status: Critical
SHOW_NEW_PROBLEMS_COST
Determines if the component's cost should be shown for new problems. It is usually something like : -Cost: 0
SHOW_NEW_PROBLEMS_MSG
Determines if the message that caused the last change in the Business View should be shown for new problems. It is usually something like : -Reason: This is a critical message (88). There's definitely something wrong here, and you should check it out.
SHOW_NEW_PROBLEMS_IMPACT
Determines if the list of impacted applications (SCPs and BSCPs) should be shown for new problems. It is usually something like : -Impacted Applications: MyBscp1, MyBscp2, MyScp2

SHOW_SOLVED_PROBLEMS
Determines if the section with solved problems should appear in folder-level messages
SHOW_SOLVED_PROBLEMS_STATUS
Determines if the component's status should be shown for solved problems. It is usually something like : -Status: Critical
SHOW_SOLVED_PROBLEMS_MSG
Determines if the message that caused the last change in the Business View should be shown for solved problems. It is usually something like : -Reason: This is a critical message (88). There's definitely something wrong here, and you should check it out.

SHOW_PREVIOUS_PROBLEMS
Determines if the section with previous problems (that are still not solved) should appear in folder-level messages. This section usually looks like Component 1 (Critical), Component 2 (Critical), Component 3 (Critical)
SHOW_PREVIOUS_PROBLEMS_STATUS
Determines if the component's status should be shown for remaining problems. It is shown between parenthesis. It is usually something like : Component 1 (Critical), Component 2 (Critical), Component 3 (Critical)

SEND_COMPONENT_NEW_PROBLEMS_MESSAGE
Determines if component-level messages should be sent when a component starts impacting a monitored folder.
SEND_COMPONENT_SOLVED_PROBLEMS_MESSAGE
Determines if component-level messages should be sent when a component stops impacting a monitored folder.

There is an additional parameters that can be defined in order to change the behaviour of the SCP Alarm :

NOTIFY_CHANGE_MINIMUM_CRITICITY
Minimum criticity to notify changes of root causes. ex: if set to WARNING (default), changes of root cause (with no change of color) will be notified only if the folder is in status WARNING or CRITICAL

Message format / translation

In order to modify the format of messages that are sent, or to translate them, you will need to edit the ALEV code.

Criticalness names

In order to change the name that corresponds to each level of criticalness, edit this dictionary :

/*Change this if you want the criticities to be translated*/ Var CriticalnessTranslations := [CRITICAL:'Critical', WARNING : 'Warning', MINOR : 'Minor', SUCCESS: 'Success', UNKNOWN:'Unknown'] ; 

The items of this "dictionary" are used in :

  • Message IDs for folder-level messages : Warning->Minor. As a result, if you modify it, some filters based on message IDs may stop working as expected.
  • Status of components in messages : -Status: Success

Generated message format

In order to modify the format (translation/format) for the sections of generated messages, you will have to edit the code corresponding to each part directly.

Code snippet

In case it might be necessary, here is a part of the ALEV code that is part of the Action Set. The 3 parts of the Action Sets are similar. Only the beginning changes

Basic Service Control Point

/*BSCP Check */ Var Services; /* List to store the BSCPs */ Services := GET_BSCP_LIST( ); Var AgentCode := 'BSCP'; /*Messages will be generated with this Agent Code*/ Var ComponentMessagesAgentCode := AgentCode + 

Still have questions? We can help. Submit a case to Technical Support.

Last Modified On: October 18, 2018