Installing Alarm Server

Use

Alarm Server is a background application for converting and transferring alarms to third-party systems. It receives XML alarms from HAC nodes (or other applications), and filters and converts them into SMS, e-mail and/or SNMP alarms towards predefined recipients.

As of 1608, Alarm Servers can be configured also to monitor health status of HACs, and thus, make sure that HAC is alive to monitor and manage other servers.

Note:
  • Alarm server can send messages only when the corresponding messaging function is installed and configured in the system, otherwise messages are not sent.

  • Do not process minor alarms unless really required. Processing minor errors may cause overload in EMailSender or SMSServer, and may impair their functionality.

To install Alarm Server, make sure you do all these steps, they are described in detail below:

Tenant systems:

  1. Install Alarm Server in its own virtual unit with the Alarm Server VU template. If you place it in the same VU with operational modules, if Alarm Server fails, for example because of overload, it may affect the operational modules in the same VU, or vice versa.

    Enable at least one type of messaging and define at least one recipient.

    If there is a Central Alarm Server, make sure you define the Alarm Forwarding Settings.

  2. Enable using alarm server on each HAC Node.

  3. Configure health status monitoring with a separate configuration file.

Central Alarm Server:

  1. Install Alarm Server in its own virtual unit with the Alarm Server VU template. Enable at least one type of messaging and define at least one recipient.

  2. Configure health status monitoring with a separate configuration file.

Prerequisites

Make sure the corresponding messaging function is installed and configured in the system:

  • For e-mails, either EMail Sender must be installed, or an external SMTP server is configured in SC System Services > E-Mail Settings.

  • For SMSs, SMS Server.

Procedure

