<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://all.docs.genesys.com/index.php?action=history&amp;feed=atom&amp;title=PEC-CAB%2FCurrent%2FCABPEGuide%2FObservability</id>
	<title>PEC-CAB/Current/CABPEGuide/Observability - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://all.docs.genesys.com/index.php?action=history&amp;feed=atom&amp;title=PEC-CAB%2FCurrent%2FCABPEGuide%2FObservability"/>
	<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=PEC-CAB/Current/CABPEGuide/Observability&amp;action=history"/>
	<updated>2026-04-17T09:12:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=PEC-CAB/Current/CABPEGuide/Observability&amp;diff=115290&amp;oldid=prev</id>
		<title>Corinneh: Published</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=PEC-CAB/Current/CABPEGuide/Observability&amp;diff=115290&amp;oldid=prev"/>
		<updated>2022-01-12T19:35:57Z</updated>

		<summary type="html">&lt;p&gt;Published&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ArticlePEServiceObservability&lt;br /&gt;
|ConfigureMetrics=The metrics that are exposed by Genesys Engagement Service (GES) are available by default. No further configuration is required in order to define or expose these metrics. You cannot define your own custom metrics.&lt;br /&gt;
&lt;br /&gt;
The Metrics page linked to {{Link-SomewhereInThisVersion|manual=CABPEGuide|topic=Observability|anchor=MetricsLinks|display text=above}} shows some of the metrics GES exposes. You can also query Prometheus directly or via a dashboard to see all the metrics available from GES.&lt;br /&gt;
|AboutMonitoring=The GES/Callback metrics are divided into three categories:&lt;br /&gt;
&lt;br /&gt;
*Metrics that have to do with the internal business logic of GES: This includes metrics that measure things like the number of callbacks booked, the number of click-to-call requests booked, callback monitor performance, and API usage.&lt;br /&gt;
*Metrics that measure the performance of GES: Disk, memory, and CPU usage, event loop lag, request handling times, and the health of connections to downstream services such as Redis, PostGres, GWS, ORS, and others.&lt;br /&gt;
*Alarms-type metrics, or alerts: These metrics are boolean flags that raise and lower whenever certain conditions are met.&lt;br /&gt;
&lt;br /&gt;
Watching how the metrics change over time helps you understand the performance of a given GES deployment or pod. The {{Link-SomewhereInThisVersion|manual=CABPEGuide|topic=CallbackMetrics|anchor=samplepromexpressions|display text=sample Prometheus expressions}} show you how to use the basic metrics to gain valuable insights into your callback-related activity.&lt;br /&gt;
&lt;br /&gt;
====Health metrics====&lt;br /&gt;
Health metrics – that is, those metrics that report on the status of connections from GES to dependencies such as Tenant Service (ORS), GWS, Redis, and Postgres – are implemented as a gauge that toggles between &amp;quot;0&amp;quot; and &amp;quot;1&amp;quot;. For information about gauges, see the [https://prometheus.io/docs/concepts/metric_types/ Prometheus Metric types documentation]. When the connection to a service is down, the metric is &amp;quot;1&amp;quot;.  When the service is up, the metric is &amp;quot;0&amp;quot;. Also see {{Link-SomewhereInThisVersion|manual=CABPEGuide|topic=Observability|anchor=AlertsLinks|display text=Alerting}}.&lt;br /&gt;
|AlertsDefined=Yes&lt;br /&gt;
|Alerting=In a Kubernetes deployment, GES relies on Prometheus and Alertmanager to generate alerts. These alerts can then be fowarded to a service of your choice (for example, PagerDuty).  &lt;br /&gt;
&lt;br /&gt;
One of the key things to understand about alerts in GES is that, while GES leverages Prometheus, the application manually triggers alerts when certain criteria are met. This internal alert is then turned into a counter that is incremented each time the conditions to trigger the alert are met. The counter is available on the &amp;lt;tt&amp;gt;/metrics&amp;lt;/tt&amp;gt; endpoint. Prometheus rules capture the metric data and trigger the alert on Prometheus; also see {{Link-SomewhereInThisVersion|manual=CABPEGuide|topic=Observability|anchor=ConfigureAlerts|display text=Configure alerts}}. For more information about counters, see the [https://prometheus.io/docs/concepts/metric_types/ Prometheus Metric types documentation].&lt;br /&gt;
&lt;br /&gt;
Because alerts are implemented as counters in GES, you can leverage metrics to analyze how the counters increase over time for a given deployment or pod. For a list of helpful Prometheus expressions to use for this purpose, see {{Link-SomewhereInThisVersion|manual=CABPEGuide|topic=CallbackMetrics|anchor=samplepromexpressions|display text=Sample Prometheus expressions}}. &lt;br /&gt;
&lt;br /&gt;
The following example shows an alert used in an Azure deployment; an increase in instances of the alert firing over a certain period of time triggers the Prometheus alert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
- alert: GES_RBAC_CREATE_VQ_PROXY_ERROR&lt;br /&gt;
annotations:&lt;br /&gt;
  summary: &amp;quot;There are issues managing VQ proxy objects on {{ $labels.pod }}&amp;quot;&lt;br /&gt;
labels:&lt;br /&gt;
  severity: info&lt;br /&gt;
  action: email&lt;br /&gt;
  service: GES&lt;br /&gt;
expr: increase(RBAC_CREATE_VQ_PROXY_ERROR[10m]) &amp;gt; 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Health alerts in GES work a little differently. They are gauges, rather than counters. The gauge toggles between &amp;quot;0&amp;quot; and &amp;quot;1&amp;quot;; &amp;quot;1&amp;quot; indicates that the service is down and &amp;quot;0&amp;quot; indicates that the service is up. Because GES has an automatic health check that runs approximately every 15-20 seconds, the health alerts are generated when a connection has been in the DOWN state for a given period of time. The following example shows the ORS_REDIS_DOWN alert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
- alert: GES_ORS_REDIS_DOWN&lt;br /&gt;
        expr: ORS_REDIS_STATUS &amp;gt; 0&lt;br /&gt;
        for: 5m&lt;br /&gt;
        labels:&lt;br /&gt;
          severity: critical&lt;br /&gt;
          action: page&lt;br /&gt;
          service: GES&lt;br /&gt;
        annotations:&lt;br /&gt;
            summary: &amp;quot;ORS REDIS Connection down for {{ $labels.pod }}&amp;quot;&lt;br /&gt;
            dashboard: &amp;quot;See GES Performance &amp;gt; Health and Liveliness to track ORS Redis Health over time&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|ExtConfigAlertsBoilerplate=Yes&lt;br /&gt;
|Logging=For solution-level documentation about logging, see {{SuiteLevelLink|logging}}.&lt;br /&gt;
&lt;br /&gt;
GES outputs logs to standard output (stdout).&lt;br /&gt;
&lt;br /&gt;
GES log size is highly dependent on usage. A high-traffic enterprise that accepts many callbacks daily will have much larger log sizes than an enterprise with only a handful of callbacks each day. For your reference, a single Create Callback operation, invoked from the Callback UI, generates 16 log messages in 1 second at full trace level. Therefore, at a rate of 10 callbacks/second, there are 160 log messages per second.&lt;br /&gt;
&lt;br /&gt;
You can make changes to logging settings using the Helm values file. For information about the &amp;lt;tt&amp;gt;log&amp;lt;/tt&amp;gt; values included in the Helm charts, see the {{Link-SomewhereInThisVersion|manual=CABPEGuide|topic=Configure|anchor=configmap|display text=configMap section}}.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Corinneh</name></author>
		
	</entry>
</feed>