Метрики для prometheus
Платформа генерирует метрики для Prometheus
Точка доступа к метрикам
Приложение платформы использует Spring-boot, в котором из коробки предоставляются метрики для Prometheus.
Для доступа к этим метрикам нужно использовать URL:
http://HOST:PORT/actuator/prometheus
Где HOST:PORT - хост и порт серверной части платформы - она называется MyBPM API
Если используется kubernetes, и в нём установлен prometheus-operator, то для доступа к метрикам платформы MyBPM необходимо настроить ServiceMonitor:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: mybpm-api-monitor
namespace: monitoring
labels:
release: prometheus
spec:
selector:
matchLabels:
app-group: mybpm-server
namespaceSelector:
matchNames:
- perf-test
endpoints:
- targetPort: 8080
scheme: http
path: /actuator/prometheus
interval: 1s
В этом yaml-файле необходимо поменять некоторые параметры, которые соответствуют Вашей установке. А именно:
параметр | описание |
---|---|
metadata.namespace | здесь нужно указать ваш namespace, который Вы используете для мониторинга |
spec.selector.matchLabels | здесь нужно указать фильтр для приложения платформы MyBPM, который у Вас настроен |
spec.selector.matchLabels | здесь нужно указать правильный namespace, где находиться платформа |
Остальные параметры можно оставить без изменений.
Описание метрик
application_started_time_seconds
Указывает время старта приложения
mybpm_go_process_threads_fast_count - Count of threads going fast processes
mybpm_go_process_threads_slow_count - Count of threads going slow processes
mybpm_go_process_threads_fast_limit - Limit of threads going fast processes - config RunProcessConfig.poolSizeFast
mybpm_go_process_threads_slow_limit - Limit of threads going slow processes - config RunProcessConfig.poolSizeSlow
Эти метрики показывают состояние механизма исполнения процессов
http_server_requests_seconds_count
http_server_requests_seconds_sum
По каждому сервису в системе показываются такие метрики.
*_count - указывает количество запусков этого сервиса
*_sum - указывает суммарное время работы этого сервиса
Обе эти метрики растут, поэтому нужно использовать производные по ним, чтобы определить количество запросов в секунду, и время работы тех или иных запросов.
mybpm_controller_calls_seconds_count
mybpm_controller_calls_seconds_sum
По каждому методу в каждом контроллере на платформе формируется две метрики описывающие количественную работу этих методов.
*_count - указывает количество запусков этого метода контроллера
*_sum - указывает суммарное время работы этого метода в секундах
Контроллер - это класс в Java предназначенный для обработки REST-сервисов. В нём есть методы, которы определённым образом помечены, и они исполняют конкретные запросы по сервисам.
mongodb_driver_pool_size
Указывает текущий размер пула соединений к MongoDB. Этот параметр позволяет отслеживать нагрузку на MongoDB.
logback_events_total{application="mybpm",level="info",} 4317071.0
logback_events_total{application="mybpm",level="debug",} 5.7446569E7
logback_events_total{application="mybpm",level="error",} 308.0
logback_events_total{application="mybpm",level="warn",} 4.0
logback_events_total{application="mybpm",level="trace",} 1.0376059E8
Показывают активность системы журналирования (логов).
jvm_memory_used_bytes{application="mybpm",area="heap",id="G1 Eden Space",} 1.74063616E8
jvm_memory_used_bytes{application="mybpm",area="nonheap",id="Metaspace",} 1.52550256E8
jvm_memory_used_bytes{application="mybpm",area="heap",id="G1 Survivor Space",} 1848448.0
jvm_memory_used_bytes{application="mybpm",area="nonheap",id="Compressed Class Space",} 1.8272688E7
jvm_memory_used_bytes{application="mybpm",area="heap",id="G1 Old Gen",} 1.65742592E8
jvm_memory_used_bytes{application="mybpm",area="nonheap",id="CodeCache",} 4.4950016E7
jvm_memory_committed_bytes{application="mybpm",area="heap",id="G1 Eden Space",} 4.1418752E8
jvm_memory_committed_bytes{application="mybpm",area="nonheap",id="Metaspace",} 1.54271744E8
jvm_memory_committed_bytes{application="mybpm",area="heap",id="G1 Survivor Space",} 2097152.0
jvm_memory_committed_bytes{application="mybpm",area="nonheap",id="Compressed Class Space",} 1.9202048E7
jvm_memory_committed_bytes{application="mybpm",area="heap",id="G1 Old Gen",} 2.44318208E8
jvm_memory_committed_bytes{application="mybpm",area="nonheap",id="CodeCache",} 5.9834368E7
Показывают количество используемой на данный момент памяти со стороны JVM.
process_files_open_files{application="mybpm",} 620.0
Количество открытых дескрипторов файлов на данный момент со стороны JVM.
process_cpu_usage{application="mybpm",} 0.07142857142857142
Показывает количество используемого времени платформой у процессора.