Перейти к содержанию

Prometheus

В этой статье

Информация

Prometheus – это открытая система мониторинга и оповещения, которая специализируется на сборе и обработке метрик из различных источников, таких как приложения, системы хранения данных, сервисы. Prometheus широко применяется для мониторинга облачных платформ, контейнерных сред (Kubernetes, Docker), а также традиционных ИТ-систем.

Prometheus. Основные возможности

  • Сбор метрик: Prometheus периодически опрашивает целевые службы и собирает метрики в виде временных рядов через HTTP с использованием протокола экспорта.
  • Хранение данных: собранные метрики хранятся локально на серверах Prometheus в оперативной памяти и на диске в собственном высокоэффективном формате.
  • Язык запросов PromQL: встроенный язык запросов PromQL позволяет гибко выбирать, агрегировать и объединять метрики.
  • Оповещения: гибкая система оповещений позволяет настраивать правила и отправлять уведомления при определенных условиях.
  • Федеративный подход: поддержка федеративного подхода позволяет объединять данные из нескольких экземпляров Prometheus для мониторинга крупномасштабных систем.
  • Открытый исходный код: Prometheus является открытым проектом с активным сообществом разработчиков и пользователей.

Особенности сборки

  • Возможна установка на Ubuntu 20.04+, AlmaLinux 8/9, RockyLinux 8/9;
  • Время на установку 15-20 минут вместе с OS;
  • Основные конфигурационные файлы Prometheus и Alertmanager находятся в директории /root/prometheus.

Веб-интерфейс будет доступен по ссылке: https://{Server_ID_from_Invapi}.hostkey.in

Начало работы после развертывания Prometheus

Управление сервисом осуществляется в панели управления Prometheus с веб-интерфейсом, ссылка на которую расположена в Invapi. Данные для авторизации, которые можно найти или во вкладке Info >> Tags панели управления сервером или в присланном e-mail:

  • Ссылка: в теге webpanel;
  • Логин и Пароль: приходят в письме на вашу электронную почту при сдаче сервера.

Стартовый экран Prometheus

Стартовая страница Prometheus представляет собой интуитивно понятный пользовательский интерфейс, содержащий множество функциональных элементов для эффективного мониторинга и анализа данных метрик. На этой странице вы найдете меню для навигации по ключевым разделам, настройки для персонализации интерфейса, поле для ввода запросов к данным метрик, а также панели для отображения результатов запросов в виде таблиц или графиков.

Пункты меню:

  • Alerts - показывает текущие предупреждения и оповещения, сгенерированные правилами Prometheus.
  • Graph - позволяет визуализировать и анализировать данные метрик с помощью графиков.
  • Status - отображает общее состояние системы мониторинга Prometheus и его компонентов.
  • Help - предоставляет доступ к документации и справочным материалам по Prometheus.

Настройки:

  • Use local time - показывать время на графиках в локальном часовом поясе пользователя.
  • Enable query history - сохранять историю запросов для повторного использования.
  • Enable autocomplete - включить автодополнение при вводе запросов.
  • Enable highlighting - подсвечивать синтаксис запросов.
  • Enable linter - включить проверку синтаксиса запросов.

Строка Expression (press Shift+Enter for newlines) с кнопкой Execute - поле для ввода запросов к данным метрик, позволяет использовать многострочные запросы и выполнять их нажатием кнопки Execute.

Пункты Table и Graph - позволяют выбрать способ отображения результатов запроса: в виде таблицы (Table) или графика (Graph).

Кнопки:

  • Add Panel - добавить новую панель для отображения результатов запроса.
  • Remove Panel - удалить существующую панель.

Примечание

Подробная информация по основным настройкам Zabbix server содержится в документации разработчиков.

Настройка Telegram бота

В данной установке имеется Telegram бот, который при необходимости можно сразу настроить для работы. Конфигурационные файлы бота находятся в директории /root/prometheus_bot. Подробная инструкция по настройке бота содержится в документации разработчиков.

Заказ сервера Prometheus с помощью API

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=order_instance" \
--data "token=" \
--data "deploy_period=" \
--data "deploy_notify=" \
--data "email=" \
--data "pin=" \
--data "id=" \
--data "os_id=" \
--data "root_pass=" \
--data "hostname=" \
--data "ssh_key=" \
--data "post_install_callback=" \
--data "post_install_script=" \
--data "reinstall_key=" \
--data "os_name=" \
--data "imitate_deploy=" \
--data "imitate_error=0" \
--data "own_os=" \
--data "jenkins_task=" \
--data "traffic_plan=" \
--data "invoice_relid=" \
--data "preset=" \
--data "location_name=" \