Monitoring Web Engagement Server
Web Engagement provides access to metrics and other key performance indicators (KPIs).
It also gives you the ability to configure Message Server alarms when a KPI passes its threshold value.
Web Engagement Metrics
Web Engagement 8.5.1 integrates with the third-party Metrics Java library to keep track of several Web Engagement metrics. The Metrics toolkit includes counters, timers, histograms, and gauges.
You will probably want to use Java Management Extensions (JMX) as your main way of reporting on these metrics. We show how to do that here. Or you may want to check out some of the other tools that are available.
You can also use REST—which is helpful for performance testing—or write your metrics to a log file or to the console.
Available Metrics
Web Engagement Server generates the following kinds of metrics:
- Cache usage statistics
- Event processing time statistics
- A flag for incorrect load balancing
- A flag for interactions that are running too long
Metric name | Description |
---|---|
<CacheName>.CacheSize | Returns the approximate number of entries in this cache |
<CacheName>.EvictionCount | Returns the number of times an entry has been evicted |
<CacheName>.HitCount | Returns the number of times that cache lookup methods have returned a cached value |
<CacheName>.LoadExceptionCount | Returns the number of times that cache lookup methods have thrown an exception while loading a new value |
<CacheName>.LoadSuccessCount | Returns the number of times that cache lookup methods have successfully loaded a new value |
<CacheName>.MissCount | Returns the number of times that cache lookup methods have returned an uncached (newly loaded) value |
<CacheName>.TotalLoadTime | Returns the total number of nanoseconds the cache has spent loading new values |
<CacheName>.isFull | Returns true if the cache is full; otherwise returns false |
monitoring.event.timer | Provide event-processing statistics |
lb.routing.correct | Returns true if a sticky cookie has a valid application name; otherwise returns false |
interaction.duration.exceeded | Returns true if a media interaction has been processed for too long; otherwise returns false |
The following cache names are available:
- DroolsSessionCache
- EventsCache
- IxnProfileCache
- VisitProfileCache
For example, the cache size for the events cache will be available as a metric called EventsCache.CacheSize.
Web Engagement Alarms
Web Engagement lets you use tools from the Genesys Management Layer for monitoring and controlling your applications. These tools can be an important factor in improving performance—especially alarms, which let you set performance thresholds for these key metrics:
- Event duration
- Incorrect load balancer routing
- Interaction duration
- VisitProfile cache size
- IxnProfile cache size
- Events cache size
- DroolsSession cache size
- Garbage collection latency
- Heap memory usage
Alarm Configuration
Alarm name | Alarm description | Alarm Condition object | Related configuration option | ||||
---|---|---|---|---|---|---|---|
Threshold type | Selection mode | Application type | Detect Event ID | Cancel Event ID | |||
Event Duration | Indicates that the time spent processing the event was greater than the specified limit. | predefined | Select by Application Type | Web Engagement Backend Server | 100601 | 100602 | EventDuration.threshold (metrics section) |
Incorrect load balancer routing | Indicates that a request from a specific client has come to a node that is different from the nodes to which previously served requests from that client were routed. | 100401 | 100402 | N/A | |||
Interaction duration | Indicates that a "short-lived" media interaction was detected. This may mean there is malicious traffic that can corrupt the results of the pacing algorithms. | 100501 | 100502 | interactionMinProcessingTime (pacing section) | |||
VisitProfile cache size | Indicates that the VisitProfile object cache is full. This usually means that the server needs more memory | 100305 | 100306 | N/A | |||
IxnProfile cache size | Indicates that the IxnProfile object cache is full. This usually means that the server needs more memory | 100303 | 100304 | N/A | |||
Events cache size | Indicates that the Event object cache is full. This usually means that the server needs more memory | 100301 | 100302 | N/A | |||
DroolsSession cache size | Indicates that the Drools session object cache is full. This usually means that the server needs more memory | 100201 | 100202 | N/A | |||
Heap Memory Usage | Defines the heap memory usage threshold value. This is the ratio of used heap memory to maximum heap memory. | 10001 | 10002 | HeapMemoryUsage.threshold (metrics section) | |||
GC Latency | Defines the garbage collection latency threshold value, in milliseconds, in relation to the last time the garbage was collected within the configured time interval. | 10005 | 10006 | GcLatency.threshold (metrics section) |
Alarm Actions
Alarm name | Detect alarm message example | Problem description | Solution | Cancel alarm message |
---|---|---|---|---|
Event Duration | [ERROR] Average event duration is too long %s | The average event processing time is too long. |
|
[INFO] Average event duration is back to normal |
Incorrect load balancer routing | [ERROR] Incorrect routing for request %s | Invalid sticky cookie in request |
|
[INFO] Routing is back to normal |
Interaction duration | [ERROR] Interaction duration %s is too short | The media interaction processing time is too short. Potential DDoS attack, due to an excessively large number of chat requests. | Resolve network security issues | [INFO] Interaction duration is back to normal |
VisitProfile cache size | [ERROR] VisitProfile Cache is full | The cache is not large enough to effectively process the actual number of visit profiles. |
|
[INFO] Cache size is back to normal |
IxnProfile cache size | [ERROR] IxnProfile Cache is full | The cache is not large enough to effectively process the actual number of engagement profiles. |
|
[INFO] Cache size is back to normal |
Events cache size | [ERROR] Events Cache is full | The cache is not large enough to effectively process the actual number of events. |
|
[INFO] Cache size is back to normal |
DroolsSession cache size | [ERROR] DroolsSession Cache is full | The cache is not large enough to effectively process the actual number of drools sessions. |
|
[INFO] Cache size is back to normal |