Installing and Configuring Alarm Servers

  1. Start the IA application on the administration workstation and open the connected system model you made when creating HAC nodes.

  2. To add the Alarm Server virtual unit:

    • Right-click Virtual Units in the model tree and choose Add Virtual Unit.

    • Choose the base installation and the Alarm Server virtual unit template.

    • Give the virtual unit an appropriate name, for example ACME_Alarm_Server where ACME is replaced with the real customer name.

    • Enter a free virtual IP address.

    • Click OK.

  3. To define the software specific variables, right-click the VU you just created, choose Software, and click Edit.

    • Enter the information in the variable fields of the Element Properties pane.

      Groups/Explanations

      Variable

      Description

      Typically you can use the default values for these general variables.

      IP Address of the Virtual Unit

      Virtual IP address, for information only. Address cannot be changed as it is defined when the virtual unit is created.

      Alarm Server Port for Other Servers

      The TCP/IP port where Alarm Server listens for incoming alarms from other processes, such as High Availability Controller (HAC).

      Use Windows Authentication for Database Connections

      Specify whether Windows authentication should be used for database connections. The selection is on by default, and we recommend using it. With Windows authentication, you can leave database password fields empty. If you deselect the option, SQL logon is used, and you must enter database user name and password for each database connection, and they are saved in registry and log files as plain text.

      Log File Directory of the Virtual Unit

      Software running in the virtual unit uses this directory for their log files.

      Configuration Database Server Address or Name

      By default, the value defined in database installation is used automatically.

      Configuration Database Name

      By default, the value defined in database installation is used automatically.

      Configuration Database User Name

      By default, the value defined in database installation is used automatically.

      Configuration Database Password

      By default, the value defined in database installation is used automatically.

      Operative Database Server Address or Name

      By default, the value defined in database installation is used automatically.

      Operative Database Name

      By default, the value defined in database installation is used automatically.

      Operative Database User Name

      By default, the value defined in database installation is used automatically.

      Operative Database Password

      By default, the value defined in database installation is used automatically.

      Use Server Connection Security settings for:

      • Tenant: To verify the secure HTTPS connection between Alarm Server and other servers of a Contact Center system.

      • Central: If the server connection is secured in a tenant system, it must be secured also for the central alarm server.

      Internal Server Certificate in Use

      To secure the server-server connection with the internal server certificate, select this option. Added in 1608.

      Internal Server Certificate Common Name

      Common Name part of the Internal Server Certificate subject, Issued To.

      Note:

      The Subject Name of the certificate must match the DNS address of the alarm server. Consider also using Subject Alternative Name, for more information see section Certificates in Installation Guide.

      Added in 1608.

      Internal Server Certificate Issuer

      Optional Internal Server Certificate issuer name, Issued By. Added in 1608.

      Internal Server Certificate Store

      Internal Server Certificate store location. Added in 1608.

      Use Client Connection Security settings for:

      • Tenant: Secure connection to clients.

      • Central: Secure connection to tenant systems.

      Client Certificates Subject List (FQN)

      Define the subject (FQN) of client certificates/tenant system internal certificates:

      Enter each certificate with a string “C=value, O=value, OU=value, CN=value ”, and separate them with a semicolon.

      Note:

      If client certificates/tenant system certificates are not defined here, secure connection can be made also if the same Internal Server Certificate is found both on client and server, such as the Alarm Server and a HAC, and correspondingly on the Central Alarm Server and Tenant Alarm Servers.

      Added in 1608.

      Client Handshake Timeout (s)

      Define timeout for secure connection negotiation. The default value is 30 seconds. Added in 1608.

      Define the service account with Service Control variables.

      Use Group Managed Service Account (gMSA)

      Select whether to use Group Managed Service Account. If this option is checked, the password cannot be entered but an automatically created 120 characters long password is used. For more information, see Installation Guide > Group Managed Service Accounts (gMSA). Added in SP09.

      Alarm Service Logon User Account

      Specify the user account to be used with alarm service. Added in SP06.

      Password for Alarm Service Logon User Account

      Password for Alarm Service Logon User Account. Added in SP06

      If the checkbox Use Group Managed Service Account (gMSA) is checked, this field is disabled.

      To define e-mails being sent in error situations, define E-Mail Converter Settings.

      Enable E-Mail Converter

      Enable sending e-mails when Alarm Server detects an error.

      Process Minor Alarms

      Send e-mail when Alarm Server detects a minor error. Not selected by default.

      Changed in SP09.

      Process Major Alarms

      Send e-mail when Alarm Server detects a major error. Selected by default.

      Process Critical Alarms

      Send e-mail when Alarm Server detects a critical error. Selected by default.

      E-Mail From Address

      Define the sending e-mail address for Alarm Server messages

      E-Mail Recipients

      Define e-mail addresses where Alarm Server messages are sent to. Separate multiple addresses with a semicolon.

      E-Mail CC Recipients

      Define e-mail addresses where Alarm Server messages are copied to. Separate multiple addresses with a semicolon.

      E-Mail BCC Recipients

      Define e-mail addresses where Alarm Server messages are sent as blind copies. Separate multiple addresses with a semicolon.

      E-Mail Subject for Alarm Notification

      Define the subject of the message that is sent when an alarm occurs.The default value is ALARM NOTIFICATION: $SEVERITY$ alarm raised @ $HOST$

      E-Mail Subject for Cancelling Alarm

      Define the subject of the message that is sent when an alarm is cancelled. The default value is ALARM NOTIFICATION: alarm cancelled.

      E-Mail Converter's Alarm Processing Interval (s)

      Define how often the e-mail converter checks the internal alarm list, and sends a message if needed. Enter the number of seconds between 5 and 60. The default value is 10.

      To define SMS messages being sent in error situations, define the following SMS Converter Settings

      Enable SMS Converter

      Enable sending SMS when Alarm Server detects an error.

      Process Minor Alarms

      Send SMS when Alarm Server detects a minor error. Not selected by default.

      Process Major Alarms

      Send SMS when Alarm Server detects a major error. Selected by default.

      Process Critical Alarms

      Send SMS when Alarm Server detects a critical error. Selected by default.

      SMS Recipients

      Define numbers where Alarm Server messages are sent to. Separate multiple numbers with a semicolon. Use international format, for example +358101234567;+4915221234567.

      SMS Text for Alarm Notification

      Define the SMS text that is sent when an alarm occurs. The default value is $SEVERITY$ alarm raised @ $HOST$ ($TIME$), instance: $INSTANCE$, process: $PROCESS$ ($NAME$)

      SMS Text for Cancelling Alarm

      Define the SMS text that is sent when an alarm is cancelled. The default value is Alarm cancelled @ $HOST$ ($TIME$), instance: $INSTANCE$, process: $PROCESS$

      SMS Converter's Alarm Processing Interval (s)

      Define how often the SMS converter checks the internal alarm list, and sends a message if needed. Enter the number of seconds between 5 and 60. The default value is 10.

      To define SNMP Traps being sent in error situations, define the following SNMP Trap Converter Settings

      Enable SNMP Trap Converter

      Enable sending SNMP Traps when Alarm Server detects an error.

      Process Minor Alarms

      Send SNMP trap when Alarm Server detects a minor error. Not selected by default.

      Changed in SP09.

      Process Major Alarms

      Send SNMP trap when Alarm Server detects a major error. Selected by default.

      Process Critical Alarms

      Send SNMP trap when Alarm Server detects a critical error. Selected by default.

      SNMP Trap Destination Addresses

      Define the addresses where the Alarm Server messages are sent to. Separate multiple addresses with a semicolon, for example 1.0.0.1:1234;2.0.0.1:1234.

      SNMP Trap Configuration

      Select the trap type Use Generic Trap For All Alarms or Use Alarm Severity Based Traps. (the default value)

      SNMP Trap Converter's Alarm Processing Interval (s)

      Define how often the SNMP Trap converter checks the internal alarm list, and sends a message if needed. Enter the number of seconds between 5 and 60. The default value is 10.

      If there are more than one Alarm Server in the system, define Alarm Forwarding Settings as well.

      In a multi-tenant system, define the central Alarm Server that receives alarms from all tenants but does not forward them to others.

      Enable Forwarding Alarms to Other Alarm Servers

      Enable sending alarms to other Alarm Servers.

      Other Alarm Server Addresses

      Define the addresses of other Alarm Servers. Separate addresses with a semicolon, for example 1.0.0.1:1234;2.0.0.1:1234.

      In a multi-tenant system, between the central Alarm Server and tenants, the IP address definition for sending alarms does not work. Use DNS addresses instead.

    • Save the variables, instantiate the virtual unit on appropriate HAC nodes, and apply changes.

  4. Right-click each HAC node of the system, and select Deployment Variables for High Availability Controller > Alarm Server on the Element Properties pane, and define the following variables:

    Variable

    Description

    Enable Alarm Server Messages

    Enable informing Alarm Server via HTTP about error situations on HAC Node.

    IP Addresses for Alarm Server

    Enter the DNS address and port (the default port value is 21013) of the Alarm Server virtual unit, for example alarm.acme.com:21013. If you have several alarm servers in your system, enter all of them as name:port pairs separated with a semicolon. Make sure that DNS names are resolved to IP addresses by the DNS server, or manually by adding resolving in hosts file located under C:\Windows\System32\drivers\etc.

  5. Save the variables, and apply changes.

  6. Save the system model.

    To start the function, connect the system and choose Connection > Connect and wait until system model is synchronized between the HAC nodes, then choose Connection > Monitoring Mode.

