mybpm!
Скачать в формате: PDF pdf DOCX word

Метрики для 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

Показывает количество используемого времени платформой у процессора.