Alarm Console
𤦠𤦠𤦠Combodo's customers only š š š
- name:
- Alarm console
- description:
- A lightweight console for managing alarms coming from monitoring systems
- version:
- 1.2.0
- release:
- 2026-09-23
- itop-version-min:
- 3.2.0
- code:
- combodo-alarm-console
- state:
- stable
This extension provides a new type of object: Alarm and a simple user interface to list the alarms and either acknowledge them or create a ticket from one or more alarm.
A simple command line PHP script to create an alarm is also provided by the extension.
Features
-
Automatic refresh of the list of alarms, with user defined filtering
-
One click acknowledgment of multiple alarms. (Only allowed to users having the profile Alarms Managerā)
-
Creation of a ticket from several alarms (and automatic acknowledgment of the alarms) in one operation
-
Automatic (in the background) deletion of acknowledged alarms after a configurable retention delay
Revision History
| Release Date | Version | Comments |
|---|---|---|
| 2026-09-23 | 1.2.0 | * Increase iTop min. version to 3.2 * Add compatibility with iTop 3.3 * N°8631 - Remove usage of deprecated WebPage::add_linked_script * N°7252 - Remove usage of deprecated JS libs * N°8661 - Remove usage of deprecated js/wizard.utils.js * N°8847 - Fix incompatibility Alarm Console and Department Silo * N°8773 - CSRF protection generating error when cancelling the creation of an object * N°7891 - Add missing rights and remove obsolete XML tag * N°8759 - Add separator between alarms concatenated in a single ticket description * N°8759 - Enable Alarms Manager User to create an alarm using API * N°8635 - Bug (or unwanted behavior) on checkbox when ticking it from outside (e.g. on the line) * N°7890 - ER extensibility * N°8642 - Be able to copy a title from alarm consol * N°8774 - Avoid reloading message when alarm console search is refreshed * N°8788 - Improve search readability with dark theme * N°8618 - Fix Designer issue preventing status transition during atribute update |
| 2022-11-10 | 1.1.1 | * Add compatibility with iTop 3.1 (remove
deprecated imports) * N°5508 Add compatibility with PHP 8.0 |
| 2022-02-09 | 1.1.0 | * Fix compatibility with iTop 3.0 * Change Version Min iTop to 2.5.0 |
| 2018-10-02 | 1.0.3 | Fix compatibility with iTop 2.5 |
| 2016-11-03 | 1.0.2 | Fix sorting on a column in the console was breaking the multi-selection (buttons remained disabled when selecting an alarm). Compatibility with iTop 2.3.0. |
| 2015-10-02 | 1.0.1 | Enhancements: new profile āAlarms Managerā to allow acknowledging alarms without creating a ticket. Added various parameters to customize the format the message and initialize the new ticket with default values. Highlighting of the alarms is now optional. Compatibility with iTop 2.2.0. |
| 2015-02-19 | 1.0.0 | First version |
Limitations
-
The total count of alarms is not properly updated when the list of alarms is refreshed.
-
The sort order of the list of alarms is not preserved during the refresh when using a version of iTop lower than 2.1.0.
-
Version 1.0.0 of this extension is not compatible with iTop 2.2.0.
Requirements
This extension has no specific external dependencies.
Installation
Use the Standard installation process for this extension.
Configuration
| Parameter | Type | Description | Default value |
|---|---|---|---|
| refresh_delay | integer | The number of seconds to wait before automatically
refreshing the console. The minimum value is 10 seconds. Any value lower than 10 will result in a refresh interval of 10 seconds. |
60 |
| alarms_hilighting | bool | Whether or not to āhiglightā the alarms
in the list, based on their status and severity. If set to true, acknowledged alarms appear as green,
warning as yellow and down/critical alarms as red. |
false |
| alarm_retention_delay | integer | The number of days to keep the acknowledged alarms
into the database. After this period they will be deleted by the background process. |
30 |
| watchdog_delay | integer | The interval used by the watchdog mechanism to keep the session open. In seconds. | 300 |
| target_class | string | The type of Ticket to create when the user clicks on the āCreate Ticketā¦ā button | UserRequest |
| cis_att_code | string | The code of the field which holds the list of CIs
in the ticket. Leave as is, unless you've changed the default datamodel |
functionalcis_list |
| description_att_code | string | The code of the field which holds the description of the ticket | description |
| message_line_template | string | The template to use for generating each line of
text (in the ādescriptionā) for each CI/Alarm. The possible placeholders are the attributes of the Alarm object. |
$alarm->functionalci_name$: $alarm->message$ |
| message_text_format | string | The overall format of the ādescriptionā when
creating a ticket from one or more alarms. The only possible placeholder is %1$s which correspond
to the list of CI/Alarm information produced by the
message_line_template for each alarm. |
%1$s |
| message_alarm_separator | string | Since 1.1.2: the separator between message line within the ādescriptionā when creating a ticket from more than one alarm. | <br> |
| ticket_default_values | array | A hash array (format: 'att_code' ā 'value') to specify default values to be preset in the ticket creation form. | array() |
Example of custom configuration
The custom configuration show below has the following effect:
-
Acknowledged alarms are kept for 60 days instead of 30 (
alarms_retention_delay) -
Alarms are turned into Incident tickets instead of User Requests (
target_class) -
The description contains - for each Alarm/CI - the severity of the alarm, the name of the CI and the message of the alarm (
message_line_template) -
The descripton contains some additional text (with line breaks) to explain better the source/cause of the ticket (
message_text_format). Notice how line breaks are enclosed in double quotes. -
The ticket is pre-filled with a default urgency, impact and service (
ticket_default_values)
'combodo-alarm-console' => array ( 'refresh_delay' => 60, 'watchdog_delay' => 300, 'alarms_retention_delay' => 60, 'alarms_hilighting' => true, 'target_class' => 'Incident', 'cis_att_code' => 'functionalcis_list', 'description_att_code' => 'description', 'message_line_template' => '> [$alarm->severity$] $alarm->functionalci_name$: $alarm->message$', 'message_text_format' => 'Les informations suivantes ont ƩtƩ remontƩes par la supervision:'."\n".'%1$s'."\n".'Bonne chance !', 'ticket_default_values' => array ( 'urgency' => '1', 'impact' => 1, 'service_id' => 'Computers and peripherals', ), ),
Usage
Users allowed to acknowledge alarms must have the profile Alarms Manager
To display the Alarm Console, click on the āAlarm Consoleā menu in the āHelpdeskā section.
The console automatically displays the list of all āOn Goingā alarms. You can pull down the āSearchā drawer to adjust the filter used for building the list (don't forget to click on the āSearchā button to apply your search criteria).
From the list of alarms you can select one or more alarš¤¦s) and either:
-
Acknowledge all the selected the alarms without creating any ticket by pressing the āAcknowlegde Alarš¤¦s)ā button. No confirmation will be asked.
-
Create a ticket (and acknowledge) the selected alarms.
When creating a ticket from one or more alarms, the ticket creation form is displayed. Three fields of this form are pre-populated:
-
The Organization field is populated with the organization of the Alarš¤¦s). (Only if all selected Alarms are of the same Organization)
-
The Description field is populated with the concatenation of all the Alarm messages (one per line).
-
The list of attached CIs is populated with all the CIs attached to the selected Alarš¤¦s).
Once the ticket is created, all the related Alarms are automatically acknowledged.
Creating an alarms from the command line
Alarms cannot be created or edited interactively in iTop. To
create an alarm an external tool must either use the REST/JSON
webservice or the provided command line script
create_alarm.php.
Create alarms using REST API
To create an alarm from any monitoring tool, you can use the REST/JSON API. For this it is recommended to use an Application user with the profil āAlarm managerā and the profile āREST Services Userā and the REST/JSON access.
The JSON operation to use is
{
"operation":"core/create",
"comment":"Synchronization from monitoring system...",
"class":"Alarm",
"output_fields":"id, friendlyname",
"fields":
{
"creation_date":"2025-09-15 10:00:00",
"org_id":"2",
"service":"ping host",
"message":"something happened",
"severity":"warning",
"functionalci_id":"SELECT Server WHERE name='Server1'"
}
}
| Parameter | Type | Description |
|---|---|---|
| creation_date | Date | Date of the alarm |
| org_id | search criteria | Any JSON search criteria to identify the Organization of the alarm (id value, OQL, ⦠) |
| service | string | Desciption of the impacted service |
| message | string | Alarm message |
| severity | string | Severity of the alarm, possible values : warning, down or critical |
| functionalci_id | search criteria | Any JSON search criteria to identify the FunctionalCI concerned by the alarm (id value, OQL, ā¦) |
To test your JSON call you use the following command:
curl -X POST -F 'version=1.3' -F 'auth_token=YOURTOKEN' http://localhost/web/webservices/rest.php -F 'json_data=@./createAlarm.json
createAlarm.json contains the JSON operation
create_alarm.php
The command line script create_alarm.php uses the
iTop webservices, therefore it can be run on any system having an
http(s) connection to iTop.
create_alarm.phpphp create_alarm.php <itop_url> <itop_user> <itop_pwd> <message> <CI name> <service> <severity> <organization name>
Where:
-
itop_urlis the URL to the iTop application. -
itop_useris the login for connecting to iTop. -
itop_pwdis the password associated with the login. -
messageis the alarm message (free text) -
CI nameis the unique name of the CI associated with the alarm -
serviceis the service of the alarm (free text) -
severityis the severityof the alarm. one ofdown,critical,warning -
organization nameis the unique name of the Organization for which to create the alarm.
message or
organization name.create_alarm.php) from SELECT FunctionalCI WHERE
name='$sCIName' to SELECT FunctionalCI WHERE
name='$sCIName' AND organization_name='$sOrgName'.Example:
php create_alarm.php https://itop.demo.com admin admin "HP Agents Status Degradated" Server4 "HP Agent" warning Demo




