System Management Notification Server Configuration
Notification Server site.config File
- The kernel object is used for configuration in a High Availability environment.
- The notification_receiver object indicates the number of seconds to wait before displaying a "lost heartbeat" status for a component whose heartbeat cannot be detected.
- The lager object is used for logging.
- The web_monitor object is used for monitoring the status of Virtual Hold web services (such as the Platform ToolKit and VXML Interaction Server).
[
{kernel, [
{distributed, [
{notification_receiver_impl,100,[{'notification_receiver_node@server1.domain.local','notification_receiver_node@server2.domain.local'}]}
]},
{sync_nodes_optional, ['notification_receiver_node@server2.domain.local']},
{sync_nodes_timeout, 500}
]},
{notification_receiver, [{version, 2}, {heartbeat_timeout_threshhold_seconds, 15}]},
{lager, [
{handlers, [
{lager_console_backend, info},
{lager_file_backend, [{file,"log/debug.log"},{level,debug},{size,10485760},{date,"$D0"},{count,5}]},
{lager_file_backend, [{file,"log/info.log"}, {level,info}, {size,10485760},{date,"$D0"},{count,5}]},
{lager_file_backend, [{file,"log/error.log"},{level,error},{size,10485760},{date,"$D0"},{count,5}]}
]}
]},
{web_monitor, [
{web_service_list, [
[ {display_name, <<"Platform Toolkit">>}, {url, "http://localhost/VHTPlatformWS-v4/VHTPlatformWS.asmx"},
{poll_period_seconds, 5}, {request_timeout_seconds, 1}, {max_missed, 3}] ] ]}
]
},
{web_external_list, [
% [ {display_name, <<"VIS">>}, {url, "http://<SERVERIP>:<SERVERPORT>/<VIS_APP>/PlatformSupport_TestHarness/Begin/?"},
% {poll_period_seconds, 60}, {request_timeout_seconds, 1}, {max_missed, 2}, {instance_name, "VIS"}, {server_name,"SERVERNAME"}]
]
}
]}
].
The kernel object is not present in Standalone environments.
Configuring Log Files
The lager object specifies how the Notification Server log files are handled. It includes:
- Path to the locations where the log files are stored
- Level of logging output to each log file
- Maximum size of each log file
- Format for the date
- Number of files stored in each log location
The Notification System service must be stopped and restarted for changes to take effect.
Configuring the Web Monitor
The Web Monitor periodically polls the Platform ToolKit (and optionally VXML Interaction Server) in order to report its status in System Management along with the other system components.
The web_monitor object in the site.config file contains log file settings for the web monitor component. It also contains a list of the web services that will be monitored by System Management (Platform ToolKit and optionally VXML Interaction Server).
- The Virtual Hold installer will automatically install the web monitor on each Management instance and will create the entries for the vht_logger_options and web_service_list.
- If you want to monitor the VXML Interaction Server, you must manually add it in the web_external_list section. See Monitoring Additional Web Services, below.
Logging (vht_logger_options)
The vht_logger_options element contains the path to the web monitor log file. This element is automatically added for each Management instance by the Virtual Hold installer.
Setting | Definition |
---|---|
base_log_file_path | The path to the location where the web monitor log file is stored. |
Monitoring Local Web Services (web_service_list)
The web_service_list element contains settings for monitoring the Platform ToolKit. This data is automatically added by the Virtual Hold installer. It will include any copy of the Platform ToolKit which has been installed on this Management server.
Setting | Definition |
---|---|
display_name | The name of the service to be monitored, such as "Platform ToolKit". This component name will display in the System Management interface. |
url | The url of the service to be monitored. By default, this path will use http. If you need to use https instead, edit this path after installation. |
poll_period_seconds | The frequency (in seconds) that the web monitor will poll the service. The poll_period_seconds will automatically adjust to one second greater than the configured value if poll_period_seconds was configured as less than or equal to the request_timeout_seconds (below). |
request_timeout_seconds | The number of seconds the web monitor should wait for a response from the request of the URL before it is considered a failed request. This value will automatically adjust to one second if the configured value is less than one. |
max_missed | The maximum number of consecutive failed requests beyond which the web service is considered unresponsive and reported in the System Management interface as stopped. |
Monitoring Additional Web Services (web_external_list)
The web_external_list element contains the list of VXML Interaction Server (VIS) web services that will be monitored by System Management. These services are in addition to the ones configured in the web_service_list section, above.
The site.config file contains sample code in the web_external_list element which has been "commented out" with percent signs (%). You must manually edit this code to add each copy of VIS. Follow these steps:
- Within the display_name, url, instance_name, and server_name, replace the sample entries in ALL CAPS with the actual entries.
- Remove the percent signs from the beginning of the two lines.
To add a second web service for monitoring:
- Copy the two lines you edited above and paste them directly under the original two lines.
- Add a comma to the end of the original second line (after the square bracket).
- Edit the display_name, url, instance_name, and server_name as needed.
Continue entering additional external services as needed. Be sure to add a comma at the end of each addition except the last one, to keep the syntax correct.
For redundant monitoring in a High Availability solution, make this change to the site.config file on both management instances. Be sure the configuration is identical.
Following is a sample site.config with two external instances of VIS:
{ web_external_list, [
[ {display_name, <<"VIS_External_1">>}, {url, "http://<SERVERIP1>:<SERVERPORT>/<VIS_APP1>/PlatformSupport_TestHarness/Begin/?"},
{poll_period_seconds, 60}, {request_timeout_seconds, 1}, {max_missed, 2}, {instance_name, "VIS External 1"}, {server_name,"SERVERNAME1"}],
[ {display_name, <<"VIS_External_2">>}, {url, "http://<SERVERIP2>:<SERVERPORT>/<VIS_APP2>/PlatformSupport_TestHarness/Begin/?"},
{poll_period_seconds, 60}, {request_timeout_seconds, 1}, {max_missed, 2}, {instance_name, "VIS External 2"}, {server_name,"SERVERNAME2"}]
]
}
Setting | Definition |
---|---|
display_name | The name of the external service to be monitored, such as "VXML Interaction Server". This component name will display in the System Management interface. |
url | The url of the external service to be monitored. |
poll_period_seconds | The frequency (in seconds) that the web monitor will poll the external service. The poll_period_seconds will automatically adjust to one second greater than the configured value if poll_period_seconds was configured as less than or equal to the request_timeout_seconds (below). |
request_timeout_seconds | The number of seconds the web monitor should wait for a response from the request of the URL before it is considered a failed request. This value will automatically adjust to one second if the configured value is less than one. |
max_missed | The maximum number of consecutive failed requests beyond which the external service is considered unresponsive and reported in the System Management interface as stopped. |
instance_name, server_name | These entries are displayed in the System Management interface. They are used to label the container that contains the external service name, in the format: instance_name(server_name) In the example above, the instance_name is "VIS Monitor", and the server_name is "Camilla". |
Configuring Distributed Notification Servers
Overview
- a list of all nodes supporting the notification server application
- a list of all other nodes supporting the notification server application (the first list with the current node removed)
Configuring Distributed Notification Servers
- All participating Notification Servers
- notification_receiver_node@hosta.example.com
- notification_receiver_node@hostb.example.com
- All other Notification Servers
- notification_receiver_node@hostb.example.com
The configuration of each server is basically a cut-and-paste copy of the other with only a slight difference. The snyc_nodes_optional entry on one node will always indicate the other node.
- Configure the site.config file on each of the two Notification Servers per the above example.
- Restart the two Notification Servers.