Monitoring Health Status

Sinch Contact Center system is monitored and managed by HAC. As of 1608, alarm server can monitor HAC server health status to make sure HAC is still alive, and correspondingly, several tenant system alarm servers can be monitored by a central alarm server.

Figure 1. Monitoring Health Status


  • HACs send heartbeat messages every ten seconds to an Alarm Server.

  • Alarm Server may send heartbeat messages to a central Alarm Server, as defined in Alarm Forwarding Settings.

  • To be able to monitor health status, each Alarm Server must be configured with the keepalive_config.xml configuration file:

    1. Create a configuration file according to examples below. Typically, just define the HOSTS section.

      You can find basic examples in Examples_AlarmServer_keepalive_config_files.txt file in the Examples And Templates installation package.

    2. Save the file with a name keepalive_config.xml in the folder [Alarm Server VU]\etc.

Note:

If you change keepalive_config.xml configuration, restart alarm server.

Example: Configuring Tenant Alarm Server to Monitor HAC Health Status

See the example below:

  • GENERAL section assigns default values for parameters. If you define them separately for a host, the value overrides the common value.

    • When Alarm Server sends health status alarm it uses severity CRITICAL.

    • It sends the health status alarm KEEPALIVE FAIL to Central if it has not received heartbeat messages from HAC in 30 seconds (3 * 10s, heartbeat interval is 10s).

    • It sends health status alarm KEEPALIVE OK to Central when it has received 2 heartbeat messages from HAC in 20 seconds (2 * 10s)

  • HOSTS section defines the HAC server you want to monitor.

  • Define in the PROCESS section inside HOST with the value HAC that this configuration monitors HACs of the system. Added in 1611.

<CONFIG KEEPALIVE="SIMPLE">
<GENERAL>
<ACTIVERETRIES>3</ACTIVERETRIES>
<INACTIVERETRIES>3</INACTIVERETRIES>
<SEVERITY>CRITICAL</SEVERITY>
<INUSE>YES</INUSE>
</GENERAL>
<HOSTS>
<HOST ALIAS="Local HAC Server">
<NAME>MY-HAC-COMPUTER</NAME>
<INSTANCE>MY-HAC-INSTANCE</INSTANCE>
<PROCESS>HAC</PROCESS>
</HOST>
</HOSTS>
</CONFIG> 

Example: Configuring Central Alarm Server to Monitor Tenant Alarm Servers

  • To define the tenant Alarm Servers you want to monitor, add them in the HOSTS section of the configuration file of the central alarm server.

  • With INUSE YES/NO you can start and stop monitoring, without removing the entire configuration.

    In this example monitoring for Tenant 2 is temporarily switched off by overriding INUSE parameter. When it is in use it has 60 s reaction time to status changes (6*10s = 60 seconds, heartbeat interval is 10 s).

  • Define in the PROCESS section inside HOST with the value AlarmServer that this configuration monitors alarm servers of the system. Added in 1611.

<CONFIG KEEPALIVE="SIMPLE">
<GENERAL>
<ACTIVERETRIES>3</ACTIVERETRIES>
<INACTIVERETRIES>3</INACTIVERETRIES>
<SEVERITY>CRITICAL</SEVERITY>
<INUSE>YES</INUSE>
</GENERAL>
<HOSTS>
<HOST ALIAS="Tenant 1 Alarm Server">
<NAME>TENANT-1-COMPUTER</NAME>
<INSTANCE>Tenant1AlarmServer_VU</INSTANCE>
<PROCESS>AlarmServer</PROCESS>
</HOST>
<HOST ALIAS="Tenant 2 Alarm Server">
<NAME>TENANT-2-COMPUTER</NAME>
<INSTANCE>Tenant2AlarmServer_VU</INSTANCE>
<ACTIVERETRIES>6</ACTIVERETRIES>
<INACTIVERETRIES>6</INACTIVERETRIES>
<INUSE>NO</INUSE>
</HOST>
</HOSTS>
</CONFIG>