Перейти к основному содержимому

Мониторинг

Сервис 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:

ПараметрТип параметраОписание
jobnamestringТег экспортируемых метрик. По умолчанию используется значение «push»
addressstringАдрес Pushgateway
report_errorsbooleanФормировать HTTP-ответ для отображения ошибок сбора метрик
frequencystringЧастота отправки метрик в Prometheus
timeoutstringТайм-аут передачи метрики в Prometheus
namespacestringДобавляемый префикс {$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:

ПараметрТип параметраОписание
addressstringАдрес, к которому будет обращаться Prometheus для сбора метрик
endpointstringEndpoint, из которого Prometheus будет извлекать метрики, доступен по HTTP-протоколу. По умолчанию используется значение «/metrics»
timeoutintМаксимальное время обработки ожидания ответа сервисом Prometheus
max_requests_in_flightintМаксимальное количество обрабатываемых запросов
disable_compressionbooleanВыключение сжатия
log_errorsbooleanЛогирование ошибок сбора метрик
report_errorsbooleanФормировать HTTP-ответ для отображения ошибок сбора метрик
namespacestringДобавляемый префикс {$namespace}_ для имени каждой метрики

Метрики

Метрики производительности системы

Метрики, отражающие общую производительность приложения:

Название

Описание

Размерность

Основные атрибуты

disk_read_bytes_total counter

Общее число считанных с диска байтов

Байты

Стандартные атрибуты Prometheus

disk_write_bytes_total counter

Общее число записанных на диск байтов

Байты

Стандартные атрибуты Prometheus

process_cpu_seconds_total counter

Процессорное время приложения

Секунды

Стандартные атрибуты Prometheus

process_resident_memory_bytes gauge

Количество байтов, занимаемых приложением в RAM

Байты

Стандартные атрибуты Prometheus

Рабочие процессы

Метрики, относящиеся к рабочим потокам и процессам обработки запросов:

Название

Описание

Размерность

Основные атрибуты

reader_workers_no gauge

Количество потоков на создание фрагментов данных

Количество потоков

Стандартные атрибуты Prometheus

writer_workers_no gauge

Количество потоков на запись фрагментов данных

Количество потоков

Стандартные атрибуты Prometheus

wal_writer_workers_no

Количество параллельных рабочих процессов (workers), выполняющих обработку WAL-файлов. Тип – Gauge

Шт.

Стандартные атрибуты Prometheus

Время исполнения операций

Метрики, характеризующие продолжительность выполнения отдельных операций:

Название

Описание

Размерность

Основные атрибуты

total_time_executing_milliseconds gauge

Общее время создания последней РК

Миллисекунды

Стандартные атрибуты Prometheus

upload_request_duration_milliseconds histogram

Распределение времени записи фрагмента данных данных на промежутки (0; 100], (100; 200], (200; 300], (300; 400], (400; +inf)

Миллисекунды

Стандартные атрибуты Prometheus

Размер передаваемых данных

Метрики, фиксирующие размеры передаваемых пакетов данных:

Название

Описание

Размерность

Основные атрибуты

part_payload_size gauge

Размер переносимого фрагмента данных

Байты

Стандартные атрибуты Prometheus

size_send_bytes_total counter

Объем переданных данных

Байты

Стандартные атрибуты Prometheus

Проверка работоспособности

При правильной настройке системы для работы с push model в логах появятся сообщения. Первое укажет на то, что выполняется отправка данных: trying to export metrics.

При правильной настройке системы для работы с pull model в приложении Prometheus/Grafana отобразятся метрики.