4 Introduction to Monitoring and Visualization

This chapter provides information about the service mesh visualization and monitoring components installed when you deploy the Istio module. The components are:

  • Prometheus: Prometheus is the time-series database that monitors and gathers metrics about the Kubernetes cluster.

  • Grafana: Grafana can be used to monitor and visualize the time-series data stored in Prometheus. Grafana enables you to visually query and monitor the network traffic and services in your Kubernetes cluster. Grafana includes browser-based dashboards to visualize the cluster metrics gathered from Prometheus.

    Note:

    Prometheus and Grafana are automatically configured to provide standard metrics and dashboards for the Istio module. Persisting custom or manual configuration of these components is not possible.

About Grafana and Prometheus

Grafana is an open-source platform for monitoring the performance of your Kubernetes cluster. It contains dashboards that allow you to visualize the real-time metrics of the cluster which are stored in the Prometheus time-series database.

Time-series data is a sequence of values ordered by time. It measures how these values change over time. Examples of time-series data include self-driving cars collecting information about their local environments continually, homes monitoring themselves to regulate temperature or identify intruders, or a police department tracking its vehicles for efficiency purposes.

Grafana defines a data source to integrate with Prometheus. A data source is Grafana's link to this type of database. By using a data source for Prometheus in Grafana, Grafana can retrieve, analyze, monitor, and visualize the metrics that are stored in a Prometheus time-series database.

The following architectural diagram illustrates how Grafana uses the data source to integrate with Prometheus. As a result, Grafana can monitor and visualize the metrics that are stored in the database.

Figure 4-1 Architectural Diagram for Integrating a Time-Series Database (Prometheus) with Grafana


This architectural diagram illustrates how Grafana can use a data source to integrate with Prometheus. As a result, Grafana can monitor and visualize the metrics that are stored in the database.

Grafana is based on a stable release of the upstream Grafana project. Differences between Oracle versions of the software and upstream releases are limited to Oracle specific fixes and patches for specific bugs.

For upstream Grafana documentation, see the upstream documentation at:

https://grafana.com/docs/

For more information about Grafana, see the upstream documentation at:

https://grafana.com

Grafana Components

This section contains information about the components in Grafana that are used to monitor and visualize the metrics that are stored in a Prometheus database.

Data Source

The data source is Grafana's link to Prometheus. Grafana contains out-of-the-box support to connect to Prometheus that you can use to monitor and visualize the metrics in your Oracle Cloud Native Environment. Grafana refers to a connection to this type of database as a data source.

Query Editor

Grafana has a query editor that exposes the capabilities of your data source and allows you to query the metrics that it contains. Grafana provides a custom query editor for each data source, including the data source used to integrate Grafana with Prometheus. You can use the query editor to structure queries that allow you to visualize the metrics that are stored in the Prometheus database.

Panel

The panel is the main element in Grafana used to visualize metrics from Prometheus. Each type of panel has its own query editor that allows you to fine-tune the data that you want to visualize.

There are several panel types, including Graph, Singlestat, Table, Text, and Dashboard List. In this book, you use the Graph panel. This is the main panel type in Grafana and it provides a rich set of graphing options.

For more information about the other panel types, see the upstream documentation at:

https://grafana.com/docs/grafana/latest/panels-visualizations/

Dashboard

A dashboard is a grouping of panels prearranged into rows. A row is the divider between panels.

User

A user has an account in Grafana. A user is granted permissions in Grafana based on the following roles:

  • Admin: An admin has superuser permissions in Grafana, and can do everything, including adding and editing data sources, generating queries for the data sources, and creating and modifying dashboards.

  • Editor: An editor has limited permissions in Grafana. Although an editor can create and modify dashboards, they cannot create or edit data sources, or generate queries for the data sources.

  • Viewer: A viewer has read-only access to the components in Grafana. For example, a viewer can view data sources and dashboards, but cannot modify them.

For more information about the Admin, Editor, and Viewer roles, see the upstream documentation at:

https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/