Detailed session monitoring


OpenVidu Pro brings the power of Elastic Stack. Events and monitoring stats are sent to Elasticsearch and can be visualized through Kibana.

OpenVidu Sessions dahsboard

This dashboard presents a summary of your video sessions and the server resources usage. That includes:

  • CPU and memory usage of the server
  • The number of session per day
  • The location of your users
  • The number of publishers and subscribers you have at any time
  • The total streamed minutes over time
  • Some low-level interesting stats related to the media connections

The last point includes things like the average time to select a pair candidate during the negotiation process, the average milliseconds your clients take to complete the ICE gathering process with OpenVidu Server, the ratio of successful and failed connections, and some WebRTC stats for your published and subscribed streams (Jitter, packet loss, Round-Trip-Time, target bitrate...)

All in all, this information will help you understand better the behavior and performance of your sessions.



OpenVidu Recordings dahsboard

This dashboard presents at a glance the status of your recordings. It includes information such as:

  • The total number of recordings per day
  • Average duration and size of your recorded files
  • The distributions of you recordings by duration and size
  • The ratio of recordings according to their output mode (COMPOSED or INDIVIDUAL recordings) and their recorded tracks (audio/video recordings)



Accessing Kibana

OpenVidu Pro serves Kibana through path /kibana. So, if you have deployed OpenVidu Pro with domain my.domain.com, you will be able to access OpenVidu Inspector through https://my.domain.com/inspector and Kibana through https://my.domain.com/kibana

This path is secured with Basic Auth, so when connecting to it for the first time you will have to enter the user and password specified when deploying OpenVidu Pro.



Creating your own visualizations and dashboards

The dashboards presented above, by default included in OpenVidu Pro, are just an example of what can be done thanks to Kibana. You can create your own visualizations, and set up your very own dashboards with them. To do so, you have available multiple events that OpenVidu Pro periodically stores in Elasticsearch, and you can then use them in Kibana to compose different types of graphs and other useful visual representations.

Each one of these events stored by OpenVidu Pro in Elasticsearch has an elastic_type field to identify the specific type of event. This field may be:

  • cdr: event of Call Detail Record. Can take multiple forms according to the type of event (see OpenVidu CDR)
  • kms: Kurento Media Server event. These events are always associated to one WebRTC endpoint (a publisher or a subscriber). Can take multiple forms according to the type of event (see Kurento docs)
  • monitoringStats: event of CPU, memory and network statistics usage of OpenVidu Pro host
  • webrtcStats: event of WebRTC statistics for each media endpoint established in Kurento Media Server
  • sessionSummary: summary of a session, stored once it is closed
  • recordingSummary: summary of a recording, stored once its session is closed
  • userSummary: summary of a user, stored once its session is closed
  • connectionSummary: summary of a connection, stored once its session is closed
  • publisherSummary: summary of a publisher, stored once its session is closed
  • subscriberSummary: summary of a subscriber, stored once its session is closed
{
  "sessionId": "weih6kaewklr4i05",
  "timestamp": 1554191848252,
  "startTime": 1554191765889,
  "duration": 82,
  "reason": "lastParticipantLeft",
  "event": "sessionDestroyed",
  "elastic_type": "cdr"
}