Observability in WebRTC
Contents
Learn about the logs, metrics, and alerts you should monitor for WebRTC.
Monitoring
Private edition services expose metrics that can be scraped by Prometheus, to support monitoring operations and alerting.
- As described on Monitoring overview and approach, you can use a tool like Grafana to create dashboards that query the Prometheus metrics to visualize operational status.
- As described on Customizing Alertmanager configuration, you can configure Alertmanager to send notifications to notification providers such as PagerDuty, to notify you when an alert is triggered because a metric has exceeded a defined threshold.
The services expose a number of Genesys-defined and third-party metrics. The metrics that are defined in third-party software used by private edition services are available for you to use as long as the third-party provider still supports them. For descriptions of available WebRTC metrics, see:
See also System metrics.
Enable monitoring
The WebRTC service uses a PodMonitor custom resource definition (CRD). Monitoring is not enabled in the WebRTC service by default. To enable monitoring and expose WebRTC metrics and alerts, you must modify the Helm chart values. Set the following parameters in the values.yaml file to true:
- monitoring.enabled
- monitoring.prometheusMetrics
- monitoring.prometheusAlerts
For information about overriding Helm chart values before deployment, see Overriding Helm chart values.
Service | CRD or annotations? | Port | Endpoint/Selector | Metrics update interval |
---|---|---|---|---|
WebRTC Gateway Service | PodMonitor | 10052 | /metrics | 30s |
Configure metrics
No further configuration is required in order to define or expose these metrics.
Alerting
Private edition services define a number of alerts based on Prometheus metrics thresholds.
For descriptions of available WebRTC alerts, see:
Configure alerts
Private edition services define a number of alerts by default (for WebRTC, see the pages linked to above). No further configuration is required.
The alerts are defined as PrometheusRule objects in a prometheus-rule.yaml file in the Helm charts. As described above, WebRTC does not support customizing the alerts or defining additional PrometheusRule objects to create alerts based on the service-provided metrics.
Logging
Refer to the Logging topic for information on configuring logging for WebRTC.