Prometheus Infrastructure Components

The monitoring system based on Prometheus utilizes the following components in the Virtuozzo Application Management implementation:

Prometheus

Prometheus is an open-source systems monitoring and alerting toolkit that collects and stores its metrics as time series data, meaning each metric is stored along with a timestamp and optional key-value pairs called labels. It offers a flexible query language (PromQL) for retrieving and analyzing these metrics.

Service: prometheus.service

Configurations directory: /etc/prometheus/

Data directory: /var/lib/prometheus/

The platform implements a dedicated Prometheus Monitor service to control and manage the component. The main functions of the service:

  • Targets configuration
  • Alerts configuration
  • Systemd service reconfiguration
  • Monitoring service state and make action for restart/reload in case of crash or configuration updates
  • Configure data retention period

Service: prometheus-monitor.service

Configurations directory: /etc/prometheus/prometheus-monitor/

Main configuration file: /etc/prometheus/prometheus-monitor/config.ini

Logs: /var/log/prometheus/prometheus-monitor.log

The Prometheus Dashboard provides an interface to easily and comfortably manage monitoring alerts, target hosts, and customize configs.

Prometheus Dashboard

Alertmanager

The Alertmanager is an open-source tool, part of the Prometheus monitoring system, that handles alerts sent by Prometheus server instances. It is responsible for deduplicating, grouping, and routing these alerts to the correct receiver integration (e.g., email or Slack). Alertmanager also takes care of silencing and inhibiting alerts to avoid spamming. In general, it allows configuring sophisticated rules for when and how alerts should be sent out. As a result, you can manage alerts efficiently and reduce noise, ensuring that the right people get notified at the right time.

Service: alertmanager.service

Configurations directory: /etc/alertmanager/

The platform implements a dedicated Alertmanager Monitor service to control and manage the component. The main functions of the service:

  • Generate Alertmanager configuration file and monitoring config state
  • Monitoring admin panel settings and apply alert source settings and general settings to configuration file
  • Systemd service reconfiguration
  • Monitoring service state and make action for restart/reload in case of crash or configuration updates

Service: alertmanager-monitor.service

Configurations directory: /etc/alertmanager/alertmanager-monitor/

Main configuration file: /etc/alertmanager/alertmanager-monitor/config.ini

Logs: /var/log/alertmanager/alertmanager-monitor.log

The Alertmanager Dashboard provides an interface to easily and comfortably manage alert notifications, create and view silences, and customize settings.

Alertmanager Dashboard

Grafana

Grafana is an open-source platform for monitoring and observability. It allows you to query, visualize, alert on, and understand your metrics no matter where they are stored. With Grafana, you can create, explore, and share dashboards that visualize real-time data from a wide variety of sources, including Prometheus, InfluxDB, Graphite, and ElasticSearch, among others. It supports a range of different data stores that are commonly used for storing metrics, logs, and traces. Grafana provides users with tools to set up dynamic and interactive dashboards that can be customized to display the desired metrics in various formats like charts, graphs, and tables. It also includes features for alerting, enabling users to receive notifications through various channels when data patterns indicate potential issues.

Service: grafana-server.service

Configurations directory: /etc/grafana/

The platform implements a dedicated Grafana Monitor service to control and manage the component. The main functions of the service:

  • Create predefined Grafana dashboards from template
  • Create predefined Grafana user dashboards from template (additional directory for user templates, which is not affected by redeploy)
  • Create Grafana Prometheus data-source config
  • Grafana and data-source health check
  • Reconfigure back data-source and dashboards in case of any changes
  • Monitoring grafana-server.service and take actions to restore service

Service: grafana-monitor.service

Configurations directory: /etc/grafana/grafana-monitor/

Main configuration file: /etc/grafana/grafana-monitor/config.ini

Logs: /var/log/grafana/grafana-monitor.log

The Grafana Dashboards provide interface to easily and comfortably manage monitoring alerts, target hosts, and customize configs. By default, you have two dashboards:

  • Application Management Alert Dashboard – shows current alerts in live mode

Grafana alert dashboard

  • Application Management Node-Exporter Metrics – tracks host nodes and containers metrics (CPU, RAM, disk, network usage, etc.)

Grafana metrics dashboard

What’s next?