Мониторинг
Сервис Copywala продукта Platform V CopyWala публикует прикладные метрики в формате Prometheus. В качестве примера для описания системных метрик используется их конечное представление в среде визуализации Grafana.
Настройка
В CopyWala реализован единый интерфейс Exporter, который позволяет настраивать и использовать модели экспорта данных: push model или pull model.
Push Model
Метрики отправляются из приложения посредством клиентского запроса к настроенному Pushgateway. Затем Prometheus извлекает эти данные для дальнейшего анализа.
Для push-based модели, помимо Prometheus, нужен настроенный Pushgateway-сервер. Воспользуйтесь инструкцией для установки и настройки Pushgateway-сервера.
Pull Model
Метрики собираются с помощью механизма scraping в Prometheus с сервера, на котором запущено приложение.
Параметры и примеры конфигураций
На этапе конфигурации укажите нужную модель и задайте требуемые параметры. Параметр address обязателен для заполнения независимо от выбранной модели, остальные параметры являются опциональными.
-
Push Model:
push_model:
jobname: "push"
address: "https://localhost:28158" # обязательно к заполнению
report_errors: false
frequency: 10s
timeout: 8s
process_collector_opts:
namespace: "test"
Параметры настроек для Push Model:
| Параметр | Тип параметра | Описание |
|---|---|---|
jobname | string | Тег экспортируемых метрик. По умолчанию используется значение «push» |
address | string | Адрес Pushgateway |
report_errors | boolean | Формировать HTTP-ответ для отображения ошибок сбора метрик |
frequency | string | Частота отправки метрик в Prometheus |
timeout | string | Тайм-аут передачи метрики в Prometheus |
namespace | string | Добавляемый префикс {$namespace}_ для имени каждой метрики |
-
Pull Model:
pull_model:
address: ":28156" # обязательно к заполнению
endpoint: "/metrics"
timeout: 8s
max_requests_in_flight: 20
log_errors: false
report_errors: false
process_collector_opts:
namespace: "test"
Параметры настроек для Pull Model:
| Параметр | Тип параметра | Описание |
|---|---|---|
address | string | Адрес, к которому будет обращаться Prometheus для сбора метрик |
endpoint | string | Endpoint, из которого Prometheus будет извлекать метрики, доступен по HTTP-протоколу. По умолчанию используется значение «/metrics» |
timeout | int | Максимальное время обработки ожидания ответа сервисом Prometheus |
max_requests_in_flight | int | Максимальное количество обрабатываемых запросов |
disable_compression | boolean | Выключение сжатия |
log_errors | boolean | Логирование ошибок сбора метрик |
report_errors | boolean | Формировать HTTP-ответ для отображения ошибок сбора метрик |
namespace | string | Добавляемый префикс {$namespace}_ для имени каждой метрики |
Метрики
Метрики производительности системы
Метрики, отражающие общую производительность приложения:
Название | Описание | Размерность | Основные атрибуты |
|---|---|---|---|
| Общее число считанных с диска байтов | Байты | Стандартные атрибуты Prometheus |
| Общее число записанных на диск байтов | Байты | Стандартные атрибуты Prometheus |
| Процессорное время приложения | Секунды | Стандартные атрибуты Prometheus |
| Количество байтов, занимаемых приложением в RAM | Байты | Стандартные атрибуты Prometheus |
Рабочие процессы
Метрики, относящиеся к рабочим потокам и процессам обработки запросов:
Название | Описание | Размерность | Основные атрибуты |
|---|---|---|---|
| Количество потоков на создание фрагментов данных | Количество потоков | Стандартные атрибуты Prometheus |
| Количество потоков на запись фрагментов данных | Количество потоков | Стандартные атрибуты Prometheus |
| Количество параллельных рабочих процессов (workers), выполняющих обработку WAL-файлов. Тип – Gauge | Шт. | Стандартные атрибуты Prometheus |
Время исполнения операций
Метрики, характеризующие продолжительность выполнения отдельных операций:
Название | Описание | Размерность | Основные атрибуты |
|---|---|---|---|
| Общее время создания последней РК | Миллисекунды | Стандартные атрибуты Prometheus |
| Распределение времени записи фрагмента данных данных на промежутки (0; 100], (100; 200], (200; 300], (300; 400], (400; +inf) | Миллисекунды | Стандартные атрибуты Prometheus |
Размер передаваемых данных
Метрики, фиксирующие размеры передаваемых пакетов данных:
Название | Описание | Размерность | Основные атрибуты |
|---|---|---|---|
| Размер переносимого фрагмента данных | Байты | Стандартные атрибуты Prometheus |
| Объем переданных данных | Байты | Стандартные атрибуты Prometheus |
Проверка работоспособности
При правильной настройке системы для работы с push model в логах появятся сообщения. Первое укажет на то, что выполняется отправка данных: trying to export metrics.
При правильной настройке системы для работы с pull model в приложении Prometheus/Grafana отобразятся метрики.