Grafana is used for informative representation of Prometheus metrics. Providing visibility for Openshift, Grafana’s deployment configuration and ConfigMaps are located in the che-monitoring.yaml configuration file.

Configuring and deploying Grafana

Grafana is run on port 3000 with a corresponding service and route.

Three ConfigMaps are used to configure Grafana:

  • grafana-datasources — configuration for Grafana datasource, a Prometheus endpoint

  • grafana-dashboards — configuration of Grafana dashboards and panels

  • grafana-dashboard-provider  — configuration of the Grafana dashboard provider API object, which tells Grafana where to look in the file system for pre-provisioned dashboards

Grafana dashboards overview

Che provides several types of dashboards.

Che server dashboard

Use case: Che server-specific metrics related to Che components, such as workspaces or users.

monitoring che che server dashboard general panel
Figure 1. The General panel

The General panel contains basic information, such as the total number of users and workspaces in the Che database.

monitoring che che server dashboard workspace panel
Figure 2. The Workspaces panel
  • Workspace start rate — the ratio between successful and failed started workspaces

  • Workspace stop rate — the ratio between successful and failed stopped workspaces

  • Workspace Failures — the number of workspace failures shown on the graph

  • Starting Workspaces — the gauge that shows the number of currently starting workspaces

  • Average Workspace Start Time — 1-hour average of workspace starts or fails

  • Average Workspace Stop Time — 1-hour average of workspace stops

  • Running Workspaces — the gauge that shows the number of currently running workspaces

  • Stopping Workspaces — the gauge that shows the number of currently stopping workspaces

  • Workspaces started under 60 seconds — the percentage of workspaces started under 60 seconds

  • Number of Workspaces — the number of workspaces created over time

monitoring che che server dashboard users panel
Figure 3. The Users panel
  • Number of Users — the number of users known to Che over time

monitoring che che server dashboard tomcat panel
Figure 4. The Tomcat panel
  • Max number of active sessions — the max number of active sessions that have been active at the same time

  • Number of current active sessions — the number of currently active sessions

  • Total sessions — the total number of sessions

  • Expired sessions — the number of sessions that have expired

  • Rejected sessions — the number of sessions that were not created because the maximum number of active sessions was reached

  • Longest time of an expired session — the longest time (in seconds) that an expired session had been alive

monitoring che che server dashboard requests panel
Figure 5. The Request panel

The Requests panel displays HTTP requests in a graph that shows the average number of requests per minute.

monitoring che che server dashboard jsonrpc panel
Figure 6. The JsonRPC panel

The JsonRPC panel show how the JsonRPC stack is used for sending asynchronous messages between the Che server and clients (for example, the GWT IDE).

There are two endpoints - major and minor. The major endpoint is the primary endpoint. It is used for sending important messages, such as workspace statuses. The minor endpoint is typically used by workspace starting logs.

  • JsonRpcQueue — the number of queued tasks on executors

  • Rejected message/minute — the number of messages that will be rejected if executors and queue are full

  • Seconds Max — the maximum time of executing a task through the JsonRPC stack in the given moment of time

  • Seconds Sum — the summary time of executing a task through the JsonRPC stack in the given moment of time

  • Completed Task/minute — the number of completed tasks per minute

The Traces panel

This panel is functional only if Che tracing has been enabled. image::monitoring/monitoring-che-che-server-dashboard-traces-panel.png[link="/che/docs/images/monitoring/monitoring-che-che-server-dashboard-traces-panel.png"]

  • Workspace start Max — the max time of traces execution, involved in workspace start

  • Workspace start Avg — 1-hour average time of traces execution, involved in workspace start

  • OpenshiftInternalRuntime#startMachines Max — the max time of traces execution, involved in machine starting phase during the workspace start

  • OpenshiftInternalRuntime#startMachines Avg — 1-hour average time of trace, involved in machine starting phase during the workspace start

  • Workspace stop Max — the max time of traces execution, involved in workspace start

  • Workspace stop Avg — 1-hour average time of traces execution, involved in workspace stop

monitoring che che server dashboard workspace detailed panel
Figure 7. The Workspace detailed panel

The Workspace Detailed panel contains heat maps, which illustrate the average time of workspace starts or fails. The row shows some period of time.

Che server JVM dashboard

Use case: JVM metrics of the Che server, such as JVM memory or classloading.

monitoring che che server jvm dashboard
Figure 8. Che server JVM dashboard
monitoring che che server jvm dashboard quick facts
Figure 9. Quick Facts
monitoring che che server jvm dashboard jvm memory
Figure 10. JVM Memory
monitoring che che server jvm dashboard jvm misc
Figure 11. JVM Misc
monitoring che che server jvm dashboard jvm memory pools heap
Figure 12. JVM Memory Pools (heap)
monitoring che che server jvm dashboard jvm memory pools non heap
Figure 13. JVM Memory Pools (Non-Heap)
monitoring che che server jvm dashboard garbage collection
Figure 14. Garbage Collection
monitoring che che server jvm dashboard classloading
Figure 15. Classloading
monitoring che che server jvm dashboard buffer pools
Figure 16. Buffer Pools