# Kubernetes: метрики кластера

Страница перечисляет группы метрик, которые собирает кластер Global ERP в Kubernetes.
Пороговые значения и признаки проблем приведены отдельно в разделе [Пороги метрик](020_metrics_thresholds.md).

Кластер Global ERP собирает во внутреннем Prometheus следующие группы метрик:
- [метрики сервера приложений](https://docs.global-system.ru/as/dev/spec/services/telemetry/index.html#id13)
- [метрики JVM (Opentelemetry SDK)](https://github.com/open-telemetry/semantic-conventions/blob/0887921aed44ea6fb818e9dc026b4d8ff8cabe5f/specification/metrics/semantic_conventions/runtime-environment-metrics.md#jvm-metrics)
- [метрики Kubernetes](https://kubernetes.io/docs/reference/instrumentation/metrics/)
- [метрики cAdvisor](https://github.com/google/cadvisor/blob/master/docs/storage/prometheus.md)
- метрики агентов
- метрики планировщика заданий

## Метрики агентов

- gc_workload_percent - процессорное время, потраченное на выполнение сборщика мусора Java
- cpu_usage_percent - общая загрузка процессора
- cpu_wait_percent - процессорное время, потраченное на простой
- cpu_cpu_guest_percent - процессорное время, потраченное на работу виртуального процессора
- cpu_system_percent - процессорное время, потраченное выполнение системных вызовов
- cpu_user_percent - процессорное время, потраченное на выполнение приложений
- container_volume_size_byte - текущий размер смонтированного эфемерного хранилища
  Лейблы:
  - container - имя контейнера
  - mount_point - точка монтирования хранилища
  - name - наименование хранилища

- container_volume_limit_byte - текущий лимит смонтированного эфемерного хранилища
  Лейблы:
  - container - имя контейнера
  - mount_point - точка монтирования хранилища
  - name - наименование хранилища

- systemagent_health_check - доступность внутренних сервисов контейнера системного агента
- system_component_is_alive - доступность компонентов системы
  Лейблы:
  - name - имя компонента

- system_nfs_volume_is_alive - доступность подключенных nfs хранилищ
  Лейблы:
  - name - имя хранилища

- system_nfs_volume_use_percent - размер занятого места на nfs хранилище
  Лейблы:
  - name - имя хранилища
  - source - путь к хранилищу

Общие лейблы для всех метрик:
- namespace - имя неймспейса, в котором развёрнут под.
- pod - имя пода
- program_name - имя приложения (globalserver|globalscheduler)
- project_name - имя контура


## Метрики планировщика заданий

- scheduler_is_alive - доступность планировщика
- scheduler_start_date - дата старта планировщика (Datetime ISO)
- scheduler_thread_pool_size - размер неконкурентного пула
- scheduler_thread_pool_used - заполненность неконкурентного пула
- scheduler_last_acquire_job_time - время последнего получения списка заданий из БД (Datetime ISO)
- scheduler_avg_job_acquire_time - среднее время между получениями заданий из БД (в миллисекундах)
- scheduler_server_request_count - общее количество запросов к серверу (выполнения заданий)
- scheduler_failed_server_request_count - общее количество ошибок при запросах к серверу (без ошибок части сервера при выполнении заданий)
- scheduler_are_keys_convegent - соответствие приватного (в секретах Kubernetes) и публичного (в БД) ключей шедулера

Общие лейблы для всех метрик:
- namespace - имя неймспейса, в котором развёрнут под.
- pod - имя пода
- project_name - имя контура
